:root{color:#edf2f7;background:#101721;font-family:Aptos,Segoe UI,Helvetica Neue,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}.user-test .exam-panel{max-width:780px}.user-test .topbar{padding:20px 0 24px}.user-test h1{max-width:none;font-size:clamp(30px,5vw,40px)}.test-intro{max-width:520px;margin:12px 0 0;color:#b9c7d8;line-height:1.65;font-size:15px}.test-progress{display:flex;justify-content:space-between;gap:12px;margin:0 0 10px;color:#aebdd0;font-size:13px}.user-test .tabs{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.user-test .tabs button{padding:12px 4px;min-height:48px;font-size:13px}.user-test .tabs button span{margin-left:4px}.user-test .prompt-block p{font-size:21px;font-weight:650;line-height:1.5;margin-bottom:0}.recording-hint{margin:0 0 18px;color:#b9c7d8;font-size:14px;line-height:1.5}.user-test .controls{grid-template-columns:1fr 120px}.user-test .controls .ghost{padding:8px}.user-test button{cursor:pointer}.user-test button:disabled{cursor:not-allowed}.user-test button:focus-visible{outline:3px solid #60c4b6;outline-offset:3px}.test-next{margin-top:24px;padding-top:16px;border-top:1px solid #33465e}.test-next p,.test-footer{color:#aebdd0;font-size:13px;line-height:1.6}.test-next .primary{width:100%;margin-top:6px;padding:12px}.test-footer{margin:20px 4px;text-align:center}@media(max-width:370px){.user-test .tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.user-test .score-row{grid-template-columns:1fr}.user-test .score-ring{margin:0 auto}}@media(prefers-reduced-motion:reduce){.user-test .dial.recording{animation:none}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(145deg,rgba(255,176,0,.18),transparent 31%),linear-gradient(315deg,rgba(42,157,143,.22),transparent 36%),#101721}button{border:0;font:inherit}.app-shell{min-height:100vh;padding:max(18px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom))}.exam-panel{width:min(100%,480px);margin:0 auto}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 2px 18px}.kicker{margin:0 0 6px;color:#ffb000;font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}h1{margin:0;max-width:330px;font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1.14;letter-spacing:0}.model-pill{flex:0 0 auto;padding:8px 10px;border:1px solid #33465e;border-radius:8px;background:#0d1520c7;color:#b9c7d8;font-size:12px;font-weight:800}.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.tabs button,.ghost{min-height:40px;border:1px solid #33465e;border-radius:8px;background:#141f2deb;color:#c6d3e1;font-size:14px;font-weight:850}.tabs button.active{background:#ffb000;border-color:#ffb000;color:#151515}.prompt-block,.custom-editor,.recorder-zone,.result-panel,.state-card{border:1px solid #33465e;border-radius:8px;background:#111b28e0;box-shadow:0 18px 55px #00000038}.prompt-block{padding:18px}.custom-editor{display:grid;gap:12px;margin-bottom:12px;padding:16px}.custom-editor label{display:grid;gap:6px;color:#96a9bf;font-size:12px;font-weight:850;text-align:left}.custom-editor input,.custom-editor textarea,.custom-editor select{width:100%;border:1px solid #33465e;border-radius:8px;outline:0;background:#101721;color:#f5f7fb;font:inherit;font-size:14px;line-height:1.45;padding:10px 11px}.custom-editor textarea{min-height:96px;resize:vertical}.custom-editor input:focus,.custom-editor textarea:focus,.custom-editor select:focus{border-color:#ffb000;box-shadow:0 0 0 2px #ffb00029}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.apply-custom{min-height:44px;border-radius:8px;background:#2a9d8f;color:#f8ffff;font-size:15px;font-weight:950}.prompt-meta{display:flex;justify-content:space-between;gap:12px;color:#8fa3ba;font-size:12px;font-weight:850}.prompt-block p{margin:12px 0 14px;color:#f5f7fb;font-size:20px;font-weight:850;line-height:1.42}.prompt-block .reference-note{margin:-4px 0 14px;color:#9cb0c7;font-size:13px;font-weight:650;line-height:1.5}.keywords{display:flex;flex-wrap:wrap;gap:7px}.keywords span{padding:6px 9px;border-radius:999px;background:#263447;color:#d7e2ef;font-size:12px;font-weight:850}.recorder-zone{margin-top:12px;padding:18px;text-align:center}.dial{width:148px;height:148px;margin:4px auto 14px;display:grid;place-items:center;border-radius:50%;background:repeating-conic-gradient(from -8deg,#ffb000 0 8deg,#263447 8deg 16deg);transition:transform .25s ease}.dial.recording{animation:pulse 1.1s ease-in-out infinite alternate}.dial-core{width:116px;height:116px;display:grid;place-items:center;align-content:center;border-radius:50%;background:#101721;box-shadow:inset 0 0 0 1px #33465e}.dial strong{color:#fff;font-size:34px;line-height:1}.dial span{color:#9cb0c7;font-size:13px;font-weight:850}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#263447}.progress-track div{height:100%;border-radius:inherit;background:#2a9d8f;transition:width .2s ease}.controls{display:grid;grid-template-columns:1fr 86px;gap:10px;margin-top:16px}.primary,.danger,.submit{min-height:46px;border-radius:8px;color:#101721;font-size:16px;font-weight:950}.primary,.submit{background:#ffb000}.danger{background:#ef6351;color:#fff}button:disabled{cursor:not-allowed;opacity:.46}audio{width:100%;margin-top:14px}.submit{width:100%;margin-top:14px;background:#2a9d8f;color:#f8ffff}.error{margin:12px 0 0;padding:12px;border-radius:8px;background:#3b1f24;color:#ffb8ae;font-size:14px;line-height:1.5}.result-panel{margin-top:12px;padding:16px}.score-row{display:grid;grid-template-columns:106px 1fr;gap:14px;align-items:center}.score-ring{width:106px;height:106px;display:grid;place-items:center;border-radius:50%}.score-ring>div{width:82px;height:82px;display:grid;place-items:center;align-content:center;border-radius:50%;background:#101721}.score-ring strong{color:#fff;font-size:30px;line-height:1}.score-ring span{color:#aebdd0;font-size:11px;font-weight:900}.transcript{margin:0;color:#dce6f2;font-size:15px;line-height:1.55}.score-copy{min-width:0}.raw-score{display:flex;align-items:baseline;gap:6px;margin:2px 0 4px}.raw-score strong{color:#fff;font-size:28px;line-height:1}.raw-score span,.score-level,.score-note,.transcript-label{color:#aebdd0;font-size:12px;font-weight:850}.transcript-meta{margin:4px 0 8px;color:#96a9bf;font-size:12px;line-height:1.5}.result-warning{margin:0 0 16px;padding:12px;border:1px solid #b88c32;border-radius:8px;background:#30291b;color:#f5dc9c;font-size:13px;line-height:1.5}.score-level,.score-note,.transcript-label{margin:6px 0 0;line-height:1.45}.score-note{color:#7f96ae;font-weight:650}.transcript-label{margin-top:12px;color:#ffb000;text-transform:uppercase}.breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.repeat-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.repeat-errors{margin-top:16px;padding-top:14px;border-top:1px solid #33465e}.repeat-errors ul{display:grid;gap:8px;margin:8px 0 0;padding-left:18px;color:#c6d3e1;font-size:13px}.repeat-errors strong{color:#ffb000;text-transform:capitalize}.primary-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.breakdown div{min-height:66px;padding:10px 8px;border-radius:8px;background:#182538}.primary-breakdown div{background:#22324a}.breakdown span{display:block;color:#96a9bf;font-size:12px;font-weight:850}.breakdown strong{display:block;margin-top:8px;color:#fff;font-size:20px}.suggestions{margin:14px 0 0;padding-left:18px;color:#d7e2ef;font-size:14px;line-height:1.55}.scope{margin:14px 0 0;color:#8fa3ba;font-size:12px;line-height:1.5}.state-card{padding:22px;color:#aebdd0}@keyframes pulse{0%{transform:scale(1);filter:saturate(1)}to{transform:scale(1.035);filter:saturate(1.35)}}@media(max-width:370px){h1{font-size:24px}.topbar{display:block}.model-pill{display:inline-block;margin-top:10px}.breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-breakdown{grid-template-columns:1fr}}.exam-panel{width:min(100%,900px)}.provider-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px}.provider-switch button{min-height:46px;padding:12px;border:1px solid #33465e;border-radius:8px;background:#14202e;color:#c6d3e1;font-size:16px;font-weight:850}.provider-switch button.active{background:#ffb000;border-color:#ffb000;color:#101721}.prompt-editor{margin:12px 0;padding:16px;border:1px solid #33465e;border-radius:8px;background:#111b28}.prompt-editor summary,.word-feedback summary,.native-scores summary{cursor:pointer;color:#dce6f2;font-size:14px;font-weight:800}.prompt-editor p{color:#9cb0c7;font-size:13px;line-height:1.5}.prompt-editor textarea{width:100%;resize:vertical;border:1px solid #33465e;border-radius:8px;padding:12px;background:#101721;color:#edf2f7;font:inherit;font-size:13px;line-height:1.55}.prompt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.prompt-actions button{padding:10px 12px;flex:1 1 130px}.feedback-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.feedback-columns.repeat-feedback{grid-template-columns:1fr}.feedback-card{min-width:0;padding:16px;border:1px solid #33465e;border-radius:8px;background:#101b29}.feedback-card h2{margin:0 0 12px;color:#ffb000;font-size:16px}.content-card h2{color:#60c4b6}.speech-metrics,.content-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-card .suggestions{padding-left:18px;font-size:13px}.feedback-toggle{padding:8px 12px;font-size:13px}.native-scores{margin-top:16px}.word-feedback{margin-top:18px;padding-top:14px;border-top:1px solid #33465e}.word-filter{display:flex;align-items:center;gap:8px;margin-top:14px;color:#b9c7d8;font-size:13px}.word-list{display:grid;gap:8px;list-style:none;padding:0;margin:12px 0 0}.word-list li{padding:12px;border:1px solid #33465e;border-radius:8px;background:#142031}.word-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.word-heading strong{color:#fff}.word-heading span{font-size:12px;color:#aebdd0}.word-heading .error-tag{padding:3px 6px;border-radius:4px;background:#482c25;color:#ffba9e}.word-list p{margin:8px 0 0;color:#b9c7d8;font-size:13px;line-height:1.5}.phoneme-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.phoneme-list>span{padding:4px 7px;background:#263447;border-radius:4px;color:#c6d3e1;font-size:12px}.phoneme-list>span.weak{color:#ffba9e;background:#482c25}@media(max-width:640px){.feedback-columns{grid-template-columns:1fr}}.writing-settings{padding:16px;margin:12px 0;background:#111b28;border:1px solid #33465e;border-radius:8px}.writing-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.writing-switch button{padding:12px;border-radius:6px;border:1px solid #33465e;background:#14202e;color:#c6d3e1;font-weight:750}.writing-switch button.active{background:#269c91;border-color:#269c91;color:#fff}.writing-prompt{margin:14px 0}.writing-prompt summary{cursor:pointer;color:#dce6f2;font-size:14px}.writing-prompt textarea{width:100%;padding:12px;margin-bottom:8px;background:#101721;border:1px solid #33465e;border-radius:6px;color:#edf2f7;font:inherit;font-size:13px;line-height:1.55;resize:vertical}.writing-settings button{min-height:40px}.writing-settings>button,.writing-prompt>button{padding:10px 12px}.band-inputs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.band-inputs label{display:grid;gap:6px;color:#b9c7d8;font-size:12px}.band-inputs input{width:100%;min-width:0;padding:10px;border:1px solid #476078;border-radius:6px;background:#101721;color:#fff;font:inherit}.converted-score{color:#c6d3e1;font-size:14px;line-height:1.6}.converted-score strong{color:#60c4b6}.azure-content-metrics>div{min-width:0}.azure-content-metrics strong small{font-size:13px;color:#aebdd0;margin-left:4px}.raw-transcript{margin:16px 0;padding:12px;border:1px solid #33465e;border-radius:8px}.raw-transcript summary{cursor:pointer;color:#b9c7d8;font-size:13px}.raw-transcript .transcript{margin-bottom:0;font-size:14px}@media(max-width:640px){.band-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}.test-share{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border:1px solid #31465a;border-radius:10px;padding:16px;margin-bottom:18px}.test-share strong{color:#ffb000}.test-share p{margin:6px 0;color:#adc0d2;font-size:13px}.test-share a{color:#69d9c6;overflow-wrap:anywhere}.test-share>div{min-width:0;flex:1 1 230px}.test-share>.transcript-meta{flex-basis:100%}
