:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#202722;background:#f2f4ef;font-synthesis:none;color-scheme:light;--ink:#202722;--muted:#626e65;--line:#d5dcd3;--paper:#fff;--accent:#29513b;--accent-soft:#e8efe8;--danger:#a23232;--radius:10px;--focus:#7da789}
*{box-sizing:border-box}body{margin:0;min-height:100vh}main{width:min(1100px,100%);margin:0 auto;padding:26px 30px 22px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.brand{font-size:14px;font-weight:750;letter-spacing:.08em}.brand span{margin-left:8px;color:var(--muted);font-weight:450;letter-spacing:0}.badge,.model-tag{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#526258}.badge{border:1px solid #bdc9be;border-radius:999px;padding:7px 10px;white-space:nowrap}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:end;padding:42px 0 30px}h1{font-size:clamp(36px,5.5vw,58px);line-height:1.02;letter-spacing:-.055em;margin:0;font-weight:650}.intro p{max-width:390px;margin:0 0 4px;color:#59665d;line-height:1.65;font-size:15px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.recorder{padding:23px 25px 18px}.section-head,.result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.section-head h2,.result-head h2,.access h2{font-size:17px;letter-spacing:-.025em;margin:0;font-weight:640}.muted{font-size:12px;color:var(--muted);line-height:1.5;margin:6px 0 0}.status{font-size:12px;color:#506956;text-align:right}.controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 14px}.recording-display{display:flex;align-items:center;gap:9px;font-variant-numeric:tabular-nums}.recording-display #clock{font-size:32px;letter-spacing:-.04em;font-weight:620}.record-dot{width:9px;height:9px;border-radius:50%;background:#bdc6bc}.record-dot.live{background:#b43b40;animation:pulse 1.3s infinite}@keyframes pulse{50%{opacity:.32}}.buttons,.submit-row>div{display:flex;align-items:center;gap:9px}button,.file-button,input{font:inherit}button,.file-button{min-height:42px;padding:10px 15px;border:1px solid #c9d2c9;border-radius:6px;background:#fff;color:var(--ink);font-size:13px;font-weight:590;cursor:pointer;text-align:center;transition:background .14s,border-color .14s}button:hover,.file-button:hover{background:#f1f5f0;border-color:#aab9aa}button:disabled{opacity:.42;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:#1e422e;border-color:#1e422e}.danger{color:var(--danger)}.file-button{display:inline-flex;align-items:center;cursor:pointer}#audio-file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.hint{color:var(--muted);font-size:12px;line-height:1.55;margin:1px 0 0}.preview{display:flex;align-items:center;gap:13px;margin-top:16px;padding-top:13px;border-top:1px solid #e7ebe5}.preview audio{width:min(380px,100%);height:36px}.preview .muted{margin:0;overflow-wrap:anywhere}.submit-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:19px;padding-top:15px;border-top:1px solid #e5e9e3}.error,#access-error{color:#9b3434;font-size:12px;line-height:1.5;margin:0}.error:empty{display:none}.results{display:grid;grid-template-columns:1fr;gap:1px;margin-top:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--line);overflow:hidden}.result-panel{background:#fff;padding:22px 24px;min-width:0}.result-head{align-items:center}.model-tag{border-radius:4px;background:#f0f3ee;padding:5px 7px;font-weight:580}.time{margin:13px 0 15px;color:#536357;font-size:12px;font-variant-numeric:tabular-nums}.time.faster{font-weight:700;color:#25553a}.transcript{min-height:105px;padding:14px 15px;background:#f5f7f3;border-radius:6px;line-height:1.7;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.transcript.empty{color:#788179;font-size:13px}.measurements{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.measurements>div{padding:14px 18px;border-right:1px solid var(--line)}.measurements>div:first-child{padding-left:0}.measurements>div:last-child{border:0}.measurements span{display:block;color:var(--muted);font-size:11px}.measurements strong{display:block;margin-top:5px;font-size:17px;font-weight:620;font-variant-numeric:tabular-nums}.test-notes{max-width:760px;margin-top:17px;color:#667168;font-size:12px;line-height:1.65}.test-notes summary{cursor:pointer;color:#46584a;font-weight:560}.test-notes p{margin:9px 0}.access{max-width:500px;padding:22px}.access h2{margin-bottom:18px}.access label{display:block;margin-bottom:7px;font-size:12px;font-weight:580}.access-row{display:flex;gap:9px}.access-row input{flex:1;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:6px;padding:9px 11px;background:#fff}.access-row button{white-space:nowrap}#access-error{margin-top:10px}footer{border-top:1px solid var(--line);padding-top:15px;margin-top:30px;color:#626c63;font-size:11px}button:focus-visible,.file-button:focus-visible,input:focus-visible{outline:3px solid #a2bea8;outline-offset:2px}::selection{background:#cadaca;color:#15231a}[hidden]{display:none!important}@media(max-width:680px){main{padding:17px 16px}.intro{grid-template-columns:1fr;gap:14px;padding:30px 0 23px}.intro p{font-size:14px}.recorder{padding:18px 16px 15px}.controls{align-items:flex-start;flex-direction:column;gap:14px}.buttons{width:100%;flex-wrap:wrap}.buttons>*{flex:1}.results{grid-template-columns:1fr}.result-panel{padding:18px 16px}.measurements>div{padding:12px 8px}.measurements span{font-size:11px}.measurements strong{font-size:15px}.section-head{align-items:flex-start;flex-direction:column}.status{text-align:left}.submit-row{align-items:flex-start;flex-direction:column}.submit-row>div{width:100%;justify-content:flex-end}.preview{align-items:flex-start;flex-direction:column}.preview audio{width:100%}.badge{font-size:11px}.brand span{display:block;margin:4px 0 0;font-size:11px}.access-row{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
