:root{--bg:#f6f6f8;--surface:#fff;--surface-2:#f1f1f4;--text:#18181b;--muted:#6b6b76;--border:#e3e3e8;--accent:#5b5bd6;--accent-hover:#4b4bc4;--accent-soft:#5b5bd61f;--on-accent:#fff;--ok:#1f9d55;--ok-soft:#1f9d5521;--warn:#c27c0e;--warn-soft:#c27c0e24;--stop:#d1453b;--stop-soft:#d1453b1f;--shadow:0 1px 2px #1010180a, 0 4px 16px #1010180f;--shadow-lg:0 12px 40px #1010182e;--radius:12px;--radius-sm:8px;--focus:0 0 0 3px #5b5bd659;--prompter-bg:#0e0e12;--prompter-text:#f4f4f6;--prompter-read:#55555f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f0f13;--surface:#18181d;--surface-2:#222228;--text:#ececf1;--muted:#9a9aa6;--border:#2c2c34;--accent:#8d8df5;--accent-hover:#a3a3f8;--accent-soft:#8d8df529;--on-accent:#0f0f13;--ok:#3fc47a;--ok-soft:#3fc47a26;--warn:#e8a63a;--warn-soft:#e8a63a26;--stop:#f0675c;--stop-soft:#f0675c26;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--shadow-lg:0 12px 40px #0000008c;--focus:0 0 0 3px #8d8df566;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}h2{letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:650}p{margin:0}.muted{color:var(--muted)}.small{font-size:.85rem}.tabular{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}.ic{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}:focus-visible{box-shadow:var(--focus);outline:none}button,.button{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:550;line-height:1.2;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}button:hover:not(:disabled),.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}button.secondary:hover:not(:disabled),.button.secondary:hover{background:var(--surface-2);border-color:var(--border)}button.ghost{color:var(--text);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--surface-2);border-color:#0000}button.icon{padding:8px}button.small,button.sm{padding:6px 11px;font-size:.85rem}button.lg{padding:11px 20px;font-size:1rem}button.danger{color:var(--stop)}button.ghost.danger:hover:not(:disabled){background:var(--stop-soft)}button.link{color:var(--accent);background:0 0;border:none;padding:2px 0;font-weight:500}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}button:disabled{opacity:.45;cursor:default}input[type=email],input[type=password],input[type=text],select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.select-wrap{display:inline-flex;position:relative}.select-wrap select{appearance:none;cursor:pointer;width:100%;padding-right:34px}.select-wrap:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:13px;transform:translateY(-70%)rotate(45deg)}input[type=range]{accent-color:var(--accent);width:130px}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin:0}.topbar{z-index:20;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 20px;display:grid;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;display:flex}.brand .logo{width:28px;height:28px;color:var(--accent)}.steps{align-items:center;gap:4px;display:flex}.steps button{color:var(--muted);background:0 0;border:none;gap:8px;padding:6px 10px;font-weight:550}.steps button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.steps .num{border:1.5px solid var(--border);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.78rem;font-weight:700;display:inline-grid}.steps button.active{color:var(--text)}.steps button.active .num{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.steps button.done .num{background:var(--accent-soft);color:var(--accent);border-color:#0000}.step-sep{background:var(--border);width:18px;height:1.5px}.steps .admin-link{margin-left:14px}.steps .admin-link.active{background:var(--accent-soft);color:var(--accent)}.account{color:var(--muted);justify-self:end;align-items:center;gap:10px;min-width:0;font-size:.88rem;display:flex}.account .email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}body.signed-out .app-only{display:none!important}body:not(.signed-out) .auth-view{display:none}main{max-width:1120px;margin:0 auto;padding:28px 20px 40px}.step{display:none}.step.active{animation:.2s ease-out enter;display:block}@keyframes enter{0%{opacity:0;transform:translateY(4px)}}.page-head{gap:4px;margin-bottom:18px;display:grid}.page-head p{max-width:70ch}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar .spacer{flex:1}.card-foot,.actions-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.card-foot{margin-top:14px}.card-foot>.muted{margin-right:auto}.actions-row{margin-top:16px}.badge{border-radius:999px;align-items:center;padding:3px 9px;font-size:.78rem;font-weight:600;display:inline-flex}.badge:empty{display:none}.badge.info{background:var(--accent-soft);color:var(--accent)}.badge.on{background:var(--ok-soft);color:var(--ok)}.badge.pending{background:var(--warn-soft);color:var(--warn)}.badge.off{background:var(--stop-soft);color:var(--stop)}.saved-wrap{flex:0 260px;min-width:0}.field-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;padding-top:14px;display:flex}.field-row label{font-size:.9rem;font-weight:600}.dropzone{position:relative}.dropzone textarea{background:var(--surface-2);resize:vertical;border-color:#0000;width:100%;min-height:48vh;padding:16px;font-size:1.05rem;line-height:1.6;display:block}.drop-hint{border:2px dashed var(--accent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent-soft) 70%, var(--surface));color:var(--accent);pointer-events:none;align-content:center;place-items:center;gap:8px;font-weight:600;display:none;position:absolute;inset:0}.drop-hint .ic{width:28px;height:28px}.dropzone.dragging .drop-hint{display:grid}.voice-card blockquote{background:var(--surface-2);border-left:4px solid var(--accent);border-radius:var(--radius-sm);margin:0 0 18px;padding:18px 22px;font-size:1.3rem;line-height:1.65}:is([dir=rtl].voice-card blockquote,.voice-card blockquote:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-left:none;border-right:4px solid var(--accent)}.recorder{flex-wrap:wrap;align-items:center;gap:18px;display:flex}button.record{padding:12px 20px;font-size:1rem}button.record:before{content:"";background:currentColor;border-radius:50%;width:10px;height:10px}button.record.recording{background:var(--stop);border-color:var(--stop);color:#fff}button.record.recording:before{border-radius:2px;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.35}}.recorder-meters{flex:260px;gap:10px;display:grid}.meter-row{align-items:center;gap:10px;display:flex}.vu,.progress{background:var(--surface-2);border-radius:999px;flex:1;height:8px;overflow:hidden}#vu-bar{background:var(--accent);border-radius:inherit;width:0;height:100%;transition:width 80ms linear;display:block}#enroll-bar{background:var(--ok);border-radius:inherit;width:0;height:100%;transition:width .15s}.status-line{margin-top:16px;font-weight:550}#model-status{margin-top:4px}.reader-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px;padding:10px 12px;display:flex}.reader-bar .group{align-items:center;gap:10px;display:flex}.reader-bar .group.end{gap:2px;margin-left:auto}.reader-bar label.inline{color:var(--muted);align-items:center;gap:8px;display:flex}#toggle{min-width:130px}.pill{background:var(--surface-2);min-width:112px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:5px 12px;font-size:.85rem;font-weight:650;display:inline-flex}.pill.reading{background:var(--ok-soft);color:var(--ok)}.pill.silence{background:var(--warn-soft);color:var(--warn)}.pill.other{background:var(--stop-soft);color:var(--stop)}.pill.lost{background:var(--accent-soft);color:var(--accent)}.meter{background:var(--surface-2);border-radius:999px;width:70px;height:6px;overflow:hidden}#meter-bar{background:var(--warn);width:0;height:100%;transition:width .15s;display:block}#meter-bar.ok{background:var(--ok)}.segmented{background:var(--surface-2);border-radius:10px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border:none;border-radius:7px;padding:6px 12px;font-size:.88rem}.segmented button:hover:not(:disabled){color:var(--text);background:0 0}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}#speed-value{min-width:82px;color:var(--muted)}body:not(.fixed-mode) .fixed-only,body.fixed-mode .voice-only{display:none!important}.popover-wrap{position:relative}.popover{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:300px;box-shadow:var(--shadow-lg);gap:4px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.setting{justify-content:space-between;align-items:center;gap:12px;padding:8px 6px;font-size:.9rem;display:flex}.setting+.setting{border-top:1px solid var(--border)}.setting.check{cursor:pointer;justify-content:flex-start}.stage{position:relative}.viewport{background:var(--prompter-bg);height:68vh;color:var(--prompter-text);scrollbar-width:none;border-radius:16px;padding:0 7%;position:relative;overflow-y:auto}.stage:before,.stage:after{content:"";z-index:1;pointer-events:none;height:14%;position:absolute;left:0;right:0}.stage:before{background:linear-gradient(var(--prompter-bg), transparent);border-radius:16px 16px 0 0;top:0}.stage:after{background:linear-gradient(transparent, var(--prompter-bg));border-radius:0 0 16px 16px;bottom:0}.viewport::-webkit-scrollbar{display:none}.viewport.mirror .content{transform:scaleX(-1)}.guide{pointer-events:none;z-index:1;height:0;margin:0 -7%;position:sticky;top:33%}.guide:before{content:"";border:9px solid #0000;border-left:12px solid var(--accent);filter:drop-shadow(0 0 6px #8d8df599);position:absolute;top:.72em;left:14px;transform:translateY(-50%)}.content{letter-spacing:-.005em;font-weight:500;line-height:1.45}.content p{margin:0 0 .8em}.w{cursor:pointer;border-radius:6px;padding:0 .04em;transition:color .25s,background .25s}.w:hover{background:#ffffff0f}.w.read{color:var(--prompter-read)}.w.current{color:#fff;background:#8d8df552}.lost{z-index:2;border-radius:var(--radius);background:var(--surface);width:min(640px,100% - 32px);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:16px;animation:.2s ease-out enter;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.lost p{margin-bottom:10px;font-weight:650}.lost .actions-row{margin-top:12px}.candidates{gap:8px;display:grid}button.candidate{text-align:start;white-space:normal;background:var(--surface-2);color:var(--text);border:1px solid #0000;justify-content:flex-start;font-weight:450;line-height:1.45}button.candidate:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.reader-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:10px;font-size:.82rem;display:flex}.chip{background:var(--surface-2);border-radius:999px;padding:3px 10px}.chip:empty{display:none}kbd{min-width:20px;font:inherit;text-align:center;border:1px solid var(--border);background:var(--surface);border-bottom-width:2px;border-radius:5px;margin:0 1px;padding:1px 6px;font-size:.78rem;display:inline-block}#step-read:fullscreen{background:var(--prompter-bg);flex-direction:column;padding:12px;display:flex}#step-read:fullscreen .stage{flex:1;min-height:0}#step-read:fullscreen .viewport{border-radius:12px;height:100%}#step-read:fullscreen .stage:before{border-radius:12px 12px 0 0}#step-read:fullscreen .stage:after{border-radius:0 0 12px 12px}#step-read:fullscreen .reader-bar{color:#ececf1;background:#18181d;border-color:#2c2c34}#step-read:fullscreen .reader-foot{display:none}.auth-view{place-items:center;padding:56px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:14px;padding:30px;display:flex}.auth-brand{text-align:center;justify-items:center;gap:8px;margin-bottom:6px;display:grid}.auth-brand .logo{width:48px;height:48px;color:var(--accent)}.auth-brand strong{letter-spacing:-.01em;font-size:1.25rem}.auth-card h2{font-size:1.15rem}.auth-card form{flex-direction:column;gap:10px;display:flex}.auth-card form>button{margin-top:4px}.auth-sep{color:var(--muted);align-items:center;gap:10px;font-size:.82rem;display:flex}.auth-sep:before,.auth-sep:after{content:"";background:var(--border);flex:1;height:1px}.auth-card .small,.muted.small{font-size:.85rem}.auth-card>button.link{align-self:center}.reveal{display:flex;position:relative}.reveal input{flex:1;padding-right:84px}.reveal-toggle{font-size:.82rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-message{border-radius:var(--radius-sm);padding:9px 12px;font-size:.9rem}.auth-message.info{background:var(--ok-soft);color:var(--ok)}.auth-message.error{background:var(--stop-soft);color:var(--stop)}#invite-form #invite-email{flex:240px;max-width:340px}#invite-form #invite-password{flex:200px;max-width:260px}.form-help{margin-top:8px}#admin-message{margin-top:12px}.table-wrap{margin-top:16px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle;padding:11px 12px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface-2)}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.78rem;font-weight:650}td select{padding-top:6px;padding-bottom:6px}.user-cell{align-items:center;gap:10px;display:flex}.user-cell .avatar{width:28px;height:28px;font-size:.8rem}.row-actions{justify-content:flex-end;gap:6px;display:flex}.toast{z-index:50;color:#f4f4f6;max-width:min(520px,100% - 32px);box-shadow:var(--shadow-lg);background:#1d1d23;border-radius:10px;align-items:center;gap:10px;padding:11px 16px;font-size:.92rem;animation:.2s ease-out enter;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast:before{content:"";background:var(--stop);border-radius:50%;flex:none;width:8px;height:8px}.toast.success:before{background:#3fc47a}.toast.info:before{background:#8d8df5}@media (width<=760px){.topbar{grid-template-columns:auto 1fr auto;padding:8px 12px}.brand span{display:none}.steps{justify-self:center}.steps .label{display:none}.steps button{padding:6px}.step-sep{width:10px}.steps .admin-link{margin-left:6px}.account .email{display:none}main{padding:18px 12px 32px}.card{padding:14px}.toolbar .spacer{display:none}.saved-wrap{flex:100%}.reader-bar .group.end{margin-left:0}.viewport{height:62vh;padding:0 5%}.guide{margin:0 -5%}.guide:before{left:4px}.popover{width:min(300px,100vw - 24px)}.reader-foot .keys{display:none}}
