:root{color-scheme:dark;background:#000;font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;background:#000}.reader-display{position:relative;width:100%;height:100%;min-height:100dvh;background:#000;color:#f4f4f1;-webkit-user-select:none;user-select:none}.target{position:absolute;inset:0;pointer-events:none}.target-line{position:absolute;top:50%;left:5vw;right:5vw;height:1px;background:linear-gradient(to right,#777 0 36%,transparent 36% 64%,#777 64% 100%);opacity:.72}.target-tick{position:absolute;left:50%;width:1px;height:clamp(16px,6vh,42px);background:#aaa;transform:translate(-.5px)}.target-tick-top{bottom:calc(50% + clamp(38px,8vw,72px))}.target-tick-bottom{top:calc(50% + clamp(38px,8vw,72px))}.word{position:absolute;top:50%;left:50%;z-index:1;height:1.25em;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,12vw,116px);font-weight:600;line-height:1;letter-spacing:-.025em;text-rendering:geometricPrecision;transform:translate(-50%,-50%)}.word-before,.word-focus,.word-after{position:absolute;top:.11em;white-space:pre}.word-before{right:.31em;text-align:right}.word-focus{left:50%;width:.62em;color:#ff3b30;text-align:center;transform:translate(-50%)}.word-after{left:.31em}@media(max-height:320px){.word{font-size:clamp(36px,19vh,64px)}.target-tick-top{bottom:calc(50% + 42px)}.target-tick-bottom{top:calc(50% + 42px)}}.landing-page,.controls-page{min-height:100%;max-width:34rem;margin:auto;padding:2rem;color:#f4f4f1;font:16px system-ui,sans-serif;display:grid;gap:1rem;align-content:center}.landing-page{justify-items:center;text-align:center}.qr{width:min(280px,80vw);height:auto;border-radius:.5rem}label{display:grid;gap:.4rem}select,button{min-height:2.5rem;border-radius:.4rem;border:1px solid #777;padding:.4rem .7rem;font:inherit}select{background:#171717;color:inherit}button{background:#f4f4f1;color:#111;cursor:pointer}.control-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}output{min-height:2.5rem;padding:.7rem;border:1px solid #555;border-radius:.4rem}
