:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#172d38;background:#f6f8fa;font-synthesis:none;--ink:#172d38;--teal:#143c49;--muted:#61717a;--line:#dce4e8;--blue:#287b8e}*{box-sizing:border-box}body{margin:0}button,input,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid #4e9caf;outline-offset:4px}a{color:var(--teal)}[hidden]{display:none!important}.topbar{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;color:var(--ink);text-decoration:none;font-size:20px;font-weight:650;letter-spacing:1px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;color:white;background:var(--teal);border-radius:12px;font-size:21px;font-weight:400}.top-actions{display:flex;gap:10px}.quiet{border:0;background:transparent;color:#385461;padding:10px 12px;font-size:14px;border-radius:8px}.quiet:hover{background:#eaf0f3}.workspace{max-width:1350px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:calc(100vh - 84px)}main{padding:52px 54px 24px;min-width:0}.intro h1{font-size:36px;font-weight:600;letter-spacing:1px;margin:0 0 12px}.intro p{font-size:17px;color:var(--muted);margin:0 0 36px}.notice{background:#e7f2f4;padding:14px 17px;border-radius:10px;color:#234c59;font-size:14px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:24px}.text-button{background:none;border:none;padding:0;color:#14536a;font:inherit;font-weight:600;cursor:pointer}.focus-label{display:flex;align-items:center;gap:10px;font-size:15px;margin-bottom:10px}.focus-label span{font-size:13px;color:var(--muted)}input{width:100%;border:1px solid #cbd7dd;border-radius:9px;padding:13px 14px;background:#fff;color:var(--ink);outline:none;font-size:16px;min-width:0}input:focus{border-color:#35869a;box-shadow:0 0 0 3px #35869a18}input::placeholder{color:#77878f;font-size:14px}.dropzone{margin-top:20px;padding:35px 20px 30px;text-align:center;border:1.5px dashed #92b0bc;border-radius:16px;background:linear-gradient(150deg,#fff,#f0f7f9);cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.drag{border-color:#246c80;background:#e9f5f8}.dropzone svg{width:64px;height:64px;fill:none;stroke:#315c6b;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;margin-bottom:8px}.dropzone svg .accent{stroke:#4e96a5}.dropzone h2{font-size:21px;font-weight:550;margin:6px 0 10px}.dropzone p{font-size:15px;color:#436470;margin:0 0 22px}.file-types{font-size:13px;color:#687d87;display:block}.upload-footnote{text-align:center;color:var(--muted);font-size:13px;margin:13px 0 30px}.main-footer{font-size:13px;color:#73838b;margin-top:40px;text-align:center}aside{background:#edf2f5;border-left:1px solid var(--line);padding:37px 23px;min-width:0}.history-heading{display:flex;align-items:center;justify-content:space-between}.history-heading h2{font-size:17px;margin:0}.history-heading span{font-size:13px;color:var(--muted)}.history-description{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:30px}#history-empty{font-size:14px;color:var(--muted);line-height:2;border-top:1px solid #d6e0e5;padding-top:25px}.history-item{display:block;width:100%;text-align:left;padding:16px 12px;background:transparent;border:0;border-bottom:1px solid #d6e0e5;border-radius:7px;color:var(--ink)}.history-item:hover,.history-item.active{background:#fff}.history-item strong{display:block;font-size:14px;line-height:1.6;overflow-wrap:anywhere;font-weight:550}.history-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;margin-top:9px}.history-meta .failed{color:#a64635}.history-meta .done{color:#227c62}.current{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}.section-label{color:#387186}.current h2{font-size:22px;font-weight:550;line-height:1.6;overflow-wrap:anywhere;margin:14px 0}.progress{display:flex;align-items:center;gap:10px;font-size:14px;color:#546f7b;margin-bottom:20px}.status-dot{width:8px;height:8px;flex:0 0 auto;background:#458c9c;border-radius:50%}.status-dot.working{animation:pulse 1.4s infinite}.status-dot.error{background:#af5140}.status-dot.ready{background:#278168}@keyframes pulse{50%{opacity:.3}}.error-box{background:#fff0eb;border:1px solid #f2cbbc;color:#86432d;padding:14px;border-radius:8px;font-size:14px;line-height:1.8;margin-bottom:15px;overflow-wrap:anywhere}.primary,.secondary{border:0;padding:13px 22px;border-radius:9px;font-size:15px;background:var(--teal);color:white;min-height:44px}.primary:hover{background:#215969}.secondary{background:#e4edf1;color:#214b5c;margin-bottom:15px}.player-area{background:white;border:1px solid var(--line);border-radius:13px;padding:18px;margin-bottom:22px}.player-heading{display:flex;justify-content:space-between;font-size:13px;color:#58707b;margin-bottom:13px}audio{width:100%;height:44px}.text-link{font-size:14px;text-underline-offset:4px;cursor:pointer}.player-area .text-link{display:block;margin:12px 0 0}.player-area .primary{display:block;margin:10px 0}details{border-top:1px solid var(--line);padding-top:16px}summary{cursor:pointer;font-size:15px;color:#294d5c;line-height:1.6}#report-content{line-height:1.95;font-size:16px;padding-top:15px;overflow-wrap:anywhere}#report-content h3{font-size:15px;margin:24px 0 8px}#report-content p{white-space:pre-wrap}#report-content ul{padding-left:21px}#report-content li{margin-bottom:13px}.quote{display:block;font-size:14px;color:#637782;border-left:2px solid #a7c1cc;padding-left:12px;margin-top:5px}.record-actions{display:flex;gap:15px;align-items:center;margin-top:20px;flex-wrap:wrap}.record-actions .quiet{padding-left:0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90%;background:#193a49;color:white;padding:15px 22px;border-radius:10px;z-index:10;font-size:14px;box-shadow:0 5px 25px #152c3820}.mobile-only{display:none}dialog{width:min(620px,calc(100vw - 30px));max-height:90dvh;border:1px solid var(--line);border-radius:18px;padding:28px;color:var(--ink);box-shadow:0 24px 100px #142e3b33}dialog::backdrop{background:#102d3d50;backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.dialog-header h2{font-size:21px;margin:0}.dialog-header .quiet{white-space:nowrap}.settings-intro,.form-hint{font-size:13px;color:#667c86;line-height:1.8}.settings-intro{margin-bottom:24px}fieldset{border:1px solid var(--line);border-radius:10px;padding:17px;margin:20px 0}legend{font-size:16px;padding:0 8px}form label{display:block;font-size:14px;margin:13px 0 8px}form label span,#ocr-key-status{color:#287b61;font-size:12px;margin-left:8px}.ocr-settings{margin:20px 0}form .text-link{display:inline-block;margin-top:12px}.form-error{color:#a53d2b;font-size:14px;line-height:1.7}.auth-dialog{width:min(440px,calc(100vw - 30px));padding:35px}.auth-mark{margin-bottom:23px}.auth-dialog h2{font-size:23px;margin:0 0 12px}.auth-dialog p{color:#647780;font-size:14px;line-height:1.8}.auth-dialog .primary{width:100%}.auth-dialog .form-error{color:#a53d2b}.source-page{border-top:1px solid var(--line);padding:18px 0}.source-page h3{font-size:14px;color:#3d6f7c}.source-page pre{white-space:pre-wrap;font:15px/1.9 inherit;overflow-wrap:anywhere}.muted{color:var(--muted)}
@media(max-width:900px){main{padding:35px 28px}.workspace{grid-template-columns:minmax(0,1fr) 250px}aside{padding:28px 16px}.intro h1{font-size:30px}}
@media(max-width:680px){.topbar{height:68px;padding:0 18px}.brand{font-size:17px;gap:9px}.brand-mark{width:33px;height:33px;border-radius:10px;font-size:18px}.top-actions{gap:0}.quiet{padding:9px;font-size:13px}#logout{display:none}.mobile-only{display:block}.workspace{display:block;min-height:calc(100dvh - 68px)}main{padding:31px 21px 25px}.intro h1{font-size:29px}.intro p{font-size:15px;margin-bottom:27px}.dropzone{padding:27px 12px}.dropzone h2{font-size:19px}.file-types{font-size:12px;line-height:1.8}aside{display:none;border-left:0;border-top:1px solid var(--line);padding:25px 21px}aside.visible{display:block}.main-footer{margin-top:25px}.current h2{font-size:19px}dialog{padding:21px}.dialog-header h2{font-size:18px}.auth-dialog{padding:28px}fieldset{padding:13px}.notice{padding:13px}.history-description{margin-bottom:14px}#report-content{font-size:15px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
