:root{color:#1d2a2b;font-synthesis:none;background:#f3f0e7;font-family:PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 85% 8%,#d3ebe2 0 12%,#0000 36%),#f3f0e7;min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}main{text-wrap:pretty;width:min(100% - 32px,680px);min-height:100vh;margin:0 auto;padding:clamp(44px,8vw,82px) 0 48px}h1,h2,h3{color:#163b3b;letter-spacing:-.04em}h1{margin:0 0 14px;font-size:clamp(2.1rem,8vw,4.5rem);line-height:.98}h2{margin:0 0 16px;font-size:clamp(1.65rem,5vw,2.6rem)}h3{margin:26px 0 10px;font-size:1.1rem}p{color:#4e5c59;margin:0 0 26px;font-size:clamp(1rem,2.5vw,1.15rem);line-height:1.65}.compatibility-note{color:#6a5a2b;background:#fff8df;border-left:3px solid #d5a646;margin-top:10px;padding:10px 12px;font-size:.92rem}.capture-note{color:#315f59;background:#edf5ef;border-radius:14px;margin:8px 0 10px;padding:12px 14px;font-size:.92rem}.ocr-loading{background:#edf7f3;border:1px solid #b9d5ce;border-radius:18px;align-items:flex-start;gap:14px;margin:18px 0;padding:16px;display:flex;box-shadow:0 10px 24px #1d6c651a}.ocr-loading-ring{border:4px solid #b4d9d0;border-top-color:#1d6c65;border-radius:50%;flex:none;width:30px;height:30px;margin-top:3px;animation:.9s linear infinite ocr-loading-spin}.ocr-loading-content{flex:1;gap:5px;min-width:0;display:grid}.ocr-loading-content strong{color:#163b3b;font-size:1.05rem}.ocr-loading-content>span{color:#36736a;font-size:.9rem;font-weight:700}.ocr-loading-content p{color:#41655f;margin:5px 0 0;font-size:.86rem;line-height:1.5}.ocr-loading-track{background:#cce5de;border-radius:999px;height:6px;overflow:hidden}.ocr-loading-track i{border-radius:inherit;background:#2d8278;width:42%;height:100%;animation:1.25s ease-in-out infinite ocr-loading-sweep;display:block}@keyframes ocr-loading-spin{to{transform:rotate(1turn)}}@keyframes ocr-loading-sweep{0%{transform:translate(-110%)}to{transform:translate(350%)}}section,fieldset{background:#fffdf8d1;border:1px solid #d5d4c8;border-radius:20px;margin:20px 0;padding:20px;box-shadow:0 12px 30px #2337300f}fieldset{gap:10px;display:grid}legend{color:#56716d;padding:0 8px;font-size:.9rem;font-weight:700}label{color:#293b39;align-items:center;gap:10px;min-height:44px;line-height:1.4;display:flex}.upload-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 12px;display:grid}.upload-action{color:#fffdf8;cursor:pointer;background:#1d6c65;border-radius:999px;justify-content:center;min-height:56px;padding:0 18px;font-weight:750;position:relative;box-shadow:0 8px 18px #1d6c6533}.upload-action-secondary{color:#1d6c65;box-shadow:none;background:#edf5ef;border:1px solid #7da49e}.upload-action:focus-within{outline-offset:3px;outline:3px solid #e1a653}.upload-action input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}textarea,input[type=text],label:not(fieldset label)>input:not([type=file]):not([type=radio]):not([type=checkbox]){background:#fffdf8;border:1px solid #c8cdc4;border-radius:12px;width:100%;min-height:48px;padding:10px 12px}textarea{resize:vertical;min-height:148px;line-height:1.6}input[type=radio],input[type=checkbox]{accent-color:#24786e;width:20px;height:20px}button{color:#fffdf8;letter-spacing:.01em;cursor:pointer;background:#1d6c65;border:0;border-radius:999px;min-height:52px;margin:10px 8px 0 0;padding:0 22px;font-weight:750;transition:transform .16s,background .16s,box-shadow .16s;box-shadow:0 8px 18px #1d6c6533}button:hover{background:#155a54;transform:translateY(-1px);box-shadow:0 11px 22px #1d6c653d}button:active{box-shadow:none;transform:translateY(1px)}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #e1a653}button:disabled{cursor:not-allowed;box-shadow:none;background:#aeb8b3;transform:none}ol{margin:0;padding-left:0;list-style:none}ol li{border-top:1px solid #e7e4da}ol li:first-child{border-top:0}.wrong-answer-selected{background:#fff0ea;border:2px solid #b45a45;border-radius:12px;min-height:48px;padding:8px 10px;font-weight:750}.feedback-prompt{margin-top:28px}.feedback-prompt>p{margin-bottom:12px}.feedback-actions{flex-wrap:wrap;gap:8px;display:flex}.feedback-actions button{margin:0}.feedback-actions button.feedback-selected{background:#155a54;box-shadow:inset 0 0 0 3px #9fd2c6}.feedback-thanks{font-weight:750;color:#1d6c65!important;margin:12px 0 0!important}[role=alert]{color:#a33f2e;font-weight:700}.review-screen{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.review-header{margin-bottom:30px}.review-notice{color:#6a5a2b;background:#fff8df;border-left:3px solid #d5a646;padding:12px 14px;font-size:.94rem}.eyebrow{color:#24786e;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:.84rem;font-weight:800}.review-group{padding:0;overflow:hidden}.group-toggle{background:#edf5ef;border-bottom:1px solid #e1e2d9;padding:18px 20px;font-weight:800}.review-items{background:#e7e4da;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.review-item{background:#fffdf8;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:grid}.review-item>span{color:#84928e;text-align:right;font-size:.8rem}.review-field{gap:3px;min-width:0;display:grid}.review-item input{background:#fff;border:1px solid #d7d9d1;border-radius:10px;width:100%;min-width:0;min-height:44px;padding:8px 10px}.review-item input:hover,.review-item input:focus{background:#fff;border-color:#9cbab4}.review-item small{color:#a25a25;white-space:nowrap;margin-left:4px;font-size:.72rem;line-height:1.35}.review-delete{color:#9b4135;white-space:nowrap;min-height:44px;box-shadow:none;background:#fff7f4;border:1px solid #d6a79f;margin:0;padding:0 10px;font-size:.9rem}.review-delete:hover{box-shadow:none;background:#f9e7e1}.review-add{color:#1d6c65;min-height:42px;box-shadow:none;background:#e8f2ed;margin:14px 20px 18px;padding:0 16px}.review-add:hover{box-shadow:none;background:#d9ebe2}.review-action-bar{z-index:3;padding:22px 0 calc(10px + env(safe-area-inset-bottom));background:linear-gradient(#f3f0e700,#f3f0e7 20px);margin-top:14px;position:sticky;bottom:0}.primary-action{white-space:nowrap;width:100%;margin:0}.voice-benchmark{width:min(100% - 32px,820px)}.voice-selection{grid-template-columns:1fr}.voice-selection>p{margin:0 0 4px;font-size:.9rem}.voice-selection-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.voice-selection-row label{gap:6px;display:grid}.voice-selection-row select{color:#293b39;background:#fffdf8;border:1px solid #c8cdc4;border-radius:12px;width:100%;min-width:0;min-height:46px;padding:8px 34px 8px 12px}.voice-selection-row button{min-height:46px;margin:0}.voice-speed-options{grid-template-columns:repeat(3,minmax(0,1fr))}.voice-sample-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.voice-sample-grid button{width:100%;margin:0}.voice-test-result dl{grid-template-columns:max-content 1fr;gap:8px 18px;margin:0 0 18px;display:grid}.voice-test-result dt{color:#56716d;font-weight:700}.voice-test-result dd{overflow-wrap:anywhere;margin:0}.worker-diagnostic-list{margin-bottom:16px;display:grid}.worker-diagnostic-row{border-bottom:1px solid #e2e1d9;grid-template-columns:minmax(150px,.8fr) 92px minmax(0,2fr);gap:10px;padding:9px 0;display:grid}.worker-diagnostic-row>span:nth-child(2){color:#56716d;font-weight:700}.worker-diagnostic-detail{overflow-wrap:anywhere}.worker-diagnostics button{margin-left:0}.voice-error-details{background:#fff5ee;border-left:3px solid #b55b45;padding:12px 14px}.voice-error-details p{overflow-wrap:anywhere;margin:4px 0}@media (width>=720px){main{padding-top:92px}fieldset{grid-template-columns:repeat(3,1fr)}fieldset legend{grid-column:1/-1}.voice-selection{grid-template-columns:1fr}}@media (width<=540px){.upload-actions,.review-items,.voice-sample-grid,.voice-selection-row{grid-template-columns:1fr}.voice-selection-row button{width:100%}.worker-diagnostic-row{grid-template-columns:1fr;gap:3px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}.ocr-loading-ring,.ocr-loading-track i{animation:none}}.audio-preparation progress{accent-color:#1d6c65;width:100%;height:12px}.audio-preparation .ocr-loading-content strong{font-size:1.2rem}.audio-preparation .ocr-loading-content p{font-size:1rem}.audio-privacy-note{margin-top:24px;font-size:.9rem}@media (prefers-reduced-motion:reduce){.audio-preparation .ocr-loading-ring{animation:none}}
