*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root[data-theme=dark]{--bg: #0d0d0d;--surface: #141414;--surface-hover: #1e1e1e;--text: #e4e4e4;--text-muted: #4a4a4a;--accent: #4f8ef7;--border: #222222;--slider-color: #2d5590}:root[data-theme=light]{--bg: #f2f2f2;--surface: #ffffff;--surface-hover: #e8e8e8;--text: #111111;--text-muted: #aaaaaa;--accent: #2563eb;--border: #d8d8d8;--slider-color: #2563eb}:root[data-theme=sepia]{--bg: #f4ecd8;--surface: #fdf6e3;--surface-hover: #eee8d5;--text: #433422;--text-muted: #839496;--accent: #b58900;--border: #d5ccb6;--slider-color: #b58900}:root[data-theme=dim]{--bg: #1a1b26;--surface: #24283b;--surface-hover: #2f3549;--text: #a9b1d6;--text-muted: #565f89;--accent: #7aa2f7;--border: #414868;--slider-color: #7aa2f7}:root[data-theme=high-contrast]{--bg: #000000;--surface: #000000;--surface-hover: #1a1a10;--text: #ffff00;--text-muted: #cccc00;--accent: #ffff00;--border: #ffff00;--slider-color: #ffff00}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);transition:background .2s,color .2s;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;min-height:56px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;gap:.75rem}.file-btn{cursor:pointer;padding:.4rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.82rem;font-weight:500;letter-spacing:.02em;-webkit-user-select:none;user-select:none;transition:opacity .15s;white-space:nowrap}.file-btn:hover{opacity:.85}.app-title{font-size:.95rem;color:var(--text-muted);font-family:ui-monospace,Cascadia Code,Courier New,monospace;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;order:-1;flex:1 1 auto;text-align:center}@media(max-width:480px){.header{justify-content:center}.app-title{width:100%;text-align:center;margin-bottom:-.25rem}.header-right{width:100%;justify-content:center;flex-wrap:wrap}.file-btn{width:100%;text-align:center}}:root[data-theme=dark] .app-title{color:#888}:root[data-theme=light] .app-title{color:#555}.header-right{display:flex;gap:.4rem}.icon-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:.35rem .65rem;font-size:1rem;color:var(--text);cursor:pointer;transition:background .15s;line-height:1}.icon-btn:hover:not(:disabled){background:var(--surface-hover)}.icon-btn:disabled{opacity:.25;cursor:default}.bmc-link{display:flex;align-items:center;flex-shrink:0}.bmc-img{height:36px;width:auto;display:block}.icon-btn-active{background:var(--surface-hover);border-color:var(--text-muted)}.text-view{flex:1;overflow-y:auto;padding:2rem 3rem;line-height:2;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;font-size:1rem;color:var(--text)}.text-word{cursor:pointer;border-radius:3px;padding:.1em .15em;margin:0 -.05em;transition:background .1s}.text-word:hover{background:var(--surface-hover)}.text-word-current{background:var(--accent);color:#fff}.display{flex:1;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;padding:2rem}.display:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--text-muted);opacity:.3;pointer-events:none}.display-inner{display:grid;grid-template-rows:1fr auto 1fr;align-items:center;width:100%;height:100%}.context-strip{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;font-size:.85rem;color:var(--text);text-align:center;padding:0 1rem;line-height:1.6;max-width:100%;transition:opacity .35s ease;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.context-strip:first-child{align-self:end;margin-bottom:2rem}.context-strip:last-child{align-self:start;margin-top:2rem}.context-playing{opacity:.15}.context-paused{opacity:.5}.word-wrap{display:flex;align-items:baseline;width:100%;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;color:var(--text);line-height:1.1}.word-left{flex:1;text-align:right;min-width:0}.word-focal{flex:0 0 auto;color:#e53935}.word-right{flex:1;text-align:left;min-width:0}.empty-hint{color:var(--text-muted);font-size:1rem;font-family:ui-monospace,monospace}.footer{background:var(--surface);border-top:1px solid var(--border);padding:.75rem 1.5rem 1rem;flex-shrink:0}.progress-wrap{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}.progress-bar{flex:1;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .08s linear}.progress-label{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;font-size:.72rem;font-family:ui-monospace,monospace;white-space:nowrap;min-width:5.5rem;text-align:right}:root[data-theme=dark] .progress-label{color:#aaa}:root[data-theme=light] .progress-label{color:#555}.time-left{font-size:.65rem;opacity:.75}.restart-btn{background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-size:1rem;line-height:1;padding:.15rem .4rem;cursor:pointer;transition:color .15s,background .15s;flex-shrink:0}.restart-btn:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.restart-btn:disabled{opacity:.25;cursor:default}.slider-label{display:flex;flex-direction:column;gap:.45rem;font-size:.78rem;color:var(--text);opacity:.85}.slider-label strong{color:var(--text);font-weight:600}.slider-label input[type=range]{width:100%;accent-color:var(--slider-color);cursor:pointer;height:4px}.status-hint{font-size:.72rem;color:var(--text-muted);text-align:center;font-family:ui-monospace,monospace;letter-spacing:.03em}.footer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:0}.footer-bottom .status-hint{margin-top:0}.copyright{font-size:.68rem;color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:color .15s}.copyright:hover{color:var(--text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-size:1rem;font-weight:600;color:var(--text)}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px;line-height:1;transition:color .15s,background .15s}.modal-close:hover{color:var(--text);background:var(--surface-hover)}.modal-body{overflow-y:auto;padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.modal-intro{font-size:.88rem;color:var(--text);opacity:.75;line-height:1.6}.modal-section h3{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin-bottom:.6rem;opacity:.9}.modal-section p{font-size:.88rem;color:var(--text);line-height:1.6}.modal-section dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.25rem;font-size:.88rem}.modal-section dt{font-family:ui-monospace,Cascadia Code,Courier New,monospace;color:var(--text);white-space:nowrap}.modal-section dd{color:var(--text);opacity:.7}.load-modal{max-width:560px}.load-body{gap:1rem}.load-paste-wrap{position:relative}.load-textarea{width:100%;height:200px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:ui-monospace,Cascadia Code,Courier New,monospace;font-size:.85rem;line-height:1.6;padding:.75rem 1rem;resize:vertical;outline:none;transition:border-color .15s}.load-textarea:focus{border-color:var(--accent)}.load-textarea::placeholder{color:var(--text-muted)}.paste-btn{position:absolute;bottom:.5rem;right:.5rem;background:var(--surface-hover);border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-size:.75rem;padding:.2rem .55rem;cursor:pointer;transition:color .15s,background .15s}.paste-btn:hover{color:var(--text);background:var(--border)}.load-actions{display:flex;justify-content:space-between;gap:.75rem}.load-file-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;padding:.5rem 1rem;cursor:pointer;transition:background .15s}.load-file-btn:hover{background:var(--surface-hover)}.load-start-btn{background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:.85rem;font-weight:500;padding:.5rem 1.25rem;cursor:pointer;transition:opacity .15s}.load-start-btn:hover:not(:disabled){opacity:.85}.load-start-btn:disabled{opacity:.35;cursor:default}.modal-red{color:#e53935;font-weight:600}.word-center{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,Courier New,monospace;color:var(--text);line-height:1.1;text-align:center;width:100%}.bionic-bold{font-weight:700}.bionic-rest{font-weight:400;opacity:.55}.mode-chooser{display:flex;align-items:flex-end;flex-shrink:0;border:1px solid var(--border);border-radius:6px;overflow:hidden}.mode-btn{background:none;border:none;border-right:1px solid var(--border);color:var(--text);opacity:.65;font-size:.75rem;font-family:ui-monospace,monospace;padding:.3rem .65rem;cursor:pointer;transition:background .12s,color .12s,opacity .12s;white-space:nowrap}.mode-btn:hover:not(.mode-btn-active){background:var(--surface-hover);opacity:1}.mode-btn-active{background:var(--accent);color:#fff;opacity:1;cursor:default}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.settings-drawer{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #0006}@media(min-width:768px){.settings-overlay{background:transparent;display:block;padding:0}.settings-drawer{position:absolute;top:64px;right:1.5rem;width:380px;max-height:calc(100dvh - 80px);border-radius:12px}}.settings-sliders{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.setting-label{font-size:.78rem;color:var(--text);opacity:.85;white-space:nowrap}.settings-hint{font-size:.75rem;color:var(--text-muted);margin-top:.6rem;font-family:ui-monospace,monospace}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/opendyslexic-latin-400-normal-nUhe5EwG.woff2) format("woff2"),url(/assets/opendyslexic-latin-400-normal-Cv3YY6GF.woff) format("woff")}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/opendyslexic-latin-700-normal-Bnmt45Ln.woff2) format("woff2"),url(/assets/opendyslexic-latin-700-normal-wYUJcbXi.woff) format("woff")}
