:root{--bg: #f4f2ec;--surface: #fffdf8;--surface-2: #faf8f1;--ink: #1e241f;--ink-soft: #4a5149;--muted: #777d72;--line: #e3ded0;--line-strong: #cfc8b6;--accent: #2f6b58;--accent-strong: #235245;--accent-soft: #e6efea;--warn: #96601c;--warn-soft: #f8ecd8;--danger: #a23a2d;--danger-soft: #f8e5e0;--info: #2f5b8a;--info-soft: #e5edf6;--radius: 14px;--shadow: 0 1px 2px rgba(35, 32, 22, .04), 0 10px 30px rgba(35, 32, 22, .05);font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1200px 500px at 85% -10%,rgba(47,107,88,.08),transparent 60%),radial-gradient(900px 420px at 0% 0%,rgba(150,96,28,.05),transparent 55%),var(--bg)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px clamp(18px,4vw,48px);border-bottom:1px solid rgba(207,200,182,.55);background:#f4f2ecdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand:hover{text-decoration:none}.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;letter-spacing:0;box-shadow:inset 0 -2px #0000001f}.brand-text{display:flex;flex-direction:column;line-height:1.25}.brand-text strong{font-size:17px;letter-spacing:.02em;white-space:nowrap}.brand-text small{color:var(--muted);font-size:12px}.header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.auth-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px;line-height:1.5}.auth-chip .auth-name{font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-chip .link-btn{font-size:12px}.app-main{width:min(1080px,100%);margin:0 auto;padding:clamp(22px,4vw,44px) clamp(16px,4vw,40px) 72px;flex:1}.app-main.wide{width:min(1320px,100%)}.app-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px clamp(18px,4vw,48px) 26px;border-top:1px solid rgba(207,200,182,.5);color:var(--muted);font-size:12px}.footer-dim{color:#8b8f83}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;border:1px solid transparent;padding:10px 18px;font-size:15px;font-weight:600;line-height:1.3;transition:transform .08s ease,background .15s ease,border-color .15s ease;text-decoration:none;white-space:nowrap}.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px #0000001f}.btn-primary:hover{background:var(--accent-strong)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover{border-color:var(--accent)}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:transparent}.btn-ghost:hover{background:#2f6b5814}.btn-danger{background:transparent;color:var(--danger);border-color:#a23a2d66}.btn-danger:hover{background:var(--danger-soft)}.btn-lg{padding:14px 26px;font-size:17px;border-radius:12px}.btn-sm{padding:6px 12px;font-size:13px;border-radius:8px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.link-btn{background:none;border:none;color:var(--accent-strong);padding:0;font-size:13px;text-decoration:underline;text-underline-offset:3px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,2.4vw,26px);box-shadow:var(--shadow)}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title h2{font-size:20px;letter-spacing:.01em}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.section-extra{color:var(--muted);font-size:13px}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hr{height:1px;background:var(--line);border:none;margin:18px 0}.mode-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:999px;font-size:12px;border:1px solid transparent;line-height:1.4;white-space:nowrap}.mode-badge strong{font-size:12px;letter-spacing:.02em}.mode-hint{color:var(--muted);border-left:1px solid currentColor;opacity:.75;padding-left:8px;font-size:11px}.mode-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.mode-demo{color:#7a5417;background:#f7eeda;border-color:#e8d5ac}.mode-text{color:var(--info);background:var(--info-soft);border-color:#c6d7ea}.mode-voice{color:var(--accent-strong);background:var(--accent-soft);border-color:#bcd6ca}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:clamp(20px,4vw,48px);align-items:center;padding:clamp(12px,2vw,26px) 0 clamp(26px,4vw,44px)}.hero h1{font-size:clamp(34px,5vw,54px);line-height:1.1;letter-spacing:-.01em;margin-bottom:16px}.hero h1 .accent{color:var(--accent);background:linear-gradient(transparent 62%,#2f6b5829 62%)}.hero-lead{font-size:clamp(16px,2vw,18px);color:var(--ink-soft);max-width:34em;margin-bottom:24px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.hero-notes{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px}.hero-notes span:before{content:"·";margin-right:8px;color:var(--accent)}.hero-side{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.hero-side-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px dashed var(--line-strong);margin-bottom:14px}.hero-side-head strong{font-size:14px}.fake-danmaku{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.fake-danmaku .line{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--ink-soft)}.avatar{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--ink-soft)}.fake-danmaku .bubble{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:6px 10px}.hero-side-foot{font-size:12px;color:var(--muted);border-top:1px dashed var(--line-strong);padding-top:12px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.feature h3{font-size:15px;margin-bottom:6px}.feature p{font-size:13px;color:var(--muted)}.feature-index{font-size:11px;color:var(--accent);letter-spacing:.16em;margin-bottom:8px}.home-lower{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px;margin-top:22px}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.history-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px}.history-list li:last-child{border-bottom:none}.history-list .grow{flex:1;min-width:0}.history-list .grow strong{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.field{display:flex;flex-direction:column;gap:6px}.field.span-2{grid-column:span 2}.field label{font-size:13px;font-weight:600;color:var(--ink-soft)}.field .hint{font-size:12px;color:var(--muted)}.input,.textarea,.select{width:100%;border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:10px 12px;font-size:15px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f6b581f}.textarea{min-height:84px;resize:vertical}.field-row{display:flex;gap:10px;align-items:center}.field-row .input{flex:1}.fact-id{font-family:SFMono-Regular,Consolas,monospace;font-size:11px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 6px;margin-left:6px}.unknown-box{border:1px dashed var(--line-strong);background:var(--surface-2);border-radius:10px;padding:12px 14px;font-size:13px;color:var(--muted)}.review-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-list li{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:10px 12px}.review-list .label{font-size:12px;color:var(--muted);margin-bottom:2px}.review-list .value{font-size:14px;font-weight:600}.checkbox-row{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.checkbox-row input{margin-top:3px;accent-color:var(--accent)}.warning-box{border-left:3px solid var(--warn);background:var(--warn-soft);color:#6b4614;padding:10px 14px;border-radius:8px;font-size:13px}.setup-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:18px;align-items:start}.mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mode-option{text-align:left;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s ease,background .15s ease}.mode-option:hover{border-color:var(--accent)}.mode-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.mode-option:disabled{opacity:.55;cursor:not-allowed}.mode-option strong{font-size:15px}.mode-option small{color:var(--muted);font-size:12px;line-height:1.5}.mode-option .unavailable{color:var(--danger);font-size:12px}.focus-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.focus-option{text-align:left;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:12px 14px}.focus-option.selected{border-color:var(--accent);background:var(--accent-soft)}.focus-option strong{font-size:14px}.focus-option small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.difficulty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.difficulty-option{text-align:left;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.difficulty-option.selected{border-color:var(--accent);background:var(--accent-soft)}.difficulty-option strong{font-size:15px}.difficulty-option small{color:var(--muted);font-size:12px;line-height:1.5}.mic-panel{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-2)}.mic-status{display:flex;align-items:center;gap:10px;font-size:13px}.level-meter{height:8px;background:#e7e2d5;border-radius:999px;overflow:hidden;margin-top:10px}.level-meter>span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),#6cae8d);transition:width .08s linear}.summary-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:14px}.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13px}.kv:last-child{border-bottom:none}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:600}.practice-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}.practice-top h1{font-size:20px}.practice-top .sub{color:var(--muted);font-size:13px}.practice-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px;align-items:start}.stage{display:flex;flex-direction:column;gap:14px;min-width:0}.stage-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.timer-block{display:flex;align-items:baseline;gap:10px;justify-content:flex-end}.timer{font-variant-numeric:tabular-nums;font-size:clamp(30px,4vw,42px);font-weight:700;letter-spacing:.01em;line-height:1}.timer.total{font-size:14px;font-weight:500;color:var(--muted)}.timer-bar{height:6px;background:#e9e4d8;border-radius:999px;overflow:hidden;margin-top:8px}.timer-bar>span{display:block;height:100%;background:var(--accent);width:0;transition:width .2s linear}.timer-bar.danger>span{background:var(--warn)}.focus-card{background:linear-gradient(135deg,#fffdf8,#f2efe5);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:13px;display:flex;gap:10px;align-items:center}.focus-card .label{color:var(--muted);flex:0 0 auto}.focus-card strong{font-size:14px}.transcript-panel{min-height:60px;display:flex;flex-direction:column;gap:10px}.transcript-lines{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding-right:4px}.transcript-line{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;font-size:15px;align-items:baseline}.transcript-line .t{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.transcript-line .text{line-height:1.65}.transcript-line.interim .text{color:var(--muted);font-style:italic}.transcript-empty{color:var(--muted);font-size:14px;padding:24px 0;text-align:center}.transcript-details summary{cursor:pointer;font-size:13px;color:var(--accent-strong);margin-top:6px}.text-input-box{margin-top:12px;border-top:1px dashed var(--line);padding-top:12px;display:flex;gap:8px;align-items:flex-end}.text-input-box textarea{flex:1;min-height:54px;max-height:120px}.voice-strip{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-size:13px;flex-wrap:wrap}.mic-dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}.mic-dot.live{background:var(--danger);box-shadow:0 0 #a23a2d80;animation:pulse 1.6s infinite}.mic-dot.paused{background:var(--warn)}@keyframes pulse{0%{box-shadow:0 0 #a23a2d73}70%{box-shadow:0 0 0 8px #a23a2d00}to{box-shadow:0 0 #a23a2d00}}.voice-level{width:100px}.controls{position:sticky;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fffdf8f2;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 30px #2320161f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20}.controls .left,.controls .right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.danmaku-panel{position:sticky;top:92px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;overflow:hidden}.danmaku-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.danmaku-head strong{font-size:14px}.sim-label{font-size:11px;color:var(--muted);border:1px solid var(--line-strong);border-radius:999px;padding:2px 8px}.danmaku-feed{list-style:none;margin:0;padding:12px 0 4px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;flex:1}.danmaku-item{display:flex;gap:8px;align-items:flex-start;animation:rise .28s ease both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.danmaku-item .body{background:var(--surface-2);border:1px solid var(--line);border-radius:4px 12px 12px;padding:8px 11px;font-size:14px;max-width:100%}.danmaku-item .meta{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:2px}.core-tag{font-size:10px;color:var(--accent-strong);background:var(--accent-soft);border-radius:4px;padding:1px 5px}.fallback-tag{font-size:10px;color:var(--warn);background:var(--warn-soft);border-radius:4px;padding:1px 5px}.danmaku-empty{color:var(--muted);font-size:13px;padding:20px 8px;text-align:center}.facts-block{border-bottom:1px dashed var(--line-strong);padding-bottom:10px;margin-bottom:10px}.facts-block>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--accent-strong)}.facts-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;margin-bottom:6px}.facts-list{display:flex;flex-direction:column;gap:4px}.fact-line{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:8px;font-size:12px;align-items:baseline}.fact-line .fid{font-family:Consolas,monospace;color:var(--muted);font-size:10px}.fact-line .flabel{color:var(--muted)}.fact-line .fvalue{text-align:right;color:var(--ink);font-weight:600}.facts-unknown{font-size:11px;color:var(--muted);margin-top:6px}.q-hint{margin-top:6px;padding:6px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;line-height:1.5}.danmaku-item.ambient .body{background:#f7f6f1;border-style:dashed;color:var(--ink-soft)}.ambient-tag{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px}.pause-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e241f8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;display:grid;place-items:center;padding:20px}.pause-card{width:min(420px,100%);background:var(--surface);border-radius:16px;padding:26px;text-align:center;box-shadow:0 24px 80px #00000047}.pause-card h2{font-size:20px;margin-bottom:8px}.pause-card p{color:var(--muted);font-size:13px;margin-bottom:18px}.silence-hint{background:var(--warn-soft);border-left:3px solid var(--warn);color:#6b4614;font-size:13px;padding:8px 12px;border-radius:8px}.demo-banner{background:#f7eeda;border:1px solid #e8d5ac;color:#6f4a10;border-radius:10px;padding:10px 14px;font-size:13px;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.report-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}.report-head h1{font-size:clamp(24px,3vw,32px);letter-spacing:-.01em;margin-bottom:6px}.report-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px;align-items:center}.report-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.stat .k{font-size:12px;color:var(--muted);margin-bottom:4px}.stat .v{font-size:24px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.stat .note{font-size:11px;color:var(--muted);margin-top:2px}.stat.warn .v{color:var(--warn)}.stat.danger .v{color:var(--danger)}.issue-list{display:flex;flex-direction:column;gap:12px}.issue{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface);display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px}.issue-index{width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center;font-weight:700;font-size:14px}.issue h3{font-size:16px;margin-bottom:6px;line-height:1.45}.issue .quote{font-size:14px;background:var(--surface-2);border-left:3px solid var(--line-strong);padding:8px 12px;border-radius:0 8px 8px 0;margin:8px 0;color:var(--ink-soft)}.issue .detail{font-size:14px;color:var(--ink-soft)}.issue .suggestion{font-size:13px;color:var(--accent-strong);background:var(--accent-soft);border-radius:8px;padding:8px 12px;margin-top:10px}.issue-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}.certainty{font-size:11px;color:var(--muted)}.status-tag{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font-size:11px;line-height:1.6;border:1px solid transparent;white-space:nowrap}.status-coverage-answered,.status-fact-match{color:var(--accent-strong);background:var(--accent-soft);border-color:#bcd6ca}.status-coverage-partial,.status-fact-ambiguous{color:var(--warn);background:var(--warn-soft);border-color:#e6cf9e}.status-coverage-pending_confirmation{color:var(--info);background:var(--info-soft);border-color:#c6d7ea}.status-coverage-not_found,.status-fact-conflict,.status-fact-unknown{color:var(--danger);background:var(--danger-soft);border-color:#e8beb6}.status-coverage-not_evaluated,.status-fact-not_mentioned{color:var(--muted);background:var(--surface-2);border-color:var(--line)}.status-fact-corrected{color:#5a5f56;background:#eef0e8;border-color:#d5d9cb}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-weight:600;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line-strong);white-space:nowrap}table.data td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}table.data tr:last-child td{border-bottom:none}table.data td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.quote-cell{max-width:420px;color:var(--ink-soft)}.chip{display:inline-flex;align-items:center;border-radius:5px;padding:1px 6px;font-size:11px;margin:1px 3px 1px 0;font-family:Consolas,monospace;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink-soft);white-space:nowrap}.chip-fact{border-color:#c6d7ea;background:var(--info-soft);color:var(--info)}.chip-segment{border-color:#d8d3c5}.evidence{display:inline-flex;flex-wrap:wrap}.evidence-empty{color:var(--muted)}details.evidence-block{margin-top:16px}details.evidence-block>summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--accent-strong);padding:8px 0}.coverage-bars{display:flex;flex-direction:column;gap:10px}.coverage-row{display:grid;grid-template-columns:120px minmax(0,1fr) 66px;gap:12px;align-items:center;font-size:13px}.coverage-track{height:9px;background:#ece7da;border-radius:999px;overflow:hidden}.coverage-track>span{display:block;height:100%;border-radius:999px;background:var(--accent)}.coverage-track.partial>span{background:var(--warn)}.coverage-track.pending>span{background:var(--info)}.coverage-track.notfound>span{background:var(--danger)}.coverage-track.notevaluated>span{background:#b9b5a8}.coverage-row .count{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-soft)}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compare-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-2)}.compare-card.current{border-color:var(--accent);background:var(--accent-soft)}.compare-card h4{font-size:13px;color:var(--muted);margin-bottom:8px}.compare-card .big{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.gap-list,.caveat-list{margin:0;padding-left:20px;font-size:13px;color:var(--ink-soft);display:flex;flex-direction:column;gap:6px}.usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.usage-cell{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface-2)}.usage-cell .k{font-size:11px;color:var(--muted)}.usage-cell .v{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.transcript-report{display:flex;flex-direction:column;gap:2px}.transcript-report .line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px;align-items:baseline}.transcript-report .line:last-child{border-bottom:none}.transcript-report .t{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.origin-tag{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 4px;margin-left:6px;white-space:nowrap}.inline-edit{display:flex;gap:6px;align-items:flex-start;margin-top:6px}.inline-edit textarea{flex:1;min-height:56px}.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.empty-state h3{color:var(--ink);font-size:17px;margin-bottom:6px}.alert{border-radius:10px;padding:12px 14px;font-size:13px;border:1px solid transparent}.alert-error{background:var(--danger-soft);border-color:#e8beb6;color:#7c2b21}.alert-info{background:var(--info-soft);border-color:#c6d7ea;color:#24476b}.alert-success{background:var(--accent-soft);border-color:#bcd6ca;color:var(--accent-strong)}.plan-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}.plan-card{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.plan-card.featured{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),var(--shadow)}.plan-badge{position:absolute;top:-9px;right:12px;background:var(--accent);color:#fff;font-size:10px;border-radius:999px;padding:2px 8px}.plan-card h3{font-size:16px}.plan-price{font-size:30px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.plan-price .currency{font-size:16px;margin-right:2px}.plan-credits{font-size:14px;font-weight:600;color:var(--accent-strong)}.plan-desc{font-size:12px;color:var(--muted);flex:1}.plan-card .btn{margin-top:8px}.qr-image{display:block;width:240px;height:240px;margin:12px auto;border-radius:10px;border:1px solid var(--line);background:#fff}.order-list{display:flex;flex-direction:column}.order-row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13px}.order-row:last-child{border-bottom:none}.order-plan{font-weight:600}.order-status{font-size:11px;border-radius:999px;padding:1px 8px;border:1px solid var(--line);color:var(--muted)}.order-status.status-paid{color:var(--accent-strong);border-color:#bcd6ca;background:var(--accent-soft)}.order-status.status-failed{color:var(--danger);border-color:#e8beb6;background:var(--danger-soft)}.toast-stack{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:100;max-width:min(380px,calc(100vw - 36px))}.toast{background:#232922;color:#fff;border-radius:10px;padding:10px 14px;font-size:13px;box-shadow:0 12px 40px #0000003d}.toast-error{background:#7c2b21}.toast-success{background:var(--accent-strong)}.spinner{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.spinner-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 980px){.hero{grid-template-columns:1fr;padding-top:10px}.feature-grid,.home-lower,.setup-grid{grid-template-columns:1fr}.summary-aside{position:static}.summary-strip,.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-grid{grid-template-columns:1fr}.danmaku-panel{position:static;max-height:380px;order:2}.stage{order:1}}@media (max-width: 680px){.app-header{padding:12px 16px;align-items:flex-start}.brand-text small,.mode-hint{display:none}.app-main{padding:18px 14px 96px}.hero h1{font-size:34px}.form-grid,.review-list,.focus-options,.mode-options,.difficulty-options{grid-template-columns:1fr}.field.span-2{grid-column:span 1}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{padding:10px 12px}.stat .v{font-size:20px}.controls{position:fixed;left:10px;right:10px;bottom:10px;border-radius:14px;padding:10px}.controls .btn{padding:10px 14px;font-size:14px}.timer{font-size:30px}.issue{grid-template-columns:1fr}.section-title{flex-direction:column;align-items:flex-start;gap:6px}.section-title h2{font-size:18px}.issue-index{width:28px;height:28px}.report-actions{justify-content:flex-start}.transcript-line,.transcript-report .line{grid-template-columns:44px minmax(0,1fr)}.compare-grid{grid-template-columns:1fr}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-price{font-size:24px}.order-row{grid-template-columns:1fr auto;row-gap:2px}.coverage-row{grid-template-columns:92px minmax(0,1fr) 48px;font-size:12px}.issue-foot{align-items:flex-start}.app-footer{padding:16px 16px 92px;font-size:11px}}
