:root{--paper:#f5f4ef;--ink:#202b3c;--muted:#788292;--night:#17202f;--night-hover:#25344a;--line:#dadee5;--control-light:#e6ecf5;--red:#a24e3e;--amber:#806137}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #7194ca;outline-offset:5px}[hidden]{display:none!important}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button svg{width:18px;height:18px}.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}.skip-link{position:absolute;top:-100px;left:12px;background:var(--night);color:white;padding:8px 15px;z-index:4}.skip-link:focus{top:10px}
.site-header{max-width:1080px;margin:auto;height:108px;padding:0 44px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:34px;height:34px;border-radius:9px}.brand>span{font-size:39px;line-height:1;font-weight:600;letter-spacing:-2.8px}.info-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #b3bdca;border-radius:50%;background:transparent;color:#647387;font:italic 16px Georgia,serif}.info-button:hover{background:#e8ecf2}main{max-width:1080px;margin:42px auto 0;padding:0 44px 55px}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px}h1{font:normal 48px/1.1 Georgia,"Times New Roman",serif;letter-spacing:-2px;margin:0}.record-options{display:flex;align-items:center;gap:20px}.record-options select{border:0;border-bottom:1px solid #ccd4df;background:transparent;color:#66768b;padding:10px 20px 10px 2px;font-size:12px;max-width:175px;border-radius:0}.recorder-sheet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);column-gap:40px;border-top:1px solid var(--line);padding-top:0}.source-tabs{grid-column:1;display:flex;align-items:stretch;gap:25px;height:56px;margin:0 0 17px;border-bottom:1px solid var(--line)}.source-tab{background:none;border:0;border-bottom:2px solid transparent;padding:0 2px;color:#8490a0;font-size:12px;margin-bottom:-1px}.source-tab.active{color:var(--night);border-bottom-color:var(--night);font-weight:600}#microphone-pane,#upload-pane{grid-column:1;grid-row:2;min-width:0}.reading-passage{padding:13px 9px 20px 0}.reading-passage>span{font-size:11px;color:#8693a6}.reading-passage>p{font:normal 25px/1.72 Georgia,"Times New Roman",serif;letter-spacing:-.45px;color:#39485f;margin:19px 0 0;max-width:450px}.capture-panel{grid-column:2;grid-row:1/3;background:var(--night);color:#f3f6ff;border-radius:6px;padding:31px 30px 25px;display:flex;flex-direction:column;align-self:start;min-height:368px;margin-top:24px}.wave-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#b6c5dd;font-size:11px}#record-timer{font:normal 46px/1.25 ui-monospace,SFMono-Regular,monospace;letter-spacing:-3px;font-variant-numeric:tabular-nums;margin:22px 0 0;color:#f3f6ff}#record-timer>span{font:12px -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:0;color:#9cacc5;margin-left:8px}canvas{display:block;width:100%;height:117px;margin:9px 0 21px}.record-control{display:flex;justify-content:center;margin-top:auto}.record-button,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:4px;min-height:48px;padding:12px 23px;font-size:13px;font-weight:500;background:var(--night);color:white;transition:background .15s}.record-button{width:100%;background:var(--control-light);color:#22324b}.record-button:hover:not(:disabled){background:#f0f4fa}.record-button.recording{background:#e6ecf5;color:var(--night)}.record-button.recording svg{width:11px;height:11px;fill:currentColor;stroke:none}.primary:hover:not(:disabled){background:var(--night-hover)}.record-helper{color:#acbcd4;font-size:10px;line-height:1.6;text-align:center;margin:15px 0 0}.analyze-button{width:100%;background:var(--control-light);color:var(--night);justify-content:space-between;margin-top:20px}.analyze-button:hover:not(:disabled){background:#f0f4fa}.capture-panel:has(#playback:not([hidden])) .record-control{display:none}.file-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:11px;color:#d0dbee;margin:0 0 12px}.file-summary>span{max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{border:0;padding:5px 0;background:none;color:#5c7190;font-size:12px}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.capture-panel .text-button{color:#e6ecf5}.danger{color:var(--red)}audio{display:block;width:100%;height:34px;accent-color:var(--night)}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:275px;margin-top:15px;border:1px dashed #bdc7d5;padding:20px;text-align:center;cursor:pointer;border-radius:4px}.dropzone>svg{width:30px;height:30px;color:#667994;margin-bottom:22px}.dropzone>strong{font-size:15px;font-weight:500}.dropzone>span{font-size:12px;color:#7e8ca1;margin-top:6px}.dropzone>small{font-size:10px;color:#8a96a8;margin-top:28px}.dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.dropzone:focus-within,.dropzone.drag-over{outline:2px solid #7390bb;outline-offset:4px;background:#edf1f7}
.section-label{font-size:12px;color:#748298}.icon-button{display:grid;place-items:center;border:0;background:none;color:#6c7e96;padding:11px;border-radius:4px;min-width:40px;min-height:40px}.icon-button:hover{background:#e8edf4}.result-sheet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);column-gap:40px;border-top:1px solid var(--line);padding-top:40px}.result-reading{min-width:0}.result-reading h1{font-size:47px;line-height:1.15;letter-spacing:-1.8px;max-width:420px}.result-description{font-size:14px;line-height:1.8;color:#72829a;max-width:370px;margin:23px 0 22px}.result-summary{display:flex;align-items:center;gap:9px;color:#8491a3;font-size:11px;margin:0 0 26px}.score-panel{align-self:start;background:var(--night);color:#f3f6ff;border-radius:6px;padding:35px 29px 30px;margin:0;min-height:192px}.score-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:28px}.score-heading label{font-size:12px;color:#bdcbe1}#score-value{font:20px ui-monospace,SFMono-Regular,monospace;letter-spacing:-.5px;white-space:nowrap}#result-score{display:block;appearance:none;-webkit-appearance:none;border:0;width:100%;height:9px;border-radius:1px;overflow:hidden;background:#3d4b64}#result-score::-webkit-meter-bar{height:9px;border:0;border-radius:1px;background:#3d4b64;box-shadow:none}#result-score::-webkit-meter-optimum-value{background:var(--control-light);border-radius:1px}#result-score::-moz-meter-bar{background:var(--control-light);border-radius:1px}.score-ends{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;font-size:10px;color:#c1cde0;margin-top:15px}.score-ends>span:first-child{text-align:left}.score-ends>span:nth-child(2){text-align:center}.score-ends>span:last-child{text-align:right}.quality-warnings{grid-column:1/-1;background:#eee9db;border-left:2px solid #b69d70;padding:12px 16px;color:var(--amber);font-size:12px;margin:8px 0 26px}.quality-warnings p{margin:0}.result-details{grid-column:1/-1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;margin:12px 0 30px;color:#72819a;font-size:12px}.result-details summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;min-height:23px}.result-details summary::-webkit-details-marker{display:none}.result-details summary:after{content:"+";font-size:20px;font-weight:300}.result-details[open] summary:after{content:"−"}.result-details p{max-width:650px;line-height:1.85}.result-sheet>.button{grid-column:1;justify-self:start;min-width:180px}.research-result{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:11px;color:#6e819d;margin:0 0 25px}.research-result>span{display:flex;align-items:center;gap:7px}.research-result>p{width:100%;margin:0}.saved-dot{display:inline-block;width:5px;height:5px;background:#6b86ad;border-radius:50%}.loading-view{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}.loading-view h1{font-size:32px;letter-spacing:-1px}.loading-mark{width:31px;height:31px;border:2px solid #d3dce8;border-top-color:var(--night);border-radius:50%;animation:spin 1s linear infinite}.error-message{font-size:12px;line-height:1.7;background:#fbf0e8;color:#9c5845;border-radius:4px;padding:13px 15px;margin:17px 0 0}.result-sheet>.error-message{grid-column:1/-1;margin:0 0 22px}.capture-panel>.error-message{background:#f6e8db;color:#7b4031}.error-message a{color:inherit}
dialog{border:1px solid #ccd4e0;border-radius:8px;background:var(--paper);color:var(--ink);padding:29px;width:460px;max-width:calc(100% - 32px);box-shadow:0 20px 80px #17202f1a}dialog::backdrop{background:#17202f3d;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.dialog-heading h2{font:normal 28px Georgia,serif;letter-spacing:-.8px;margin:0}.dialog-heading .icon-button{margin:-5px -9px -5px 0}.research-toggle{position:relative;display:flex;align-items:center;gap:12px;min-height:35px;font-size:13px;cursor:pointer}.research-toggle>span:first-child{flex:1}.research-toggle input{position:absolute;right:0;width:36px;height:24px;opacity:0;margin:0;cursor:pointer}.switch-track{position:relative;width:36px;height:22px;background:#d8e0eb;border-radius:15px;pointer-events:none}.switch-track:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s}.research-toggle input:checked+.switch-track{background:var(--night)}.research-toggle input:checked+.switch-track:after{transform:translateX(14px)}.research-toggle input:focus-visible+.switch-track{outline:2px solid #7598d2;outline-offset:4px}.consent-copy{font-size:12px;line-height:1.8;color:#708099;margin:18px 0 25px}.kss-fieldset{border:0;padding:0;margin:0;min-width:0}.kss-fieldset legend{font-size:13px;font-weight:500;margin-bottom:14px}.kss-options{display:grid;grid-template-columns:repeat(9,1fr);gap:5px}.kss-choice{position:relative;display:flex;cursor:pointer}.kss-choice input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.kss-choice>span{display:grid;place-items:center;min-height:38px;width:100%;border:1px solid #cbd5e3;border-radius:3px;color:#6f819d;font-size:13px}.kss-choice input:checked+span{background:var(--night);border-color:var(--night);color:white}.kss-choice input:focus-visible+span{outline:2px solid #7598d2;outline-offset:3px}.scale-labels{display:flex;justify-content:space-between;font-size:10px;color:#7b8ba3;margin:8px 0 12px}.kss-description{display:block;min-height:34px;font-size:11px;color:#6f809a}.participant-code{font-size:10px;color:#8292aa;margin:15px 0}.participant-code strong{font-family:ui-monospace,monospace;font-weight:500}#setup-form>.button{width:100%;margin-top:25px}#info-dialog>p{font-size:13px;color:#697b97;line-height:1.8}.info-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-top:25px;color:#697b97;font-size:12px}.info-details summary{cursor:pointer}.info-details p{line-height:1.8}.research-link{background:none;border:0;padding:20px 0 0;color:var(--night);font-size:13px;width:100%;display:flex;align-items:center;justify-content:space-between}.research-link.active:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--night);margin-right:8px}.connection-notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:calc(100% - 28px);width:max-content;display:flex;gap:16px;align-items:center;font-size:12px;background:#fff8e9;border:1px solid #e3d5b6;color:#8f794c;padding:12px 16px;border-radius:4px;z-index:3}.connection-notice button{background:none;border:0;color:#745c2f;font-size:12px;text-decoration:underline;text-underline-offset:3px}h1[tabindex="-1"]:focus{outline:none}#passage-text[lang="ar"]{font-family:"Geeza Pro","Noto Naskh Arabic","Times New Roman",serif;font-size:27px;line-height:1.95;text-align:right;letter-spacing:normal}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:850px){.site-header{height:90px;padding:0 28px}main{margin-top:32px;padding:0 28px 40px}.recorder-sheet,.result-sheet{column-gap:25px}.reading-passage>p{font-size:22px}.capture-panel{padding:26px 23px 23px}.result-reading h1{font-size:40px}.score-panel{padding:30px 23px}.record-options{gap:10px}.record-options select{max-width:148px}}
@media(max-width:650px){.site-header{height:83px;padding:0 23px}.brand>span{font-size:35px}.brand img{width:30px;height:30px}.brand{gap:10px}.info-button{width:32px;height:32px}main{margin-top:23px;padding:0 23px 32px}.workspace-heading{flex-wrap:wrap;align-items:baseline;margin-bottom:22px;gap:20px}h1{font-size:40px;letter-spacing:-1.6px}.record-options{width:100%;justify-content:space-between;gap:15px}.record-options select{font-size:12px;flex:1;max-width:none;padding-top:2px;padding-bottom:9px}.recorder-sheet,.result-sheet{display:block}.source-tabs{height:49px;margin-bottom:10px;gap:26px}.reading-passage{padding:12px 0 8px}.reading-passage>span{font-size:10px}.reading-passage>p{font-size:21px;line-height:1.65;margin-top:13px;max-width:none}.capture-panel{margin-top:23px;min-height:300px;padding:24px}.wave-label{font-size:10px}#record-timer{font-size:39px;letter-spacing:-2px;margin-top:17px}canvas{height:88px;margin:6px 0 18px}.record-helper{margin-top:13px;font-size:10px}.record-button,.button{min-height:46px}.dropzone{min-height:200px;margin-top:24px}.dropzone>svg{margin-bottom:17px}.dropzone>small{margin-top:21px}.result-sheet{padding-top:28px}.result-reading h1{font-size:40px;max-width:330px}.result-description{font-size:13px;line-height:1.75;margin-top:18px;max-width:390px}.result-summary{margin-bottom:26px}.score-panel{padding:27px 24px 25px;min-height:165px;margin-bottom:25px}.score-heading{margin-bottom:25px}.result-details{margin-top:24px;margin-bottom:25px}.result-sheet>.button{width:100%}.quality-warnings{margin:18px 0}.connection-notice{font-size:11px;gap:9px}dialog{padding:25px}.kss-options{gap:4px}.kss-choice>span{min-height:35px}#passage-text[lang="ar"]{font-size:23px;line-height:1.85}}
@media(max-width:380px){.kss-options{grid-template-columns:repeat(3,1fr);gap:7px}.kss-choice>span{min-height:40px}.reading-passage>p{font-size:20px}.capture-panel{padding:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.score-track{position:relative}.score-mark{position:absolute;top:-3px;width:1px;height:15px;background:#899dbb;pointer-events:none}
/* Each recorder state uses the same signal, support and action slots. */
html{scrollbar-gutter:stable}.brand>span{font-size:35px;letter-spacing:-1.5px}
main{position:relative}.record-options{width:306px;display:grid;grid-template-columns:1fr 1.35fr;gap:18px}.record-options select{width:100%;max-width:none;min-width:0}
.recorder-sheet{height:448px;grid-template-rows:56px minmax(0,1fr)}
#microphone-pane,#upload-pane{min-height:0;overflow:hidden}.reading-passage{height:100%;overflow:auto;overscroll-behavior:contain;padding:20px 8px 12px 0}.reading-passage>p{margin:0}.source-tabs{margin-bottom:0}
.dropzone{height:calc(100% - 32px);min-height:0;margin:16px 0}
.capture-panel{height:404px;min-height:0;padding:28px;display:grid;grid-template-rows:188px 84px 48px;row-gap:14px;overflow:hidden}
.signal-area{display:grid;grid-template-rows:16px 56px 88px;row-gap:14px;min-width:0;overflow:hidden}.wave-label{height:16px;min-width:0}.wave-label span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#record-timer{margin:0;line-height:56px;display:flex;align-items:baseline;gap:12px;white-space:nowrap}#timer-elapsed{font:inherit;color:inherit;margin:0}#timer-limit{font:12px -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:0;color:#9cacc5;margin:0}
canvas{height:88px;margin:0}
.capture-support{display:grid;min-height:0;overflow:hidden;align-items:center}.capture-support>*{grid-area:1/1;min-width:0;max-height:84px}.capture-support.has-error #playback{visibility:hidden}.capture-support .error-message{margin:0;overflow:auto;max-height:84px;font-size:12px;line-height:1.6;padding:12px 14px}
#playback{width:100%;min-width:0}.file-summary{height:24px;margin:0 0 10px;gap:8px}.file-summary>span{max-width:calc(100% - 58px);font-size:10px}.file-summary .text-button{white-space:nowrap}audio,#preview-status{height:34px;margin:0}#preview-status{display:flex;align-items:center;font-size:11px;color:#bfcee6}
.capture-actions{position:relative;min-width:0;height:48px}.capture-actions>*{position:absolute;inset:0;margin:0;width:100%;height:48px}.capture-actions .record-control{display:block;padding:0}.capture-actions .record-button{height:48px;min-height:48px}.capture-panel:has(#playback:not([hidden])) .record-control{display:block}
.loading-view{position:absolute;inset:0 44px 55px;min-height:0;z-index:2;background:var(--paper)}

@media(max-width:850px){.record-options{width:278px;gap:12px}.capture-panel{padding:24px;height:396px}.loading-view{inset:0 28px 40px}}
@media(max-width:650px){.brand>span{font-size:32px;letter-spacing:-1.2px}.record-options{width:100%;gap:15px;grid-template-columns:1fr 1fr}.record-options select{max-width:none}.recorder-sheet{height:637px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:49px 220px 368px;column-gap:0}.source-tabs{grid-column:1;grid-row:1;margin:0}#microphone-pane,#upload-pane{grid-column:1;grid-row:2}.reading-passage{padding:20px 0}.reading-passage>p{margin:0}.dropzone{height:calc(100% - 32px);margin:16px 4px}.capture-panel{grid-column:1;grid-row:3;align-self:start;height:344px;min-height:0;margin:24px 0 0;padding:24px;grid-template-rows:144px 80px 48px;row-gap:12px}.signal-area{grid-template-rows:16px 48px 56px;row-gap:12px}#record-timer{line-height:48px;font-size:39px}canvas{height:56px}.capture-support>*{max-height:80px}.capture-support .error-message{max-height:80px}.loading-view{inset:0 23px 32px}}
#record-timer #timer-elapsed{font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0}#record-timer #timer-limit{font:12px -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:0;color:#9cacc5;margin:0}

@media(max-width:650px){.reading-passage{padding:12px 0}.reading-passage>p{font-size:20px;line-height:1.6}}

.dropzone{width:calc(100% - 8px);margin-left:4px;margin-right:4px}
/* Menus are overlays; labels, focus and arrow states never alter geometry. */
.custom-select{position:relative;min-width:0}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:40px;min-width:0;border:0;border-bottom:1px solid #bdc7d5;border-radius:0;background:transparent;padding:8px 2px;color:#536882;text-align:left;font-size:12px;font-weight:400;line-height:20px;transition:color .12s,border-color .12s}
.select-trigger>[data-select-label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-trigger>img{flex-shrink:0;opacity:.6;transition:transform .12s;width:14px;height:14px}.select-trigger[aria-expanded="true"]{border-bottom-color:var(--night);color:var(--night)}.select-trigger[aria-expanded="true"]>img{transform:rotate(180deg)}.select-trigger:disabled{opacity:.4}
.select-options{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:max(100%,150px);padding:5px;border:1px solid #d3dbe7;border-radius:5px;background:#fafbfe;box-shadow:0 9px 25px #202b3c1a;color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.select-options.opens-up{top:auto;bottom:calc(100% + 8px)}
.select-options>[role="option"]{display:flex;align-items:center;height:38px;padding:0 11px;border-radius:3px;font-size:12px;line-height:20px;cursor:pointer;white-space:nowrap}.select-options>[role="option"][aria-selected="true"]{color:var(--night);background:#eaf0f8}.select-options>[role="option"].is-highlighted{background:#dce6f5}
@media(max-width:650px){.select-trigger{height:28px;padding:2px 2px 6px}.select-options{min-width:150px}}

/* Persistent recorder slots prevent re-centering and disabled-state flashes. */
.capture-actions .record-button{position:relative;display:grid;grid-template-columns:20px 142px;column-gap:10px;justify-content:center;align-items:center;padding:0 20px;line-height:20px;transition:none;transform:none;opacity:1}
.record-button-icon{display:grid;place-items:center;width:20px;height:20px;overflow:hidden}
.record-button-icon svg{display:block;width:18px;height:18px}
#record-button-label{display:block;width:142px;min-width:0;line-height:20px;white-space:nowrap;text-align:left}
.capture-actions .record-button,.capture-actions .record-button.recording,.capture-actions .record-button:hover:not(:disabled),.capture-actions .record-button:disabled{background:var(--control-light);color:#22324b;opacity:1}
.capture-actions .record-button:disabled{cursor:progress}
.record-button.recording .record-button-icon svg{width:11px;height:11px}

/* Selection changes color/underline without changing tab text metrics. */
.source-tab,.source-tab.active{font-weight:500}

/* Consent is visible before capture; details live on a separate readable page. */
.privacy-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:15px 0 17px}
.analysis-permission{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;cursor:pointer;max-width:560px}
.analysis-permission input{flex-shrink:0;width:18px;height:18px;margin:1px 0 0;accent-color:var(--night)}
.analysis-permission.consent-required{border-radius:4px;outline:2px solid #7194ca;outline-offset:5px;animation:consent-shake 320ms ease-out}
.analysis-permission.consent-required input:focus-visible{outline-offset:2px}
@keyframes consent-shake{25%{transform:translateX(-5px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
#analysis-privacy-note{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:11px;line-height:1.5;color:#617187;white-space:nowrap}
#analysis-privacy-note a,.vote-consent a{color:#35547e;text-decoration:underline;text-underline-offset:3px}
.dropzone[aria-disabled="true"]{cursor:not-allowed;opacity:.6}
.capture-actions .record-button:disabled:not([aria-busy="true"]){cursor:not-allowed}
.vote-consent label{cursor:pointer}
.privacy-document{max-width:760px;margin:30px auto 60px;padding:0 28px;line-height:1.8}
.privacy-document h1{font:400 42px/1.15 Georgia,serif;letter-spacing:-1px;margin:12px 0 24px}
.privacy-document h2{font:400 25px/1.3 Georgia,serif;letter-spacing:-.4px;margin:36px 0 12px}
.privacy-document p,.privacy-document li{font-size:14px;color:#455670}
.privacy-document a{color:#294f86;text-underline-offset:3px;overflow-wrap:anywhere}
.privacy-document .privacy-version{font:11px/1.6 ui-monospace,monospace;color:#617187}
.privacy-document .privacy-intro{padding:18px 20px;background:#e8edf4;border-radius:6px}
.privacy-back{border-top:1px solid var(--line);padding-top:24px;margin-top:36px}
@media(max-width:650px){.privacy-controls{align-items:flex-start;flex-direction:column;gap:9px;padding:12px 0}.analysis-permission{font-size:12px;gap:9px}#analysis-privacy-note{width:100%;flex-direction:row;justify-content:space-between;align-items:center;white-space:normal;font-size:10px;gap:12px}.privacy-document{margin-top:10px;padding:0 23px}.privacy-document h1{font-size:34px}.privacy-document h2{font-size:23px}}

.reading-passage { max-height: clamp(15rem, 43vh, 25rem); overflow: auto; overscroll-behavior: contain; }
.reading-passage > p { white-space: pre-line; }
