@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff)format("woff")}:root{--bg:#05081a;--text:#f2f2f2;--accent:#e8384f;--guide:#1c2238;--surface:color-mix(in srgb, var(--text) 5%, var(--bg));--surface-2:color-mix(in srgb, var(--text) 10%, var(--bg));--line:color-mix(in srgb, var(--text) 18%, var(--bg));--muted:color-mix(in srgb, var(--text) 66%, var(--bg));--scrim:color-mix(in srgb, var(--bg) 70%, transparent);--ui-font:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--ls:.035em;--controls-h:200px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--ui-font);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.5}body{overscroll-behavior:none;min-height:100dvh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=range]{appearance:none;cursor:pointer;--track:linear-gradient(to right, var(--accent) 0 var(--fill,0%), var(--line) var(--fill,0%) 100%);background:0 0;width:100%;height:28px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--track);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:0;border-radius:50%;width:18px;height:18px;margin-top:-7px}input[type=range]::-moz-range-track{background:var(--line);border-radius:2px;height:4px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:2px;height:4px}input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:18px;height:18px}input[type=checkbox]{appearance:none;border:2px solid var(--muted);cursor:pointer;background:0 0;border-radius:4px;place-content:center;width:20px;height:20px;display:inline-grid}input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}input[type=checkbox]:checked:after{content:"";border:solid var(--bg);border-width:0 2px 2px 0;width:5px;height:10px;transform:translateY(-1px)rotate(45deg)}::selection{background:var(--accent);color:var(--bg)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}h1,h2,h3{margin:0;line-height:1.2}.muted{color:var(--muted)}.button{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:15px;font-weight:700;display:inline-flex}.button:hover{border-color:var(--muted)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.button:disabled{opacity:.45;cursor:default}.text-button{min-height:44px;color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;padding:8px 4px;font-size:15px;font-weight:700;display:inline-flex}.text-button:hover{color:var(--text)}.text-button.danger{color:var(--accent)}.icon-button{width:44px;height:44px;color:var(--text);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-button:hover{background:var(--surface-2)}.icon-button.small{width:36px;height:36px}.button-row{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.stage{pointer-events:none;font-family:var(--word-font);font-size:var(--word-size);position:absolute;inset:0;overflow:hidden}.word{left:var(--axis-x);top:var(--axis-y);white-space:pre;width:200vw;letter-spacing:var(--ls);color:var(--text);font-kerning:none;grid-template-columns:1fr auto 1fr;line-height:1.2;display:grid;position:absolute;transform:translate(-50%,-50%)}.word-left{text-align:right}.word-pivot{color:var(--accent);padding-left:var(--ls)}.word-right{text-align:left}.guides{--guide-gap:calc(var(--word-size) * 1.2);--tick:calc(var(--word-size) * .32);position:absolute;inset:0}.guide-line{background:var(--guide);height:2px;position:absolute;left:0;right:0}.guide-top{top:calc(var(--axis-y) - var(--guide-gap))}.guide-bottom{top:calc(var(--axis-y) + var(--guide-gap))}.guide-tick{left:var(--axis-x);width:2px;height:var(--tick);background:var(--guide);position:absolute;transform:translate(-50%)}.guide-tick-top{top:calc(var(--axis-y) - var(--guide-gap))}.guide-tick-bottom{top:calc(var(--axis-y) + var(--guide-gap) - var(--tick) + 2px)}.reader{background:var(--bg);color:var(--text);position:fixed;inset:0;overflow:hidden}.surface{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.surface.calibrating{cursor:crosshair}.reader-top{padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));align-items:center;gap:8px;transition:opacity .25s;display:flex;position:absolute;top:0;left:0;right:0}.reader-title{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;text-align:center;flex:1;font-size:15px;font-weight:400;overflow:hidden}.reader-top-actions{display:flex}.chrome-hidden .reader-top,.chrome-hidden .controls{opacity:0;pointer-events:none}.chrome-hidden .surface{cursor:none}.controls{padding:24px max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:linear-gradient(to top, var(--bg) 75%, color-mix(in srgb, var(--bg) 0%, transparent));transition:opacity .25s;position:absolute;bottom:0;left:0;right:0}.controls>*{max-width:640px;margin-inline:auto}.progress-labels{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:14px;display:flex}.transport{justify-content:center;align-items:center;gap:12px;margin:6px auto 10px;display:flex}.play-button{background:var(--text);width:60px;height:60px;color:var(--bg);border:0;border-radius:50%;place-items:center;display:grid}.play-button svg{width:26px;height:26px}.speed{grid-template-columns:auto 1fr auto 104px;align-items:center;gap:8px;display:grid}.speed-readout{font-variant-numeric:tabular-nums;flex-direction:column;line-height:1.15;display:flex}.speed-readout strong{font-size:17px}.speed-readout span{font-size:13px}.context{width:min(640px,100% - 32px);left:50%;top:calc(var(--axis-y) + var(--word-size) * 1.2 + 16px);bottom:var(--controls-h);font-family:var(--word-font);padding:4px 0;font-size:19px;line-height:1.65;position:absolute;overflow-y:auto;transform:translate(-50%)}.context p{margin:0}.context-word{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:0;display:inline}.context-word:hover{color:var(--text)}.context-word.active{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:2px}.context .context-hint{font-family:var(--ui-font);color:var(--muted);margin-top:8px;font-size:13px}.calibration-hint,.end-note{background:var(--surface-2);text-align:center;border-radius:8px;width:max-content;max-width:calc(100% - 32px);padding:10px 16px;font-size:15px;position:absolute;left:50%;transform:translate(-50%)}.calibration-hint{bottom:max(32px, env(safe-area-inset-bottom))}.end-note{top:calc(var(--axis-y) + var(--word-size) * 1.2 + 16px)}.reader-missing{text-align:center;place-content:center;gap:16px;min-height:100dvh;padding:24px;display:grid}.sheet-backdrop{z-index:10;background:var(--scrim);position:fixed;inset:0}.sheet{width:min(520px,100%);max-height:75dvh;padding:16px 20px max(20px, env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--surface);border-bottom:0;border-radius:14px 14px 0 0;position:absolute;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.sheet-header,.settings-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sheet-header h2,.settings-header h2{font-size:20px}.goto-page{grid-template-columns:1fr auto;gap:8px;margin-bottom:16px;display:grid}.goto-page label{color:var(--muted);grid-column:1/-1;font-size:14px}.goto-page input,.paste textarea{border:1px solid var(--line);background:var(--bg);border-radius:8px;min-height:44px;padding:10px 12px;font-size:16px}.chapter-list{margin:0;padding:0;list-style:none}.chapter-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;width:100%;padding:12px 4px;display:block}.chapter-list button.current{color:var(--accent);font-weight:700}.settings{overscroll-behavior:contain;width:min(440px,100%);padding:max(12px, env(safe-area-inset-top)) 20px max(32px, env(safe-area-inset-bottom));border-left:1px solid var(--line);background:var(--surface);position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.settings-section{border-top:1px solid var(--line);padding:20px 0}.settings-section h3{margin-bottom:12px;font-size:17px}.field{margin-bottom:14px}.field label,.field-label{justify-content:space-between;gap:12px;margin-bottom:4px;font-size:15px;display:flex}.field output{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.toggle{cursor:pointer;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.toggle input{flex:none;width:20px;height:20px;margin:2px 0 0}.toggle small{color:var(--muted);font-size:13px;display:block}.note{color:var(--muted);margin:0 0 12px;font-size:14px}.segmented{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--line);background:0 0;min-width:52px;min-height:40px;padding:6px 14px}.segmented button:last-child{border-right:0}.segmented button.selected{background:var(--text);color:var(--bg);font-weight:700}.font-options,.theme-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.font-options button{border:1px solid var(--line);background:var(--bg);text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.font-options button.selected,.theme-swatch.selected{outline:2px solid var(--accent);outline-offset:1px}.font-sample{font-size:24px;line-height:1.2}.accent-letter{color:var(--accent)}.font-options small,.theme-swatch small{opacity:.8;font-size:12px}.theme-swatch{text-align:left;border:2px solid;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:76px;padding:10px 12px;display:flex}.theme-word{font-family:Times New Roman,Tinos,serif;font-size:22px}.custom-colors{grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0;display:grid}.color-field{align-items:center;gap:10px;font-size:15px;display:flex}.color-field input{border:1px solid var(--line);background:0 0;border-radius:6px;width:44px;height:32px;padding:0}.accent-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.accent-chip{border:2px solid var(--line);border-radius:50%;place-items:center;width:32px;height:32px;padding:0;display:inline-grid;position:relative}.accent-chip.selected{outline:2px solid var(--text);outline-offset:2px}.accent-chip.theme-accent{background:0 0;border-radius:16px;width:auto;padding:0 12px;font-size:13px}.accent-free{cursor:pointer;background:var(--surface-2);overflow:hidden}.accent-free input{opacity:0;cursor:pointer;position:absolute;inset:0}.contrast{color:var(--muted);margin:12px 0 0;font-size:14px}.contrast.warning{color:var(--text);border-left:3px solid var(--accent);background:var(--surface-2);padding:8px 12px}.stats-summary{margin:0 0 12px}.stats-bars{gap:4px;margin:0;padding:0;list-style:none;display:grid}.stats-bars li{font-variant-numeric:tabular-nums;grid-template-columns:64px 1fr 64px;align-items:center;gap:8px;font-size:13px;display:grid}.stats-date{color:var(--muted)}.stats-bar{background:var(--accent);border-radius:2px;min-width:2px;height:8px}.stats-value{text-align:right}.library{min-height:100dvh}.library-header{border-bottom:1px solid var(--line);height:168px;position:relative}.library-header .demo .stage{position:absolute}.library-settings{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));position:absolute}.library-main{max-width:680px;margin:0 auto;padding:28px 16px 64px}.library-title{margin-bottom:20px;font-size:28px}.import{gap:16px;margin-bottom:40px;display:grid}.dropzone{border:1.5px dashed var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:20px;display:flex}.dropzone p{flex:220px;margin:0;font-size:15px}.dropzone.dragging{border-color:var(--accent);background:var(--surface)}.status{color:var(--muted);margin:0}.error{border-left:3px solid var(--accent);background:var(--surface-2);margin:0;padding:10px 14px}.paste{gap:8px;display:grid}.paste label{font-weight:700}.paste textarea{resize:vertical;width:100%;line-height:1.5}.documents h2{margin-bottom:8px;font-size:20px}.document-list{margin:0;padding:0;list-style:none}.document{border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex}.document-open{text-align:left;background:0 0;border:0;flex:1;gap:4px;min-width:0;padding:14px 0;display:grid}.document-title{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:700;overflow:hidden}.document-meta{color:var(--muted);flex-wrap:wrap;gap:2px 14px;font-size:14px;display:flex}.document-progress{align-items:center;gap:10px;display:flex}.document-progress-bar{background:var(--line);border-radius:2px;flex:1;height:3px;overflow:hidden}.document-progress-bar span{background:var(--accent);height:100%;display:block}.document-percent{width:44px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.confirm-delete{align-items:center;gap:8px;font-size:14px;display:flex}@media (width<=480px){.speed{grid-template-columns:auto 1fr auto 88px}.reader-top .text-button span{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
