:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#eeefec;background:#171817;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #171817;--surface: #1e201f;--surface-raised: #252725;--text: #eeefec;--muted: #a7aaa5;--border: #3a3d3a;--border-strong: #60645f;--focus: #e1e4de;--danger: #e5b5ae}*{box-sizing:border-box}html,body{min-height:100%;margin:0;background:var(--bg)}body{min-width:320px}button,input,select{font:inherit}button,select,input[type=password]{min-height:46px;border:1px solid var(--border-strong);border-radius:4px;color:var(--text);background:var(--surface)}button{padding:.7rem 1.1rem;cursor:pointer}button:hover:not(:disabled){background:var(--surface-raised);border-color:#858a83}button:disabled{cursor:not-allowed;opacity:.45}button.primary{color:#171817;background:#e1e4de;border-color:#e1e4de;font-weight:650}button.primary:hover:not(:disabled){background:#f0f2ed}button.quiet{color:var(--muted);background:transparent}button.danger{color:var(--danger)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{position:fixed;z-index:20;top:.75rem;left:.75rem;padding:.65rem .9rem;color:#171817;background:var(--focus);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#remote-audio{display:none}.screen{width:min(100% - 2rem,760px);min-height:100vh;margin:0 auto;padding:clamp(2rem,7vh,5rem) 0 3rem}.screen.narrow{width:min(100% - 2rem,520px)}.eyebrow{margin:0 0 1rem;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:1.25rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,7vw,3.8rem);font-weight:400;line-height:1.05;letter-spacing:-.025em}h2{margin-bottom:.8rem;font-size:1.15rem}.lede{max-width:62ch;color:#d3d5d1;font-size:1.08rem;line-height:1.65}.muted,.hint{color:var(--muted)}.hint{font-size:.9rem;line-height:1.5}.stack{display:grid;gap:1rem}.field{display:grid;gap:.45rem}.field label,legend{font-weight:650}.field input,.field select{width:100%;padding:.7rem .75rem}.actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:1.5rem}.error-message{padding:.85rem 1rem;border-left:3px solid var(--danger);color:var(--danger);background:#271f1e}.notice{padding:1rem;border:1px solid var(--border);color:#d3d5d1;background:var(--surface);line-height:1.55}.passage-picker{display:grid;gap:.75rem;margin:2rem 0 0;padding:0;border:0}.passage-option{position:relative}.passage-option input{position:absolute;opacity:0}.passage-option label{display:block;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:4px;cursor:pointer;background:var(--surface)}.passage-option label strong{display:block;margin-bottom:.3rem;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:400}.passage-option label span{color:var(--muted);font-size:.92rem;line-height:1.45}.passage-option input:checked+label{border-color:#c9ccc6;box-shadow:inset 0 0 0 1px #c9ccc6}.passage-option input:focus-visible+label{outline:3px solid var(--focus);outline-offset:3px}.audio-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.audio-card{min-width:0;padding:1.1rem;border:1px solid var(--border);background:var(--surface)}.meter{height:8px;margin:1rem 0 .5rem;overflow:hidden;border-radius:10px;background:#0f100f}.meter-fill{width:2%;height:100%;border-radius:inherit;background:#d9dcd6;transform-origin:left;transform:scaleX(.02)}.passage-screen{width:min(100% - 2rem,900px);padding-top:clamp(1.5rem,5vh,3.5rem)}.passage-header{width:min(100%,680px);margin:0 auto 2rem}.passage{width:min(100%,680px);margin:0 auto;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.15rem,2.2vw,1.25rem);line-height:1.68}.passage p{margin-bottom:1.25em}.reading-actions{width:min(100%,680px);margin:2.5rem auto 0;padding-top:1.25rem;border-top:1px solid var(--border)}.session-layout{display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100vh;overflow:hidden}.session-passage{overflow-y:auto;padding:clamp(1.5rem,5vh,3.5rem) 1rem 2rem}.session-controls{z-index:2;padding:1.1rem max(1rem,env(safe-area-inset-right)) max(1.1rem,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#171817fa}.voice-row{display:flex;justify-content:center;gap:clamp(4rem,18vw,12rem);min-height:86px}.voice-indicator{display:grid;grid-template-rows:54px auto;justify-items:center;align-items:center;width:80px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.12em}.voice-circle{width:28px;height:28px;border:1px solid #d2d5cf;border-radius:50%;background:#d2d5cf;transform:scale(var(--level, 1));transition:transform 80ms linear,background-color .16s ease}.voice-indicator.processing .voice-circle{background:transparent;animation:pulse 1.8s ease-in-out infinite}.voice-indicator.muted .voice-circle{background:transparent;border-style:dashed;opacity:.65}.session-actions{display:flex;justify-content:center;gap:.75rem}.status-line{min-height:1.5rem;margin:.1rem 0 .75rem;color:var(--muted);text-align:center;font-size:.88rem}.connecting{display:grid;min-height:70vh;place-content:center;text-align:center}.spinner{width:34px;height:34px;margin:0 auto 1.25rem;border:2px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite}.results{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.assessment-list{display:grid;gap:0;margin:1rem 0 2rem;padding:0;list-style:none;border-top:1px solid var(--border)}.assessment-list li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.assessment-list strong{font-weight:500}.ideal-summary{font-family:Georgia,Times New Roman,serif;font-size:1.08rem;line-height:1.65}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(.9);opacity:.65}50%{transform:scale(1.2);opacity:1}}@media(max-width:620px){.audio-grid{grid-template-columns:1fr}.actions>button{flex:1 1 auto}.session-passage .passage{font-size:1.08rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
