@font-face{font-family:Inter;src:url(/fonts/InterVariable-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-2199,U+2212,U+2215,U+2264-2265,U+25B8-25BE,U+2713-2714,U+FEFF,U+FFFD}@font-face{font-family:Inter Latin;src:url(/fonts/InterVariable-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00B6,U+00B8-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-2017,U+2020-2025,U+2027-206F,U+2074,U+20AC,U+2122,U+2190-2199,U+2212,U+2215,U+2264-2265,U+25B8-25BE,U+2713-2714,U+FEFF,U+FFFD}:root{--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Noto Sans Mono CJK SC", monospace;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-16: 16px;--fs-18: 18px;--fs-20: 20px;--fs-24: 24px;--fs-28: 28px;--lh-tight: 1.25;--lh-snug: 1.4;--lh-body: 1.55;--track-tight: -.01em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--content-max: 1360px;--content-max-wide: 1360px;--gutter: clamp(16px, 4vw, 48px);--control-h: 36px;--control-h-sm: 28px;--topbar-h: 56px;--content-left: 64px;--bg: #f6f7f9;--surface: #ffffff;--ink: #1f2328;--ink-muted: #57606a;--line: #e3e6ea;--line-strong: #cfd4da;--line-control: #858d98;--grid: #eceff3;--accent: #256bc0;--accent-strong: #1d5aa6;--accent-bg: #e8f1fc;--accent-soft: #dbe9fb;--accent-ring: rgba(37, 107, 192, .28);--ok: #197c49;--ok-bg: #eaf5eb;--ok-strong: #136338;--warn: #a8480a;--warn-bg: #fdefe3;--warn-strong: #8a3907;--danger: #c0392b;--danger-bg: #fdecea;--shadow-1: 0 1px 2px rgba(16, 24, 40, .05);--shadow-2: 0 4px 12px rgba(16, 24, 40, .08), 0 1px 3px rgba(16, 24, 40, .06);--shadow-3: 0 16px 40px rgba(16, 24, 40, .16), 0 4px 12px rgba(16, 24, 40, .08);--shadow: var(--shadow-1);--scrim: rgba(16, 24, 40, .35);--scrim-light: rgba(16, 24, 40, .25);--shade-edge: rgba(16, 24, 40, .14);--r-1: 4px;--r-2: 6px;--r-3: 10px;--r-pill: 999px;--r-ctl: 8px;--radius: 10px;--dur-1: .12s;--dur-2: .18s;--dur-3: .26s;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-std: cubic-bezier(.4, 0, .2, 1);--c-material: #99651a;--c-material-ink: #7a4e0f;--bg-material: #fff8e6;--bg-material-soft: #fffbf1;--bg-material-strong: #f7e7b8;--line-material: #f1d38a;--amber-50: #fffbeb;--amber-500: #d97706;--c-student: #2e7d32;--bg-student: #eaf5eb;--bg-student-soft: #f3faf4;--line-student: #a5d6a7;--c-ai: #5e35b1;--bg-ai: #efe9f9;--bg-ai-soft: #f6f3fc;--line-ai: #c6b6ea;--tree-chapter: var(--accent);--tree-hit: #fff3c4;--font-zh: "Inter Latin", system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;--mono-md: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", "Noto Sans Mono CJK SC", monospace;--md-fs: 14px;--md-h1: 16px;--md-fs-compact: 14px;--md-lh-zh: 1.7;--md-lh-en: 1.625;--md-measure-en: 36em;--md-gap: .875em;--md-item-gap: .375em;--md-indent: 1.5em;--md-table-fs: 13px;--md-code-fs: .875em;--md-code-bg: rgba(31, 35, 40, .07);--md-pre-fs: 13px;--md-pre-fs-sm: 12px;--md-pre-lh: 1.6;--md-pre-bg: var(--surface);--md-pre-line: var(--line);--md-quote-rail: var(--line-control);--md-h1-compact: 16px;--hl-string: #0a3069;--hl-number: #0550ae;--hl-comment: var(--ink-muted);--math-inline: 1.15em;--math-display: 1.21em;--math-fit-floor: .8;--math-fit-floor-multi: .6}:root{--qa-sel: color-mix(in srgb, var(--c-ai) 14%, var(--bg-ai-soft))}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:var(--fs-14)/var(--lh-body) var(--font);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}code,kbd{font-family:var(--mono);font-size:.92em}::selection{background:var(--accent-bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}svg.icon{display:inline-block;flex:none;vertical-align:middle}h1,h2,h3{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 14px;border-radius:var(--r-ctl);border:1px solid var(--line-control);background:var(--surface);color:var(--ink);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-1) var(--ease-std),border-color var(--dur-1) var(--ease-std),color var(--dur-1),box-shadow var(--dur-2),transform var(--dur-1)}a.btn,a.btn:hover{text-decoration:none}.btn:active:not(:disabled,[aria-disabled=true]){transform:translateY(1px)}.btn:disabled{background:var(--grid);color:var(--ink-muted);border-color:transparent;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--surface);font-weight:600}.btn.primary:disabled:not([aria-busy=true]){background:var(--grid);border-color:transparent;color:var(--ink-muted)}.btn.danger{color:var(--danger)}.btn.small{height:var(--control-h-sm);padding:0 10px;font-size:var(--fs-13);border-radius:var(--r-2)}.btn.link{height:auto;padding:0;border:0;background:none;color:var(--accent);border-radius:var(--r-1)}.btn.link:disabled{background:none}.btn.ghost{border-color:transparent;background:transparent}@media(hover:hover){.btn:hover:not(:disabled,[aria-disabled=true]){background:var(--bg);border-color:var(--ink-muted)}.btn.primary:hover:not(:disabled,[aria-disabled=true]){background:var(--accent-strong);border-color:var(--accent-strong)}.btn.danger:hover:not(:disabled,[aria-disabled=true]){background:var(--danger-bg);border-color:var(--danger-bg)}.btn.link:hover:not(:disabled,[aria-disabled=true]){background:none;text-decoration:underline;text-underline-offset:2px}.btn.ghost:hover:not(:disabled,[aria-disabled=true]){background:var(--bg);border-color:transparent}}.btn[aria-disabled=true]{cursor:default}.btn:not(.primary,.link)[aria-disabled=true]{color:var(--ink-muted)}.btn.icon{width:var(--control-h);padding:0}.btn.icon.small{width:var(--control-h-sm)}.btn.icon.mid{width:32px;height:32px}.btn[aria-pressed=true],.btn[aria-pressed=true]:hover:not(:disabled){background:var(--accent-bg);color:var(--accent);border-color:transparent}.banner{display:flex;gap:10px;align-items:center;max-width:720px;padding:10px 14px 10px 16px;border:0;border-radius:var(--r-2);box-shadow:inset 3px 0 0 currentColor;font-size:var(--fs-13);line-height:var(--lh-snug);margin-bottom:var(--sp-4)}.banner.warn{background:var(--warn-bg);color:var(--warn)}.banner.danger{background:var(--danger-bg);color:var(--danger)}.banner.info{background:var(--accent-bg);color:var(--accent)}.banner>svg.icon{flex:none}.banner-text{flex:1;min-width:0;text-wrap-style:pretty}.field{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-3)}.field label{font-size:var(--fs-13);line-height:20px;font-weight:500;color:var(--ink-muted)}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{height:var(--control-h);padding:0 10px;border:1px solid var(--line-control);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);transition:border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-2) var(--ease-std)}select{appearance:none;-webkit-appearance:none;padding-right:32px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%2357606a' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 10px center / 16px 16px}select[multiple],select[size]{appearance:auto;-webkit-appearance:auto;padding-right:10px;background-image:none}textarea{height:auto;min-height:72px;padding:8px 10px;line-height:var(--lh-body);resize:vertical}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid transparent;outline-offset:2px;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}input::placeholder,textarea::placeholder{color:var(--ink-muted);opacity:1}input:disabled,select:disabled,textarea:disabled{background-color:var(--grid);color:var(--ink-muted);border-color:transparent}input[type=checkbox],input[type=radio]{width:18px;height:18px;margin:0;accent-color:var(--accent);flex:none}.field .counter{font-size:11px;color:var(--ink-muted);align-self:flex-end}.field .counter.warn{color:var(--warn)}.field .counter.danger{color:var(--danger)}.field .error{color:var(--danger);font-size:var(--fs-12)}@media(pointer:coarse){.btn{min-height:44px}.btn.small{min-height:40px}.btn.icon.mid{min-height:40px;width:40px}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select{height:44px}.btn.icon{width:44px}}@media(max-width:639px){.btn,.btn.small,.btn.icon.mid,select,input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea{min-height:44px}.btn.icon,.btn.icon.small,.btn.icon.mid{width:44px}.btn.icon-44{min-width:44px;min-height:44px}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{font-size:var(--fs-16)}}.spinner{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:2px;transition:text-decoration-color var(--dur-1)}@media(hover:hover){a:hover{text-decoration-color:currentColor}}h1,.page-title{margin:0;font-size:var(--fs-28);font-weight:650;line-height:var(--lh-tight);letter-spacing:var(--track-tight)}h2,.section-title{margin:0;font-size:var(--fs-16);font-weight:600;line-height:1.3}h3,.group-label{margin:0;font-size:var(--fs-13);font-weight:600;line-height:var(--lh-snug);color:var(--ink-muted)}.muted{font-size:var(--fs-13);line-height:20px;color:var(--ink-muted)}.meta{font-size:var(--fs-12);line-height:16px;color:var(--ink-muted)}.mono,.course-card-link-id{font-family:var(--font);font-size:max(12px,.92em);font-weight:500;font-variant-numeric:tabular-nums slashed-zero;letter-spacing:.01em}.mono{color:var(--ink-muted)}.id-hex{font-family:var(--font);font-weight:500;font-variant-numeric:tabular-nums slashed-zero;letter-spacing:.01em;color:var(--ink-muted)}.tnum,.chip,.pill,.counter,.meta,.progress-text,table,.badge{font-variant-numeric:tabular-nums}.row{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.meta-row{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:var(--sp-1);margin-left:calc(-1 * var(--sp-5));clip-path:inset(-4px -4px -4px calc(var(--sp-5) - 4px))}.meta-row>*{position:relative;margin-left:var(--sp-5)}.meta-row>*:before{content:"·";content:"·" / "";position:absolute;left:calc(-1 * var(--sp-3) - .5ch);color:var(--line-strong)}.meta-row>.meta-end{margin-left:auto;padding-left:var(--sp-5)}.meta-row>.meta-end:before{content:none}.title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5)}.origin-material{color:var(--c-material);background:var(--bg-material);border:1px solid var(--line-material)}.origin-student{color:var(--c-student);background:var(--bg-student);border:1px solid var(--line-student)}.origin-ai{color:var(--c-ai);background:var(--bg-ai);border:1px solid var(--line-ai)}.origin-ai.supplement{border-style:dashed}.origin-rail{border:0;color:var(--ink);border-radius:0 var(--r-2) var(--r-2) 0;padding:10px 12px 10px 14px}.origin-material.origin-text{color:var(--ink);background:none;border:0;border-radius:0;padding:0;box-shadow:none}.origin-material.origin-rail{background:var(--bg-material-soft);box-shadow:inset 3px 0 0 var(--c-material)}.origin-student.origin-text{color:var(--c-student);background:none;border:0;border-radius:0;padding:0;box-shadow:none}.origin-student.origin-rail{background:var(--bg-student-soft);box-shadow:inset 3px 0 0 var(--c-student)}.origin-ai.origin-rail{background:var(--bg-ai-soft);box-shadow:inset 3px 0 0 var(--c-ai)}.tag-ai{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1;padding:2px 5px;border-radius:var(--r-1);color:var(--surface);background:var(--c-ai);vertical-align:middle;margin-right:6px}@media(forced-colors:active){.origin-rail:is(.origin-ai,.origin-student,.origin-material):not(.supplement){border-left:3px solid CanvasText;padding-left:11px}.tag-ai{outline:1px solid CanvasText;outline-offset:-1px}}.tag-supplement{display:inline-block;font-size:11px;color:var(--c-ai);border:1px dashed var(--line-ai);border-radius:var(--r-1);padding:0 6px;margin-left:6px}.shell-topbar{position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;gap:var(--sp-5);padding:0 var(--gutter);background:var(--surface);border-bottom:1px solid var(--line)}.shell-topbar:has(>.topbar-inner){padding:0}.topbar-inner{display:flex;align-items:center;gap:var(--sp-5);width:100%;max-width:var(--content-max);height:100%;margin-inline:auto;padding:0 var(--gutter)}.shell-topbar .product{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-15);font-weight:700;letter-spacing:var(--track-tight);color:var(--ink);text-decoration:none;white-space:nowrap}.shell-topbar nav{display:flex;gap:var(--sp-1);align-self:stretch}.shell-topbar nav a,.shell-topbar nav button{position:relative;display:inline-flex;align-items:center;height:100%;padding:0 10px;font-size:var(--fs-14);font-weight:500;color:var(--ink-muted);text-decoration:none;background:none;border:0;border-radius:0;cursor:pointer;white-space:nowrap;transition:color var(--dur-1)}.shell-topbar nav a:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform var(--dur-2) var(--ease-out)}.shell-topbar nav a:hover{color:var(--ink)}.shell-topbar nav a.active{color:var(--ink);font-weight:600}.shell-topbar nav a.active:after{transform:scaleX(1)}.shell-topbar nav button:disabled{color:var(--ink-muted);cursor:not-allowed}.shell-topbar .spacer{flex:1}.shell-topbar .btn.account{max-width:200px}.shell-topbar .btn.account .account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-content{max-width:var(--content-max);margin-inline:auto;padding:var(--sp-6) var(--gutter) var(--sp-7);min-height:calc(100vh - var(--topbar-h))}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-12);color:var(--ink-muted);white-space:nowrap}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-muted);flex:none}.status-dot.connected:before{background:var(--ok)}.status-dot.polling:before{background:var(--warn)}.status-dot.offline:before{background:var(--danger)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:22px;font-size:var(--fs-12);font-weight:500;line-height:1.4;padding:1px 9px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);white-space:nowrap;transition:background-color var(--dur-1) var(--ease-std),border-color var(--dur-1) var(--ease-std),color var(--dur-1)}.chip.ok,.chip.warn,.chip.danger,.chip.accent{color:var(--ink)}.chip.ok:before,.chip.warn:before,.chip.danger:before,.chip.accent:before{content:"";width:6px;height:6px;border-radius:50%;flex:none}.chip.ok:before{background:var(--ok)}.chip.warn:before{background:var(--warn)}.chip.danger:before{background:var(--danger)}.chip.accent:before{background:var(--accent)}.chip.dot:before{content:"";width:6px;height:6px;border-radius:50%;flex:none;background:currentColor}.chip.pulsing:before{animation:pulse 1.2s var(--ease-std) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.pill{display:inline-flex;align-items:center;min-height:20px;font-size:var(--fs-12);font-weight:500;padding:0 8px;border-radius:var(--r-pill);text-decoration:none;margin:0 2px;transition:background-color var(--dur-1) var(--ease-std),color var(--dur-1) var(--ease-std),border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-2)}.pill.page{color:var(--c-material);background:var(--bg-material);border:1px solid var(--line-material);font-size:11px;line-height:16px;min-height:18px;padding:0 6px;border-radius:var(--r-1);margin:0 0 0 4px;vertical-align:baseline;white-space:nowrap}button.pill.page{appearance:none;cursor:pointer;text-align:inherit;letter-spacing:inherit;text-rendering:inherit}@media(hover:hover){:is(a,button).pill.page:hover{border-color:var(--c-material)}}.pill.page.inert{cursor:default}.pill.page.compact{padding-inline:5px}.pill.page .pill-more{margin-left:4px;font-weight:400;color:var(--ink-muted)}.pill.page.time{font-variant-numeric:tabular-nums}.pill.page .pill-kind{flex:none;margin-right:3px}.pill.page[data-src-current]{color:var(--surface);background:var(--c-material);border-color:var(--c-material)}.pill.page[data-src-current] .pill-more{color:inherit}@media(forced-colors:active){.pill.page[data-src-current]{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}}.pill.page[data-src-current]:focus-visible{background:color-mix(in srgb,var(--c-material) 86%,var(--ink));border-color:color-mix(in srgb,var(--c-material) 86%,var(--ink))}@media(hover:hover){.pill.page[data-src-current]:hover{background:color-mix(in srgb,var(--c-material) 86%,var(--ink));border-color:color-mix(in srgb,var(--c-material) 86%,var(--ink))}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4);transition:box-shadow var(--dur-2) var(--ease-std),transform var(--dur-1) var(--ease-std),border-color var(--dur-1)}.card.interactive:hover{box-shadow:var(--shadow-1);transform:translateY(-1px);border-color:var(--line-strong)}.card h3{margin:0 0 var(--sp-2);font-size:var(--fs-16);font-weight:600;line-height:1.3;color:var(--ink)}.card-head{justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.card-head>h3{margin:0}.sticky-bottom{position:sticky;bottom:0;z-index:2;background:var(--surface);border-top:1px solid var(--line);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom))}.popover{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-2)}.menu-root{position:relative;display:inline-flex;vertical-align:middle}.menu{position:absolute;top:calc(100% + 4px);right:0;z-index:5;min-width:200px;max-width:min(320px,calc(100vw - 2 * var(--sp-4)));margin:0;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--shadow-2)}.menu.start{right:auto;left:0}.menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:32px;padding:6px 10px;border:0;border-radius:var(--r-1);background:none;color:var(--ink);font-size:var(--fs-14);font-weight:500;line-height:var(--lh-snug);text-align:left;cursor:pointer;transition:background-color var(--dur-1) var(--ease-std)}.menu-item:hover:not([aria-disabled=true]),.menu-item:focus-visible{background:var(--bg)}.menu-item:focus-visible{outline-offset:-2px}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover:not([aria-disabled=true]),.menu-item.danger:focus-visible{background:var(--danger-bg)}.menu-item[aria-disabled=true]{color:var(--ink-muted);cursor:not-allowed}.menu-note{font-size:var(--fs-12);line-height:16px;font-weight:400;color:var(--ink-muted);white-space:normal}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:no-preference){.menu{animation:menu-in var(--dur-2) var(--ease-out) both}}.switch{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:24px;padding:0;border:0;border-radius:var(--r-1);background:none;color:var(--ink);font-size:var(--fs-14);font-weight:500;line-height:var(--lh-snug);text-align:left;cursor:pointer}.switch[aria-disabled=true]{opacity:.5;cursor:not-allowed}.switch-track{position:relative;flex:none;width:32px;height:18px;border-radius:var(--r-pill);background:var(--line-control);transition:background-color var(--dur-2) var(--ease-std)}.switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-out)}.switch[aria-checked=true] .switch-track{background:var(--accent)}.switch[aria-checked=true] .switch-knob{transform:translate(14px)}@media(hover:hover){.switch:hover:not([aria-disabled=true]) .switch-track{background:var(--ink-muted)}.switch[aria-checked=true]:hover:not([aria-disabled=true]) .switch-track{background:var(--accent-strong)}}@media(max-width:639px){.menu-item{min-height:44px;padding:10px 12px}.switch{min-height:44px}}.skeleton{display:block;border-radius:var(--r-1);background:linear-gradient(90deg,var(--grid) 25%,var(--surface) 50%,var(--grid) 75%);background-size:200% 100%;animation:shimmer 1.4s var(--ease-std) infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress{height:6px;background:var(--grid);border-radius:3px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .3s var(--ease-std)}.progress.indeterminate>span{width:40%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:slide 1.2s var(--ease-std) infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}.stagebar{display:grid;grid-template-columns:repeat(11,1fr);gap:2px;height:4px}.stagebar>i{display:block;background:var(--grid);border-radius:2px;transition:background-color var(--dur-2)}.stagebar>i.done{background:var(--ok)}.stagebar>i.current{background:var(--accent);animation:pulse 1.2s var(--ease-std) infinite}.stagebar>i.failed{background:var(--danger)}.tabs{display:flex;gap:var(--sp-1);box-shadow:inset 0 -1px 0 var(--line);margin-bottom:var(--sp-4);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a,.tabs button{position:relative;display:inline-flex;align-items:center;height:40px;padding:0 12px;border:0;background:none;color:var(--ink-muted);font-size:var(--fs-14);font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color var(--dur-1)}.tabs a:after,.tabs button:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transition:transform var(--dur-2) var(--ease-out)}.tabs a:hover:not(.active),.tabs button:hover:not(.active):not(:disabled){color:var(--ink)}.tabs a.active,.tabs button.active{color:var(--ink);font-weight:600}.tabs a.active:after,.tabs button.active:after{transform:scaleX(1)}.tabs button:disabled{color:var(--ink-muted);cursor:not-allowed}.tabs a:focus-visible,.tabs button:focus-visible{outline-offset:-2px;border-radius:var(--r-2)}.seg{display:inline-flex;gap:2px;padding:2px;background:var(--grid);border-radius:var(--r-ctl);position:relative}.seg>a,.seg>button,.seg>label{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h-sm);padding:0 12px;border:0;border-radius:var(--r-2);background:transparent;color:var(--ink-muted);font-size:var(--fs-13);font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-1) var(--ease-std),color var(--dur-1),box-shadow var(--dur-2)}.seg>.active,.seg>[aria-pressed=true],.seg>label:has(>input:checked){background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-1)}.seg>:is(a,button,label):hover:not(.active):not([aria-pressed=true]):not(:has(>input:checked)):not(:disabled){color:var(--ink);background:color-mix(in srgb,var(--surface) 55%,transparent)}.seg>button:disabled{color:var(--ink-muted);background:transparent;box-shadow:none;cursor:not-allowed}.seg>label{position:relative}.seg>label>input[type=radio]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.seg>label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.panel-in{animation:panel-in var(--dur-2) var(--ease-out) both}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}}.empty{width:100%;max-width:640px;margin-inline:auto;padding:var(--sp-7) var(--sp-5);border:1px dashed var(--line-strong);border-radius:var(--r-3);background:var(--bg);color:var(--ink-muted);font-size:var(--fs-14);font-weight:400;text-align:center}.empty .empty-mark{display:block;width:48px;height:48px;margin:0 auto var(--sp-3);opacity:.4}.empty .empty-action{margin-top:var(--sp-3)}.error-state{padding:12px 14px 12px 16px;border:0;border-radius:var(--r-2);background:var(--danger-bg);box-shadow:inset 3px 0 0 var(--danger);color:var(--ink);font-size:var(--fs-13);text-align:left}.error-state details{color:var(--ink-muted);margin-top:6px}.error-state .error-head{justify-content:space-between}.error-state .error-detail{white-space:pre-wrap}.notice-inline{display:flex;align-items:flex-start;gap:6px;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink-muted)}.notice-inline svg.icon{margin-top:2px}.exam-bank-busy,.test-bank-busy{flex-basis:100%;margin:var(--sp-1) 0 0;font-size:var(--fs-13);line-height:var(--lh-snug)}.not-available{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg);color:var(--ink);font-size:var(--fs-13)}.modal-backdrop{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:var(--scrim)}.modal{display:flex;flex-direction:column;width:min(640px,92vw);max-height:calc(100vh - 48px);padding:0;overflow:auto;overscroll-behavior:contain;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-3)}.modal.wide{width:min(880px,94vw)}.modal-head{position:static;flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin:0;padding:var(--sp-4) var(--sp-5) var(--sp-2);background:var(--surface)}.modal-head h2{margin:0;font-size:var(--fs-16);font-weight:600;line-height:1.3}.modal-head>.btn.icon{flex:none}.modal-head>h2{overflow-wrap:anywhere}.drawer>.modal-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 var(--sp-5) var(--sp-4)}.modal>.modal-body{flex:none;padding:20px var(--sp-5)}.modal>.modal-head{position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line);padding-bottom:var(--sp-3)}.modal>.modal-foot{position:sticky;bottom:0;z-index:2}.modal>.modal-head:after,.modal>.modal-foot:before{display:none}.modal-head,.modal-foot{position:relative}.modal-head:after,.modal-foot:before{content:"";position:absolute;left:0;right:0;height:24px;pointer-events:none;z-index:1}.modal-head:after{top:100%;background:linear-gradient(to bottom,var(--surface),transparent)}.modal-foot:before{bottom:100%;background:linear-gradient(to bottom,transparent,var(--surface))}.drawer>.modal-body{padding-bottom:var(--sp-5)}.modal-foot{position:static;flex:none;display:flex;justify-content:flex-end;gap:var(--sp-2);margin:0;padding:var(--sp-3) var(--sp-5) var(--sp-4);background:var(--surface);border-top:1px solid var(--line)}.btn.confirm-busy{position:relative;cursor:progress}.confirm-busy>.confirm-busy-label{opacity:0}.confirm-busy>.spinner{position:absolute;inset:0;margin:auto}.confirm-extra{min-inline-size:0;margin:0;padding:0;border:0}.drawer-backdrop{position:fixed;inset:0;z-index:30;background:var(--scrim-light)}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:31;display:flex;flex-direction:column;width:min(520px,92vw);padding:0;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-3)}body:has(.drawer) .modal-backdrop{z-index:32}.session-layer{position:fixed;inset:0;z-index:30;overflow-y:auto;overscroll-behavior:contain;background:var(--bg)}:root:has(.session-layer){scrollbar-gutter:auto!important;padding-right:var(--lock-gap, 0px)!important}.session-layer>.shell-content{min-height:0}:root:has(.session-layer),body:has(.session-layer){overscroll-behavior-y:none}.session-fallback h1:focus{outline:none}.modal .grab,.drawer .grab{display:none;flex:none;width:36px;height:4px;margin:var(--sp-2) auto 0;border-radius:2px;background:var(--line-strong)}@keyframes fade{0%{opacity:0}}@keyframes scrim-in{0%{background-color:transparent}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes slide-in{0%{transform:translate(24px);opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}@media(prefers-reduced-motion:no-preference){.modal-backdrop{animation:scrim-in .16s var(--ease-std) both}.drawer-backdrop{animation:fade .16s var(--ease-std) both}.modal{animation:pop .2s var(--ease-out) both}.drawer{animation:slide-in .22s var(--ease-out) both}html[data-level-raised] [data-manage]:not([data-manage-seen]){animation:fade var(--dur-2) var(--ease-out) both}}.toast-layer{position:fixed;left:16px;bottom:16px;z-index:40;display:flex;flex-direction:column;gap:var(--sp-2);max-width:420px}.toast{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 10px 10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:inset 3px 0 0 var(--accent),var(--shadow-2);font-size:var(--fs-13);animation:toast-in .22s var(--ease-out) both}.toast.error{box-shadow:inset 3px 0 0 var(--danger),var(--shadow-2)}.toast .toast-text{flex:1 1 calc(100% - 40px);min-width:0;text-wrap-style:pretty}.toast .toast-text:lang(zh){word-break:keep-all;overflow-wrap:anywhere;text-wrap-style:balance}.toast>.btn{order:2}.toast.leaving{animation:toast-out .14s var(--ease-std) forwards}.toast .toast-close{order:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:auto;border:0;border-radius:var(--r-2);background:none;color:var(--ink-muted);cursor:pointer;transition:background-color var(--dur-1),color var(--dur-1)}.toast .toast-close{align-self:flex-start;margin-block:-4px}.toast .toast-close:hover{background:var(--bg);color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes toast-out{to{opacity:0;transform:translateY(6px)}}@keyframes toast-in-top{0%{opacity:0;transform:translateY(-8px)}}@keyframes toast-out-top{to{opacity:0;transform:translateY(-6px)}}:root[data-toast-top] .toast-layer{top:var(--toast-top, calc(var(--topbar-h) + 12px));bottom:auto}:root[data-toast-top=drawer] .toast-layer{top:var(--toast-top-sheet, calc(8px + env(safe-area-inset-top)) )}@media(min-width:768px){:root[data-toast-top=page] .toast-layer{left:var(--toast-left, 16px)}}@media(min-width:768px){:root[data-toast-top=drawer] .toast-layer{top:calc(56px + var(--sp-3));left:calc(100% - 520px + var(--sp-5));right:var(--sp-5);max-width:none}}:root[data-toast-top] .toast{animation-name:toast-in-top}:root[data-toast-top] .toast.leaving{animation-name:toast-out-top}.rise{animation:rise var(--dur-3) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 30ms)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.search-field{display:flex;align-items:center;gap:6px;height:var(--search-field-h, var(--control-h));box-sizing:border-box;padding:0 4px 0 10px;border:1px solid var(--line-control);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink-muted);overflow:hidden;cursor:text;transition:border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-2)}@media(pointer:coarse){.search-field{height:var(--search-field-h, 44px)}}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search-field>.icon{flex:none;color:var(--ink-muted)}.search-field input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]){flex:1;min-width:0;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;color:var(--ink);font:inherit;font-size:var(--fs-13)}.search-field input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):focus-visible{outline:none;border:0;box-shadow:none}@media(max-width:639px){.search-field input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]){font-size:var(--fs-16)}}.search-field .btn.icon.search-field-clear{width:24px;height:24px;flex:none;border-radius:50%}.search-field input[type=search]::-webkit-search-cancel-button,.search-field input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}@media(pointer:coarse){.search-field .btn.icon.search-field-clear{width:40px;height:40px;min-height:0}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(to right,transparent,var(--surface) 70%) 100% 0,radial-gradient(farthest-side at 100% 50%,var(--shade-edge),transparent) 100% 0;background-repeat:no-repeat;background-size:40px 100%,14px 100%;background-attachment:local,scroll}.table-scroll table{width:100%;min-width:640px;border-collapse:collapse}.table-scroll th{font-size:var(--fs-12);font-weight:500;color:var(--ink-muted);white-space:nowrap;text-align:left}.table-scroll th,.table-scroll td{padding:8px 10px;border-bottom:1px solid var(--line)}.table-scroll th:first-child,.table-scroll td:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}@media(max-width:767px){.table-scroll.stack-sm{overflow:visible;background:none}.table-scroll.stack-sm table{display:block;width:auto;min-width:0}.table-scroll.stack-sm thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.table-scroll.stack-sm tbody{display:block}.table-scroll.stack-sm tr{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:var(--sp-1);padding:var(--sp-2) 0;margin-left:calc(-1 * var(--sp-5));clip-path:inset(-4px -4px -4px calc(var(--sp-5) - 4px));border-bottom:1px solid var(--line)}.table-scroll.stack-sm tbody tr:last-child{border-bottom:0}.table-scroll.stack-sm td{position:relative;margin-left:var(--sp-5);padding:0;border:0;background:none;font-size:var(--fs-12);line-height:var(--lh-snug);color:var(--ink-muted);text-align:left}.table-scroll.stack-sm tbody tr:hover td{background:none}.table-scroll.stack-sm td:first-child{flex:0 0 calc(100% - var(--sp-5));left:auto;z-index:auto;max-width:none;overflow:visible;white-space:normal;font-size:var(--fs-14);font-weight:500;color:var(--ink)}.table-scroll.stack-sm td:not(:first-child):before{content:"·";position:absolute;left:calc(-1 * var(--sp-3) - .5ch);color:var(--line-strong)}.table-scroll.stack-sm td[data-label]{display:inline-flex;gap:.35em;color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}.table-scroll.stack-sm td[data-label]:after{content:attr(data-label);order:-1;color:var(--ink-muted);font-weight:400}}@media(max-width:767px){.shell-topbar,.topbar-inner{gap:var(--sp-3)}.shell-topbar nav a,.shell-topbar nav button{padding:0 8px;font-size:var(--fs-13)}.shell-topbar nav a:after{left:8px;right:8px}.shell-topbar .btn.account{max-width:120px}.status-dot{gap:0}.status-dot .status-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell-content{padding:var(--sp-4) var(--sp-4) calc(var(--sp-7) + var(--toast-h, 0px))}:root{scroll-padding-block-end:var(--toast-h, 0px)}.modal-backdrop{align-items:flex-end}.modal,.modal.wide{width:100%;max-height:92dvh;border-radius:16px 16px 0 0}.drawer{top:auto;left:0;right:0;width:100%;max-height:92dvh;border-radius:16px 16px 0 0}.modal .grab,.drawer .grab{display:block}.modal .modal-head,.drawer .modal-head{padding-top:var(--sp-2)}.modal>.modal-body{padding-top:var(--sp-4)}.modal>:last-child,.drawer>:last-child{padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom))}.toast-layer{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:none}}@media(max-width:767px)and (prefers-reduced-motion:no-preference){.modal,.drawer{animation:sheet-in .3s cubic-bezier(.32,.72,0,1) both}}@media(max-width:479px){.card{padding:var(--sp-3)}.meta-row>.meta-end{flex-basis:100%;margin-left:var(--sp-5);padding-left:0}}@media(pointer:coarse){.btn.menu-item{min-height:44px}.tabs a,.tabs button,.shell-topbar nav a,.shell-topbar nav button{min-height:44px}.chip[role=button],.pill[role=button],a.pill{min-height:32px;padding-block:4px}:is(a,button).pill.page{position:relative}:is(a,button).pill.page:after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:40px;transform:translateY(-50%)}.seg>a,.seg>button,.seg>label{min-height:40px}.toast .toast-close{width:44px;height:44px}.toast .toast-text{flex-basis:calc(100% - 56px)}.toast .toast-close{margin-block:-12px}.error-state summary{padding-block:12px}kbd,.kbd-hint{display:none}}@media(max-width:639px){.seg>a,.seg>button,.seg>label{min-height:44px}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:100%}.seg>a,.seg>button,.seg>label{justify-content:center}.shell-topbar nav a,.shell-topbar nav button{min-height:44px;padding:0 12px;font-size:var(--fs-15)}.shell-topbar nav a:after{left:12px;right:12px}.tabs a,.tabs button{min-height:44px}.menu-trigger:not(.small){width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(prefers-reduced-motion:reduce){.progress.indeterminate>span{width:100%;background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-ring)}.skeleton{background:var(--grid)}.chip.pulsing:before,.stagebar>i.current{opacity:1;box-shadow:0 0 0 2px var(--accent-ring)}@supports (color: color-mix(in srgb,red 28%,transparent)){.chip.warn.pulsing:before{box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 28%,transparent)}}}@media(forced-colors:active){.chip:is(.ok,.warn,.danger,.accent,.dot):before,.chip.warn.pulsing:before{forced-color-adjust:none;background:CanvasText;box-shadow:none}.btn[aria-disabled=true]:not([aria-busy=true]),.menu-item[aria-disabled=true]{color:GrayText;border-color:GrayText}}.account-wrap{position:relative}.account-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:25;min-width:180px;padding:var(--sp-1)}.account-menu .menu-item{display:flex;width:100%;height:var(--control-h);padding:0 12px;justify-content:flex-start;color:var(--ink);font-size:var(--fs-14);border-radius:var(--r-2)}.account-menu .menu-item:hover:not(:disabled){background:var(--bg);text-decoration:none}.account-menu-email{max-width:240px;padding:var(--sp-2) 12px var(--sp-2);margin-bottom:var(--sp-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-12);line-height:var(--lh-snug);color:var(--ink-muted);border-bottom:1px solid var(--line)}.settings{display:grid;gap:var(--sp-4);max-width:720px}.settings .page-title{margin-bottom:var(--sp-2)}.settings-lang{gap:var(--sp-3)}.settings-text{margin:0 0 var(--sp-3);font-size:var(--fs-14);line-height:var(--lh-body)}.about-meta{display:grid;grid-template-columns:7em 1fr;gap:var(--sp-1) var(--sp-4);margin:0 0 var(--sp-5);font-size:var(--fs-13)}.about-meta dt{color:var(--ink-muted)}.about-meta dd{margin:0;font-size:var(--fs-13)}.about-meta dd,.about-meta .mono{color:var(--ink)}.cap-table{width:100%;min-width:0;max-width:100%;border-collapse:collapse;border-top:1px solid var(--line);font-size:var(--fs-13);font-variant-numeric:tabular-nums}.cap-table th,.cap-table td{padding:6px 10px;text-align:left;vertical-align:top;line-height:20px;border-bottom:1px solid var(--line)}.cap-table thead th{font-size:var(--fs-12);font-weight:600;color:var(--ink-muted);white-space:nowrap}.cap-table .cap-group th{padding-top:var(--sp-5);font-size:var(--fs-13);font-weight:600;color:var(--ink);border-bottom-color:var(--line-strong)}.cap-table tbody:first-of-type .cap-group th{padding-top:var(--sp-3)}.cap-table .cap-name{font-weight:400;color:var(--ink)}.cap-table .cap-name code{margin-left:var(--sp-2);font-family:var(--font);font-size:max(12px,.92em);font-weight:500;font-variant-numeric:tabular-nums slashed-zero;letter-spacing:.01em;color:var(--ink-muted)}.cap-table .cap-note{display:block;font-size:var(--fs-12);line-height:var(--lh-snug);color:var(--ink-muted)}.cap-table thead th:last-child,.cap-table td[data-state]{width:9em;padding-left:var(--sp-4);white-space:nowrap}.cap-dot{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%;vertical-align:1px;overflow:hidden;font-size:0;line-height:0;color:transparent;background:var(--line-control)}.cap-dot.ok{background:var(--ok)}.cap-dot.warn{background:var(--warn)}.legend-list{display:grid;gap:var(--sp-2)}.legend-sample{padding:8px 12px;border-radius:var(--r-2);font-size:var(--fs-13);color:var(--ink)}@media(max-width:767px){.cap-table th,.cap-table td{padding:6px}}.mini-map{display:block;flex:none;width:40px;height:40px}.section-badge{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:22px;height:22px;border-radius:50%;background:var(--surface);border:1px solid var(--ink-muted);color:var(--ink);font-size:11px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;vertical-align:middle}.section-badge.sm{width:16px;height:16px;font-size:10px;font-weight:600}.section-badge.is-empty:before{content:"​"}.course-switch-wrap{position:relative;display:inline-flex;align-items:center;gap:var(--sp-2);min-width:0;max-width:100%}.course-switch{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;margin:0;padding:0;border:0;border-radius:var(--r-1);background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.course-switch-name{min-width:0;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:.18em;transition:text-decoration-color var(--dur-1)}.course-switch:hover .course-switch-name{text-decoration-color:var(--line)}.course-switch:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.course-switch-chevron{flex:none;color:var(--ink-muted);transition:transform var(--dur-2) var(--ease-out),color var(--dur-1)}.course-switch:hover .course-switch-chevron,.course-switch[aria-expanded=true] .course-switch-chevron{color:var(--ink)}.course-switch[aria-expanded=true] .course-switch-chevron{transform:rotate(180deg)}.course-switch-bar{display:contents}.course-switch-bar .course-switch{flex:1 1 auto;min-height:44px;font-size:var(--fs-15);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--track-tight)}.course-switch-bar .course-switch-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-switch-bar .course-switch:focus-visible{outline-offset:2px}.course-switch-bar .course-switch[data-status]:after{content:"";flex:none;width:6px;height:6px;margin-left:-2px;border-radius:50%;background:var(--warn)}.course-switch-bar .course-switch[data-status=failed]:after{background:var(--danger)}.course-switch-bar .course-switch[data-status=parsing]:after{background:transparent;box-shadow:inset 0 0 0 1.5px var(--warn)}@media(forced-colors:active){.course-switch-bar .course-switch[data-status]:after{forced-color-adjust:none;background:CanvasText}.course-switch-bar .course-switch[data-status=parsing]:after{background:Canvas;box-shadow:inset 0 0 0 1.5px CanvasText}}.course-status-link{display:inline-flex;text-decoration:none;color:inherit;border-radius:999px}.course-status-link:hover .chip{text-decoration:underline;text-underline-offset:2px}.course-status-link .chip>svg.icon{margin-left:-2px}.course-upload-link{color:var(--warn);text-decoration:none}.course-upload-link:hover{text-decoration:underline;text-underline-offset:2px}.course-tabs{position:relative;isolation:isolate;flex:1 1 auto;min-width:0;max-width:100%}.course-tabs>.tabs{margin-bottom:-1px;border-bottom:0;box-shadow:none;scroll-padding-inline:24px}.course-tabs:before,.course-tabs:after{content:"";position:absolute;top:0;bottom:0;z-index:1;width:24px;pointer-events:none;opacity:0;transition:opacity var(--dur-1)}.course-tabs:before{left:0;background:linear-gradient(to left,transparent,var(--bg))}.course-tabs:after{right:0;background:linear-gradient(to right,transparent,var(--bg))}.course-tabs[data-fade-left]:before,.course-tabs[data-fade=right]:after{opacity:1}@media(max-width:767px){.course-tabs>.tabs{width:100%}.course-header .course-nav{gap:var(--sp-2)}}.header-actions{display:flex;flex:none;align-items:center;align-self:flex-end;gap:var(--sp-1);height:40px;margin:0 var(--sp-2) -1px 0}@media(min-width:768px){.course-header>.course-nav{margin-left:auto}}@media(pointer:coarse){.header-actions{height:44px}}@media(min-width:640px){.course-header .course-gear{margin-bottom:5px}}@media(min-width:640px)and (pointer:coarse){.course-header .course-gear{margin-bottom:1px;min-width:40px}.course-header .course-switch{min-height:40px}}.course-subpage{display:flex;align-items:center;justify-content:flex-start;gap:var(--sp-2);min-height:44px;margin-top:calc(-1 * var(--sp-2))}.course-subpage h2{margin:0;min-width:0;font-size:var(--fs-20);line-height:var(--lh-tight);font-weight:600;letter-spacing:var(--track-tight);color:var(--ink);overflow-wrap:anywhere}.course-subpage-back{display:none;flex:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin-left:-12px;color:var(--ink)}@media(max-width:639px){.course-subpage-back{display:inline-flex}}@media(max-width:639px){.course-header .course-nav{align-items:flex-end}.course-header .course-gear{width:44px;height:44px;min-height:44px;margin-bottom:-1px}.course-header .course-gear .icon-gear{width:18px;height:18px}}.shell-topbar .btn.account{margin-right:-12px}.status-dot.down:before{background:var(--warn)}.status-dot.recovered:before{background:var(--ok)}.topbar-cluster{display:flex;flex:none;align-items:center;gap:var(--sp-3)}.topbar-cluster:empty{display:none}@media(min-width:480px){.shell-topbar .account-wrap{display:flex;min-width:0}.shell-topbar .btn.account{min-width:0}}@media(max-width:379px){.topbar-inner:has(.topbar-cluster>*) .product{display:none}.topbar-inner:has(.topbar-cluster>*) nav{gap:0}.topbar-inner:has(.topbar-cluster>*) nav a,.topbar-inner:has(.topbar-cluster>*) nav button{padding:0 6px;min-width:44px;justify-content:center}.topbar-inner:has(.topbar-cluster>*) nav a:after{left:6px;right:6px}}.shell-topbar .account-icon,.account-menu-name{display:none}.shell-topbar .account-menu .menu-item{flex-direction:row;align-items:center;gap:var(--sp-2)}.account-menu-email:has(+.account-menu-level){padding-bottom:2px;margin-bottom:0;border-bottom:0}.account-menu-level{max-width:240px;padding:0 12px var(--sp-2);margin-bottom:var(--sp-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-12);line-height:var(--lh-snug);color:var(--ink-muted);border-bottom:1px solid var(--line)}.account-menu .menu-count{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;min-width:18px;height:18px;padding:0 6px;border:1px solid var(--warn);border-radius:9px;background:var(--surface);color:var(--warn-strong);font-size:var(--fs-12);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.shell-topbar .btn.account{position:relative}.shell-topbar .btn.account.has-pending:after{content:"";position:absolute;top:calc(50% - 11px);right:10px;width:8px;height:8px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 2px var(--surface);pointer-events:none}.shell-topbar .btn.account.has-pending:hover:after{box-shadow:0 0 0 2px var(--bg)}@media(forced-colors:active){.shell-topbar .btn.account.has-pending:after{forced-color-adjust:none;background:CanvasText;box-shadow:0 0 0 2px Canvas}}.shell-topbar nav button:disabled{color:var(--line-control)}@media(pointer:coarse){.shell-topbar .product{min-height:44px}}@media(max-width:479px){.shell-topbar .topbar-inner,.topbar-cluster{gap:var(--sp-2)}.shell-topbar .product-word,.shell-topbar .btn.account .account-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell-topbar .btn.account{width:44px;min-width:44px;padding:0;justify-content:center;margin-right:-13px}.shell-topbar .btn.account .account-icon{display:inline-flex}.shell-topbar .btn.account .account-chevron{display:none}.shell-topbar .btn.account.has-pending:after{top:calc(50% - 12px)}.shell-topbar .product{min-width:44px;min-height:44px;justify-content:center;margin:0 -8px 0 -12px}.shell-topbar nav a,.shell-topbar nav button{padding:0 8px}.shell-topbar nav a:after{left:8px;right:8px}.account-menu-name{display:block;max-width:240px;padding:var(--sp-2) 12px var(--sp-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-14);font-weight:500;color:var(--ink)}.account-menu-name+.account-menu-email{padding-top:0}}@media(max-width:767px){.shell-topbar .product-word:lang(en){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell-topbar .product:lang(en){min-width:44px;min-height:44px;justify-content:center;margin:0 -8px 0 -12px}}.topbar-course{flex:1 1 0;min-width:64px;margin:0;display:flex;align-items:center;min-height:44px;font-size:var(--fs-15);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--track-tight);color:var(--ink)}.bar-tabs{flex:none;align-self:stretch;gap:0;margin:0;overflow:visible;box-shadow:none}.bar-tabs a,.bar-tabs button{height:100%;min-height:44px;min-width:44px;justify-content:center;padding:0 var(--sp-2);font-size:var(--fs-14)}.bar-tabs a:after,.bar-tabs button:after{left:var(--sp-2);right:var(--sp-2);bottom:-1px}.bar-actions{display:flex;flex:none;align-items:center;gap:var(--sp-1)}.bar-tabs+.bar-actions{margin-left:-8px}.shell-topbar .btn.bar-action{width:44px;height:44px;min-height:44px;padding:0;color:var(--ink-muted)}.shell-topbar .btn.bar-action:hover:not(:disabled),.shell-topbar .btn.bar-action[aria-expanded=true]{color:var(--ink)}.shell-topbar .btn.bar-action:focus-visible{outline-offset:-2px}.bar-action-slot{display:block;flex:none;width:44px;height:44px}@media(max-width:479px){.topbar-inner.course-bar:lang(en):has(.topbar-cluster>*,.bar-actions>*) .bar-tabs a,.topbar-inner.course-bar:lang(en):has(.topbar-cluster>*,.bar-actions>*) .bar-tabs button{padding:0 6px}.topbar-inner.course-bar:lang(en):has(.topbar-cluster>*,.bar-actions>*) .bar-tabs a:after,.topbar-inner.course-bar:lang(en):has(.topbar-cluster>*,.bar-actions>*) .bar-tabs button:after{left:6px;right:6px}.topbar-inner.course-bar:has(.topbar-cluster>*):has(.bar-actions>*) .topbar-course{min-width:44px}}@media(max-width:379px){.topbar-inner.course-bar:has(.topbar-cluster>*,.bar-actions>*) .product{display:none}}@media(max-width:429px){.topbar-inner.course-bar:lang(en):has(.topbar-cluster>*,.bar-actions>*) .product{display:none}}@media(max-width:379px){.topbar-inner.course-bar:lang(en):has(a.upload-ind):has(.bar-actions>*) .bar-tabs{margin-left:-8px}.topbar-inner.course-bar:lang(en):has(a.upload-ind):has(.bar-actions>*) .topbar-cluster .status-dot{margin-right:-8px}.topbar-inner.course-bar:lang(en):has(a.upload-ind):has(.bar-actions>*) .bar-tabs>:first-child{padding-inline:5px}.topbar-inner.course-bar:lang(en):has(a.upload-ind):has(.bar-actions>*) .bar-tabs>:first-child:after{left:5px;right:5px}}@media(max-width:639px){.topbar-inner.course-bar a.upload-ind{margin-left:-8px}}.connect-card{--control-h: 40px;width:min(420px,100%);padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}@media(pointer:coarse){.connect-card{--control-h: 44px}}.connect-mark{display:block;width:48px;height:48px;margin:0 0 4px -6px}.connect-title{margin:0 0 var(--sp-2);font-size:var(--fs-24);font-weight:650;line-height:var(--lh-tight);letter-spacing:var(--track-tight);text-wrap-style:balance}.connect-sub{margin:0 0 var(--sp-5);font-size:var(--fs-14);line-height:var(--lh-body);color:var(--ink-muted);overflow-wrap:anywhere;text-wrap-style:pretty}.connect-message{margin:0 0 var(--sp-5);font-size:var(--fs-14);line-height:var(--lh-body);color:var(--ink);overflow-wrap:anywhere;text-wrap-style:pretty}.connect-detail{margin:0 0 var(--sp-5);font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink-muted);overflow-wrap:anywhere;text-wrap-style:pretty}.connect-message:has(+.connect-detail){margin-bottom:var(--sp-2)}.connect-risk{display:flex;align-items:flex-start;gap:6px;margin:0 0 var(--sp-5);font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--warn);text-wrap-style:pretty}.connect-risk>svg.icon{margin-top:2px}:is(.connect-sub,.connect-message,.connect-risk):lang(zh){word-break:keep-all;overflow-wrap:anywhere;text-wrap-style:balance;text-spacing-trim:trim-start}.connect-card>:last-child{margin-bottom:0}.connect-submit,.connect-secondary{width:100%;margin-top:var(--sp-2)}:is(.connect-sub,.connect-message,.connect-risk,.connect-detail)+:is(.connect-submit,.connect-secondary){margin-top:0}@keyframes entry-again{0%{opacity:0}}@media(prefers-reduced-motion:no-preference){.entry-again{animation:entry-again var(--dur-1) var(--ease-out) both}}@media(max-width:767px){.connect-card{padding:var(--sp-5)}}@media(max-width:639px){.connect-card .connect-mark{display:none}}.entry-place{min-height:calc(100dvh - var(--topbar-h) - var(--sp-6) - var(--sp-7));display:grid;place-items:center;padding-bottom:8vh}@media(max-width:767px){.entry-place{padding-bottom:4vh}}@media(max-width:639px){.entry-place{display:block;min-height:0;padding:var(--sp-2) 0 0}.entry-place>.connect-card{margin-inline:auto}}.weak-bar{display:flex;gap:1px;width:100%;height:4px;border-radius:var(--r-pill);background:var(--line);overflow:hidden}.weak-bar-seg{display:block;flex:0 0 auto;height:100%;border-radius:inherit}.weak-bar-seg.mastered{background:var(--ok)}.weak-bar-seg.weak{background:var(--warn-strong, var(--warn))}.weak-legend{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-3);margin:0;padding:0;list-style:none;font-size:var(--fs-12);line-height:16px;color:var(--ink-muted)}.weak-legend li{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.weak-legend-swatch{display:inline-block;flex:none;width:12px;height:4px;border-radius:var(--r-pill);background:var(--line)}.weak-legend-swatch.mastered{background:var(--ok)}.weak-legend-swatch.weak{background:var(--warn-strong, var(--warn))}.weak-summary{font-size:var(--fs-12);line-height:16px;color:var(--ink);white-space:nowrap}.weak-summary.muted{color:var(--ink-muted)}.cchips{display:block}.cchips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));align-items:stretch;gap:var(--sp-2);margin:0;padding:0;list-style:none}.cchips-grid>li{display:grid;min-width:0}.cchips-group+.cchips-group{margin-top:var(--sp-3)}.cchips-heading{margin:0 0 var(--sp-1);font-size:var(--fs-12);line-height:16px;font-weight:600;color:var(--ink-muted)}.cchip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);box-sizing:border-box;width:100%;height:100%;min-height:52px;padding:7px var(--sp-3) 7px 10px;border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-1) var(--ease-std),background-color var(--dur-1) var(--ease-std)}.cchip:hover{border-color:var(--line-control);box-shadow:var(--shadow-1);text-decoration:none}.cchip:focus:not(:focus-visible){outline:none}.cchip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cchip.locked{color:var(--ink-muted);background:var(--bg);border-style:dashed}.cchip.selected,.cchip.selected:hover{background:var(--ink);border-color:var(--ink);color:var(--surface);box-shadow:none}.cchip.locked .cchip-ord{color:var(--ink-muted);border-color:var(--line-strong)}.cchip.selected .cchip-ord{background:transparent;border-color:var(--surface);color:var(--surface)}.cchip.no-ord{grid-template-columns:minmax(0,1fr) auto}.cchip-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:var(--fs-13);line-height:18px;overflow-wrap:break-word}.cchip-end{display:inline-flex;flex:none;align-items:center;justify-content:flex-end;gap:var(--sp-2)}.cchip-lock{flex:none}.cchip-dots{display:inline-flex;flex:none;gap:4px}.cchip-dot{display:inline-block;flex:none;box-sizing:border-box;width:7px;height:7px;border-radius:50%;border:1px solid var(--ink-muted);background:transparent}.cchip-dot.done{border-color:var(--ok);background:var(--ok)}.cchip-dot.partial{border-color:var(--ok);background:linear-gradient(90deg,var(--ok) 50%,transparent 50%)}.cchip.selected .cchip-dot{border-color:var(--surface);opacity:.7}.cchip.selected .cchip-dot.done{background:var(--surface);opacity:1}.cchip.selected .cchip-dot.partial{background:linear-gradient(90deg,var(--surface) 50%,transparent 50%);opacity:1}.cchip-tail{font-size:var(--fs-12);line-height:16px;color:var(--ink-muted);white-space:nowrap}.cchip-tail.weak{color:var(--warn-strong, var(--warn));font-weight:600}.cchip.selected .cchip-tail,.cchip.selected .cchip-tail.weak{color:var(--surface)}.cchips-legend{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:var(--sp-1) var(--sp-3);margin:var(--sp-2) 0 0;padding:0;list-style:none;font-size:var(--fs-12);line-height:16px;color:var(--ink-muted)}.cchips-legend li{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.cchips-legend-note{padding-left:var(--sp-3);border-left:1px solid var(--line)}@media(max-width:479px){.cchips-grid{display:flex;flex-wrap:nowrap;gap:var(--sp-2);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--sp-2);scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.cchips-grid::-webkit-scrollbar{display:none}.cchips-grid>li{display:flex;flex:0 0 auto;max-width:78vw;scroll-snap-align:center}.cchip{width:auto;max-width:100%;min-height:44px;white-space:nowrap}.cchip-title{display:block;-webkit-line-clamp:unset;white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal}}body main.shell-content:has(.dashboard){max-width:var(--content-max)}.dashboard{display:grid}.dashboard-header{order:-2;margin-bottom:var(--sp-5);min-height:var(--control-h);flex-wrap:wrap;row-gap:var(--sp-2)}.dashboard-header h1{min-width:0}.dashboard-title{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.dashboard-emblem{display:block;flex:none;width:40px;height:40px;object-fit:contain}.dashboard-notice{order:-1;margin:calc(-1 * var(--sp-4)) 0 var(--sp-5);max-width:720px}.dashboard-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-6);align-items:start}.dashboard-main{display:grid;gap:var(--sp-5);min-width:0}.dashboard-main .empty{max-width:none;margin-inline:0}.dashboard .empty-title{display:block;margin-bottom:var(--sp-1);font-size:var(--fs-16);line-height:var(--lh-snug);font-weight:600;color:var(--ink)}.dashboard .empty-desc{display:block;max-width:36em;margin-inline:auto;text-wrap:balance}.dashboard-stale{justify-content:space-between;align-items:center;gap:var(--sp-3);max-width:none}.dashboard-stale>span{flex:1 1 auto;min-width:0}.dashboard-more{justify-content:center;padding-top:var(--sp-2)}.dashboard-openexisting{display:grid;justify-items:start;gap:var(--sp-3)}.dashboard-openexisting.is-grid{padding-top:0;margin-top:calc(-1 * var(--sp-2))}.dashboard-openexisting.is-empty{margin-top:var(--sp-2);justify-items:center}.dashboard-openexisting.is-empty .dashboard-openbyid{justify-content:center}.dashboard-openexisting.is-empty>.dashboard-openexisting-toggle:last-child{margin-bottom:-12px}.dashboard-openexisting-toggle.btn.link{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:44px;padding:0;font-size:var(--fs-14);line-height:var(--lh-snug);color:var(--accent);text-decoration:none}.dashboard-openexisting-toggle.btn.link:hover:not(:disabled){color:var(--accent-strong);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.dashboard-openexisting-toggle.btn.link>svg.icon{flex:none}.dashboard-openbyid{align-items:center;gap:var(--sp-2);width:100%}.dashboard-openbyid-field{position:relative;flex:1 1 240px;max-width:360px;min-width:0}.dashboard-openbyid-field>svg.icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink-muted);pointer-events:none}.dashboard-openbyid input{width:100%;padding-left:32px;font-family:var(--mono);font-size:var(--fs-13)}.dashboard-openbyid input::placeholder{font-family:var(--font)}.dashboard-openbyid-error{flex-basis:100%;color:var(--danger);font-size:var(--fs-13);line-height:var(--lh-snug)}.dashboard .course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-template-areas:none;gap:var(--sp-4);align-items:stretch}@media(min-width:768px){.dashboard .course-grid{grid-auto-rows:1fr auto}}.course-grid>.dashboard-skeleton{min-height:148px;border-radius:var(--radius);border:1px solid var(--line)}.course-grid>.course-card{animation:rise var(--dur-3) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 30ms)}:is(.course-grid,.dashboard-recent-list)>:nth-child(2){--i: 1}:is(.course-grid,.dashboard-recent-list)>:nth-child(3){--i: 2}:is(.course-grid,.dashboard-recent-list)>:nth-child(4){--i: 3}:is(.course-grid,.dashboard-recent-list)>:nth-child(5){--i: 4}:is(.course-grid,.dashboard-recent-list)>:nth-child(6){--i: 5}:is(.course-grid,.dashboard-recent-list)>:nth-child(7){--i: 6}:is(.course-grid,.dashboard-recent-list)>:nth-child(n+8){--i: 7}.course-card{display:grid;grid-row:span 2;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);row-gap:var(--sp-2);position:relative;min-width:0}.course-card-body{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.course-card:has(.menu-trigger[aria-expanded=true]){z-index:3}@media(hover:hover){.course-card:hover{box-shadow:var(--shadow-1);transform:translateY(-1px);border-color:var(--line-strong)}}.course-card-title{display:grid;grid-template-columns:40px minmax(0,1fr);grid-auto-flow:column;grid-auto-columns:auto;column-gap:var(--sp-3);align-items:start;min-width:0;margin-bottom:var(--sp-1)}.course-card-title>.course-card-name{padding-top:calc((40px - 1.3em)/2);margin:0;font-size:var(--fs-15);font-weight:600;line-height:1.3;letter-spacing:0;color:var(--ink);min-width:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.course-card-link{color:inherit;text-decoration:none}.course-card-link:after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.course-card-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px}.course-card-tools{display:inline-flex;align-items:center;gap:2px;position:relative;z-index:2;flex:none;margin:calc((40px - var(--control-h-sm)) / 2) -8px 0 0;color:var(--ink-muted)}.course-card-tools .btn.ghost{color:var(--ink-muted)}.course-card-tools .btn.ghost:hover:not(:disabled){color:var(--ink)}.course-card-meta{display:flex;min-width:0;min-height:calc(1em * var(--lh-snug));font-size:var(--fs-13);line-height:var(--lh-snug);white-space:nowrap}.course-card-school{min-width:0;overflow:hidden;text-overflow:ellipsis}.course-card-term,.course-card-sep{flex:none;white-space:pre}.course-card-meta:has(>.course-card-mine){align-items:baseline}.course-card-meta:has(>.course-card-mine:only-child):before{content:"​"}.course-card-mine{flex:none;font-size:var(--fs-12);line-height:1}.course-card-mine:not(:first-child){margin-inline-start:var(--sp-2)}.course-card:focus{outline:none}.course-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.course-card-counts{font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink-muted);font-variant-numeric:tabular-nums}.course-card-status{display:grid;gap:var(--sp-2);justify-items:start}.course-card-times{font-size:var(--fs-12);line-height:var(--lh-snug);font-variant-numeric:tabular-nums}.course-card-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--sp-3);align-items:flex-start;padding-top:var(--sp-3);border-top:1px solid var(--line)}.course-card-counts{margin-top:auto;margin-bottom:var(--sp-1)}.course-card-continue.btn{position:relative;z-index:1;align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;height:32px;min-width:88px;padding:0 20px;font-size:var(--fs-14);text-decoration:none}.course-card-continue.btn:not(.primary){background:var(--accent-soft);border-color:transparent;color:var(--accent-strong);font-weight:600}.course-card-continue.btn:not(.primary):hover{background:color-mix(in srgb,var(--accent-soft) 70%,var(--accent) 12%)}.course-card-map .mm-dot,.course-card-map:has(.mm-ring) .mm-core{fill:#9aa3ae;stroke:none}.course-card-map .mm-spokes{stroke:var(--line-strong)}.course-card.cached .course-card-counts,.course-card.cached .course-card-chip{color:var(--ink-muted)}.course-card-chip-link{position:relative;z-index:1;display:inline-flex;border-radius:999px;text-decoration:none}.course-card-chip-link .course-card-chip{color:var(--danger)}.course-card-chip-link .course-card-chip>svg.icon{margin-left:-2px}.course-card-chip-link:before{content:"";position:absolute;inset:-11px -4px}.course-card-chip-link:hover .course-card-chip{border-color:var(--danger)}.course-card-chip-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.course-card-status>.course-card-next,.course-card-status>.course-card-slot{justify-self:stretch;min-width:0}.course-card-next{display:flex;align-items:center;min-height:22px;font-size:var(--fs-13);line-height:var(--lh-snug);animation:fade var(--dur-2) var(--ease-out) both}.course-card-next-label{flex:none;color:var(--ink-muted)}.course-card-next-label:lang(en){margin-right:4px}.course-card-next-step{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:500}.course-card-next-badge{margin-right:4px}.course-card-slot{display:block;min-height:22px}.course-card-line1{display:flex;align-items:center;min-height:22px}.course-card-count{font-size:var(--fs-13);line-height:17px;font-variant-numeric:tabular-nums}.course-card-count-n{font-weight:600;color:var(--ink)}.course-card-status>.course-card-times{line-height:17px}.course-card-failed-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-12);line-height:var(--lh-snug);color:var(--danger);text-decoration:none}.course-card-failed-link:before{content:"";position:absolute;inset:-8px -4px -20px}.course-card-failed-link:hover{text-decoration:underline;text-underline-offset:2px}.course-card-failed-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.dashboard-section-title{margin:0 0 var(--sp-3);font-size:var(--fs-20);line-height:var(--lh-tight);font-weight:600;letter-spacing:var(--track-tight, 0);color:var(--ink)}.dashboard-recent{min-width:0;margin-top:var(--sp-4)}.card.dashboard-recent-card{padding:var(--sp-1) var(--sp-4)}.dashboard-recent-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:16px minmax(0,1fr) auto fit-content(16em) auto 16px;column-gap:var(--sp-4)}.dashboard-recent-list>li{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;min-width:0;animation:rise var(--dur-3) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 30ms)}.dashboard-recent-list>li+li{border-top:1px solid var(--line)}.dashboard-recent-row{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:center;min-height:48px;min-width:0;color:var(--ink);text-decoration:none}.dashboard-recent-icon{grid-column:1;color:var(--ink-muted)}.dashboard-recent-file{grid-column:2;display:flex;min-width:0;white-space:nowrap;font-size:var(--fs-14);line-height:var(--lh-snug);font-weight:500}.dashboard-recent-stem{min-width:0;overflow:hidden;text-overflow:ellipsis}.dashboard-recent-ext{flex:none}.dashboard-recent-meta{display:contents;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink-muted)}.dashboard-recent-state{grid-column:3;font-size:var(--fs-13);font-weight:500;color:var(--ink-muted);white-space:nowrap}.dashboard-recent-state.failed{color:var(--danger)}.dashboard-recent-course{grid-column:4;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-13);color:var(--ink-muted)}.dashboard-recent-time{grid-column:5;justify-self:end;font-size:var(--fs-13);color:var(--ink-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard-recent-chevron{grid-column:6;color:var(--ink-muted)}@media(hover:hover){.dashboard-recent-row:hover .dashboard-recent-file,.dashboard-recent-row:hover .dashboard-recent-chevron{color:var(--accent)}}.dashboard-recent-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm, 6px)}@media(max-width:767px){.dashboard-header{margin-bottom:var(--sp-5)}.dashboard-notice{margin:calc(-1 * var(--sp-2)) 0 var(--sp-4)}.dashboard-body{gap:var(--sp-5)}}@media(max-width:639px){.card.dashboard-recent-card{padding:var(--sp-1) var(--sp-3)}.dashboard-recent-list{grid-template-columns:minmax(0,1fr)}.dashboard-recent-list>li{display:block}.dashboard-recent-row{grid-template-columns:16px minmax(0,1fr) 16px;grid-template-areas:"icon file chev" "icon meta chev";column-gap:var(--sp-3);row-gap:2px;padding:var(--sp-2) 0;min-height:56px}.dashboard-recent-icon{grid-area:icon}.dashboard-recent-file{grid-area:file}.dashboard-recent-chevron{grid-area:chev}.dashboard-recent-meta{grid-area:meta;display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;white-space:nowrap}.dashboard-recent-state,.dashboard-recent-course,.dashboard-recent-time{grid-column:auto}.dashboard-recent-course{min-width:0}.dashboard-recent-state+.dashboard-recent-course:before{content:"·";margin-right:var(--sp-2);color:var(--ink-muted)}.dashboard-recent-time{margin-left:auto;padding-left:var(--sp-3)}}@media(max-width:479px){.dashboard-recent-meta:has(>.dashboard-recent-state){flex-wrap:wrap;row-gap:2px}.dashboard-recent-state+.dashboard-recent-course{order:3;flex-basis:100%}.dashboard-recent-state+.dashboard-recent-course:before{content:none}}@media(max-width:639px),(pointer:coarse){.dashboard-header{min-height:44px}.course-card-continue.btn,.dashboard-header .btn{height:44px}.course-card-tools{margin:-2px calc(-1 * var(--sp-3)) 0 0}.course-card-tools .btn.icon{width:44px;min-height:44px}}.new-course{--nc-field-h: 40px;--nc-danger-ring: color-mix(in srgb, var(--danger) 28%, transparent);display:grid;gap:var(--sp-5);max-width:560px;margin-inline:auto}.new-course>.dashboard-header{margin-bottom:0;align-items:flex-start}.new-course-heading{display:grid;gap:var(--sp-2);min-width:0}.new-course-sub{margin:0;font-size:var(--fs-14);line-height:var(--lh-body);color:var(--ink-muted);max-width:52ch}.card.new-course-form{display:grid;gap:0;padding:var(--sp-6)}.new-course-form .field{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--sp-2);row-gap:var(--sp-1);margin-bottom:var(--sp-4)}.new-course-form .field>.new-course-label{align-self:end;display:inline-flex;align-items:baseline;gap:var(--sp-2);min-width:0}.new-course-optional{font-size:var(--fs-12);line-height:var(--lh-snug);font-weight:400;color:var(--ink-muted)}.new-course-form .field>input,.new-course-form .field>.hint,.new-course-form .field>.error{grid-column:1 / -1}.new-course-form .field>input{width:100%;min-width:0}.new-course-form .field>.counter{grid-area:1 / 2;align-self:end;justify-self:end;font-size:var(--fs-12);line-height:var(--lh-snug);font-variant-numeric:tabular-nums;opacity:0;transition:opacity var(--dur-1) var(--ease-std),color var(--dur-1) var(--ease-std)}.new-course-form .field:focus-within>.counter,.new-course-form .field>.counter.warn,.new-course-form .field>.counter.danger{opacity:1}.new-course-form .field>.counter.danger{font-weight:600}.new-course-form .field>.error{font-size:var(--fs-12);line-height:var(--lh-snug)}.new-course-form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]){height:var(--nc-field-h);padding:0 var(--sp-3);font-size:var(--fs-14)}.new-course-form input[aria-invalid=true]:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]){border-color:var(--danger)}.new-course-form input[aria-invalid=true]:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):focus-visible{border-color:var(--danger);box-shadow:0 0 0 3px var(--nc-danger-ring)}.new-course-form>.error-state{margin:0 0 var(--sp-4)}.new-course-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--line)}.new-course-exists .row{justify-content:space-between}.new-course-raw{display:block;white-space:pre-wrap;margin:var(--sp-2) 0;font-family:var(--mono);font-size:var(--fs-12);color:var(--ink-muted)}.new-course-hint{margin:var(--sp-2) 0}.new-course-loading{margin:0;padding:var(--sp-5) 0}@media(max-width:767px){.new-course{gap:var(--sp-4)}.card.new-course-form{padding:var(--sp-4)}}@media(max-width:479px){.card.new-course-form{padding:var(--sp-3)}.new-course-actions .btn{flex:1 1 0}}.course-space{display:flex;flex-direction:column;gap:var(--sp-4)}.course-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--sp-2) var(--sp-5);margin-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.course-header .tabs{flex:0 1 auto;max-width:100%;margin-bottom:-1px;border-bottom:0;box-shadow:none}.course-title{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1);padding-bottom:var(--sp-3)}.course-title-row{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.course-header h1{margin:0;min-width:0;font-size:var(--fs-28);line-height:var(--lh-tight);font-weight:650;letter-spacing:var(--track-tight);color:var(--ink);overflow-wrap:anywhere}.course-header h1.course-name-id{font-size:var(--fs-24)}.course-copy-id{flex:none;color:var(--ink-muted)}.course-copy-id:hover:not(:disabled){color:var(--ink)}.course-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-3);min-width:0;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink-muted);font-variant-numeric:tabular-nums}.course-meta>span{min-width:0;overflow-wrap:anywhere}.course-meta>span:lang(zh){word-break:keep-all}@media(max-width:767px){.course-header{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.course-title{flex-basis:auto;padding-bottom:0}.course-header h1{font-size:var(--fs-24)}.course-header h1.course-name-id{font-size:var(--fs-20)}.course-header .tabs{width:100%}}.course-space.phone-bar>.course-subpage{margin-top:0}.course-space.phone-bar .qa-panel.flow .qa-main>.qa-help-btn{display:none}.course-space.phone-bar>.course-header-bar{margin-top:calc(-1 * var(--sp-4))}.course-meta-row{min-height:22px}.course-grid{display:grid;grid-template-columns:260px minmax(0,1fr) 320px;grid-template-areas:"files map right" "summary summary summary";gap:20px;align-items:start}.course-grid>.files-column{grid-area:files;min-width:0}.course-grid>.right-col{grid-area:right;min-width:0}@media(max-width:1279px){.course-grid{grid-template-columns:240px minmax(0,1fr);grid-template-areas:"map map" "files right" "summary summary"}}@media(max-width:767px){.course-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "files" "summary" "right";gap:var(--sp-4)}}.files-column{display:flex;flex-direction:column;gap:var(--sp-3)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-3);border:1px dashed var(--line-control);border-radius:var(--radius);background:var(--surface);color:var(--ink-muted);text-align:center;transition:background-color var(--dur-1) var(--ease-std),border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-2) var(--ease-std),color var(--dur-1)}.dropzone:hover{border-color:var(--ink-muted)}.dropzone-icon{color:var(--ink-muted);transition:color var(--dur-1)}.dropzone p{margin:0;max-width:30ch;font-size:var(--fs-13);line-height:var(--lh-snug);text-wrap:balance}.dropzone.over{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.dropzone.over .dropzone-icon{color:var(--accent)}.file-list{display:flex;flex-direction:column;gap:var(--sp-2)}.file-card{border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-3);background:var(--surface);font-size:var(--fs-13);transition:border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-2) var(--ease-std)}.file-card.flash{animation:rise var(--dur-3) var(--ease-out) both,flash 1.5s var(--ease-out);animation-delay:calc(var(--i, 0) * 30ms),0s}@keyframes flash{0%{box-shadow:0 0 0 3px var(--accent-ring);border-color:var(--accent)}}.file-row{display:flex;align-items:flex-start;gap:var(--sp-2)}.file-main{flex:1 1 auto;min-width:0}.file-head{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.file-name{flex:1 1 auto;min-width:0;font-size:var(--fs-14);font-weight:600;line-height:var(--lh-snug);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{flex:none;font-size:var(--fs-12);font-variant-numeric:tabular-nums;white-space:nowrap}.file-copy{flex:none;margin:-4px -4px -4px 0;color:var(--ink-muted)}.file-copy:hover:not(:disabled){color:var(--ink)}.file-body{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:var(--sp-2);font-size:var(--fs-12);line-height:var(--lh-snug);color:var(--ink-muted);font-variant-numeric:tabular-nums}.file-body:empty{display:none}.file-body>.progress,.file-body>.stagebar,.file-body>.row{align-self:stretch}.file-card[data-state=failed] .stagebar{grid-template-columns:1fr;gap:0}.file-card[data-state=failed] .stagebar>i:not(:first-child){display:none}.file-card[data-state=failed] .stagebar>i{background:color-mix(in srgb,var(--danger) 30%,var(--grid));animation:none}.file-body>.row{flex-wrap:nowrap;justify-content:space-between;gap:var(--sp-2)}.file-body>.row>span:first-child{min-width:0}.file-body .spacer{flex:1 1 auto}.thumb{flex:0 0 64px;width:64px;height:48px;display:block;border-radius:var(--r-2);overflow:hidden;background:var(--grid)}.file-browse{text-decoration:none}.thumb img{display:block;width:64px;height:48px;object-fit:contain;animation:fade var(--dur-2) var(--ease-std) both}.thumb.thumb-video img{object-fit:cover}@media(max-width:379px){.thumb{flex-basis:48px;width:48px;height:36px}.thumb img{width:48px;height:36px}a.thumb{position:relative;overflow:visible}a.thumb>img{border-radius:inherit}a.thumb:after{content:"";position:absolute;inset:-4px 0}}@media(pointer:coarse){.file-copy{margin:0}}.status-line{padding:0 var(--sp-1);font-variant-numeric:tabular-nums}.status-line-parts{display:inline}.status-line-sep{color:var(--ink-muted)}.status-line-bank{color:var(--accent);text-decoration:none}.status-line-bank:hover,.status-line-bank:focus-visible{text-decoration:underline}.status-line-failed{color:var(--danger)}.status-line-retry{margin-left:var(--sp-1);vertical-align:baseline}.course-grid>.course-summary{--reader-rail: 260px;--reader-gap: 20px;grid-area:summary;min-width:0;margin-top:var(--sp-2);padding-top:var(--sp-5);border-top:1px solid var(--line);display:grid;gap:var(--sp-4)}.course-summary>.empty{max-width:none;margin:0;padding:var(--sp-4) var(--sp-5);text-align:left;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3) var(--sp-4)}.course-summary>.empty>.empty-action{margin:0}@media(min-width:768px)and (max-width:1279px){.course-grid>.course-summary{--reader-rail: 240px}}@media(max-width:767px){.course-grid>.course-summary{margin-top:0;padding-top:var(--sp-4)}}.course-nav{display:flex;align-items:flex-end;gap:var(--sp-1);flex:0 1 auto;min-width:0;max-width:100%}.course-nav .tabs{flex:1 1 auto;min-width:0}.course-gear{flex:none;margin-bottom:6px;color:var(--ink-muted)}.course-gear:hover:not(:disabled){color:var(--ink)}.course-gear.active{color:var(--accent);background:var(--accent-bg)}.course-qa-tab{width:100%;max-width:880px;margin:0 auto;min-width:0}main.shell-content:has(>.course-space.qa-fit){height:calc(100vh - var(--topbar-h));height:calc(var(--qa-vvh, 100dvh) - var(--topbar-h));min-height:0;padding-bottom:0;display:flex;flex-direction:column}.course-space.qa-fit{flex:1 1 auto;min-height:0}.course-space.qa-fit>.course-qa-tab{flex:1 1 auto;min-height:0;display:flex;max-width:none;margin:0}@media(max-width:1023px),(max-height:800px){.course-space.qa-fit .course-meta{display:none}}@media(max-width:1023px){.course-space.qa-fit{gap:var(--sp-2)}}@media(max-height:640px){main.shell-content:has(>.course-space.qa-fit){padding-top:var(--sp-2)}.course-space.qa-fit{gap:var(--sp-2)}.course-space.qa-fit .course-title{display:none}.course-space.phone-bar.qa-fit>.course-header-bar{margin-top:calc(-1 * var(--sp-2))}}:where(html.qa-short) main.shell-content:has(>.course-space.qa-fit){padding-top:var(--sp-2)}:where(html.qa-short) .course-space.qa-fit{gap:var(--sp-2)}:where(html.qa-short) .course-space.qa-fit .course-title{display:none}:where(html.qa-short) .course-space.phone-bar.qa-fit>.course-header-bar{margin-top:calc(-1 * var(--sp-2))}html.qa-tight .course-space.qa-fit:has(>.course-qa-tab form.qa-composer:focus-within)>.course-header{display:none}@media(max-height:420px){.course-space.qa-fit:has(>.course-qa-tab form.qa-composer:focus-within)>.course-header{display:none}}.course-settings{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--sp-5);align-items:start}.course-settings-nav.seg{flex-direction:column;align-items:stretch;position:sticky;top:var(--sp-4)}.course-settings-nav.seg>a{justify-content:flex-start;height:auto;min-height:var(--control-h-sm);padding:6px 12px;text-align:left}.course-settings-panel{min-width:0;display:flex;flex-direction:column;gap:var(--sp-4)}.course-settings-course-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-4)}.course-settings-course-name{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.course-settings-course-actions{display:flex;gap:var(--sp-2);flex:none}.course-settings-hint{margin:var(--sp-3) 0 0;font-size:var(--fs-13, 13px)}@media(max-width:760px){.course-settings{grid-template-columns:minmax(0,1fr)}.course-settings-nav.seg{flex-direction:row;flex-wrap:wrap;position:static}}.course-settings-files{max-width:720px}.course-settings-lead{margin:0 0 var(--sp-3);font-size:var(--fs-13, 13px)}.course-settings-map .btn{display:inline-flex;align-items:center;gap:6px;margin-top:var(--sp-3)}.course-settings-mode-seg{flex-wrap:wrap;max-width:100%}.course-settings-mode-desc{margin:var(--sp-2) 0 var(--sp-3);font-size:var(--fs-13, 13px)}.course-settings-exam form{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-3)}.course-settings-exam-sections{display:flex;flex-direction:column;gap:2px;margin-top:var(--sp-2)}.course-settings-exam-sections .scope-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--sp-2);min-height:36px;padding:0 var(--sp-2);border-radius:var(--r-2);cursor:pointer;transition:background-color var(--dur-1) var(--ease-std)}.course-settings-exam-sections .scope-row:hover,.course-settings-exam-sections .scope-row:focus-within{background:var(--bg)}.course-settings-exam-sections .scope-row.all{font-weight:600}.course-settings-exam-sections .scope-name{display:inline-flex;align-items:center;gap:var(--sp-2);min-width:0;overflow-wrap:anywhere}.course-settings-exam-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.files-column .dropzone{gap:12px;padding:var(--sp-4) var(--sp-3)}.files-column .dropzone .dropzone-hint{margin:0;max-width:none;font-size:var(--fs-14);line-height:var(--lh-body, 1.57);text-wrap:balance}.files-column .dropzone .btn{min-height:36px}.files-column .dropzone.armed{border-color:var(--accent)}.files-column .dropzone.armed .dropzone-icon{color:var(--accent)}.files-column .dropzone.over{box-shadow:0 0 0 2px var(--accent-ring)}.files-column .empty{max-width:none;margin-inline:0;padding:var(--sp-5) var(--sp-4)}.files-column .empty-title{display:block;margin-bottom:var(--sp-1);font-size:var(--fs-14);line-height:var(--lh-snug);font-weight:600;color:var(--ink)}.files-column .empty-desc{display:block;font-size:var(--fs-13);line-height:var(--lh-snug);text-wrap:balance}.files-column .empty-bare .empty-mark{margin-bottom:0}.files-notice-plain{margin:0;padding-inline-start:var(--sp-2);border-inline-start:3px solid var(--accent);font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink);overflow-wrap:anywhere}.file-card[data-state=done] .file-body{gap:var(--sp-2)}.file-done-line{font-size:var(--fs-12);line-height:var(--lh-meta, 16px);color:var(--ink-muted);font-variant-numeric:tabular-nums}.file-done-line>*{white-space:nowrap}.file-del{position:relative;flex:none;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;align-self:flex-start;margin-block:calc((var(--fs-14) * var(--lh-snug) - 24px) / 2)}.file-head>.file-size{align-self:flex-start;line-height:calc(var(--fs-14) * var(--lh-snug))}button.file-del:before{content:"";position:absolute;inset:-4px}@media(pointer:coarse){button.file-del:before{inset:-10px}}.files-column[data-trailing=none] .file-head>.file-del-slot{display:none}.thumb.thumb-media{position:relative;display:grid;place-items:center;color:var(--accent);background:var(--accent-bg)}.thumb.thumb-media.has-image{background:var(--grid)}.thumb-badge{position:absolute;left:4px;bottom:4px;display:grid;place-items:center;width:16px;height:16px;border-radius:var(--r-1);color:#fff;background:#101828a3}.file-tile{flex:0 0 64px;display:grid;place-content:center;justify-items:center;gap:2px;width:64px;height:48px;border-radius:var(--r-2);background:var(--grid);color:var(--ink-muted)}.file-tile.media{color:var(--accent);background:var(--accent-bg)}.file-tile-ext{font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1}@media(max-width:379px){.file-tile{flex-basis:48px;width:48px;height:36px}.file-tile:not(.media)>svg{width:16px;height:16px}}@media(max-width:479px){.file-head{flex-wrap:wrap;row-gap:0}.file-head>.file-name{flex-basis:0}.file-head>.file-size-under{order:1;flex-basis:100%;line-height:var(--lh-meta, 16px)}}.thumb{text-decoration:none}.file-status{padding-inline-start:12px;text-indent:-12px;overflow-wrap:anywhere}.file-status:before{content:"";display:inline-block;width:6px;height:6px;margin-inline-end:6px;border-radius:50%;background:var(--ink-muted);vertical-align:.1em}.file-status.warn:before{background:var(--warn)}.file-status.ok:before{background:var(--ok)}.file-status.danger{color:var(--ink)}.file-status.danger:before{background:var(--danger)}.file-status.pulsing:before{animation:pulse 1.2s var(--ease-std) infinite}.file-sub{padding-inline-start:12px}:is(.file-status,.file-sub):lang(zh){word-break:keep-all;overflow-wrap:anywhere;text-wrap-style:balance}:is(.file-status,.file-sub):lang(en){text-wrap-style:pretty}@media(prefers-reduced-motion:reduce){.file-status.pulsing:before{box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 28%,transparent)}}@media(forced-colors:active){.file-status:before,.file-status:is(.warn,.ok,.danger,.pulsing):before{forced-color-adjust:none;background:CanvasText;box-shadow:none}}.file-card[data-state=uploading] .progress>span{transition:width .25s linear}.file-card[data-state=paused] .progress>span,.file-card[data-state=paused_missing] .progress>span{background:var(--warn);transition:none}.file-card[data-state=verifying] .progress>span,.file-card[data-state=waiting] .progress>span{opacity:.45;transition:none}.file-card.unfinished .progress>span{opacity:.45;transition:none}.file-card[data-state=remote] .progress>span{opacity:.45;transition:width .25s linear}.file-card[data-state=aborted] .progress>span{opacity:.45;transition:none}.file-note{color:var(--ink);overflow-wrap:anywhere}.file-body>.row.file-actions{justify-content:flex-start;flex-wrap:wrap}@media(pointer:coarse){.file-body>.file-actions .btn.small{min-height:44px}}.file-tech{margin-top:var(--sp-2);font-size:var(--fs-12);line-height:var(--lh-meta, 16px);color:var(--ink-muted)}.file-tech>summary{display:inline-flex;align-items:center;gap:2px;min-height:24px;cursor:pointer;list-style:none;border-radius:var(--r-1)}.file-tech>summary::-webkit-details-marker{display:none}.file-tech>summary:hover{color:var(--ink)}.file-tech>summary:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.file-tech>summary .chev{transition:transform var(--dur-2) var(--ease-std)}.file-tech[open]>summary .chev{transform:rotate(90deg)}.file-tech-body{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-1) var(--sp-2);margin-top:var(--sp-1)}.file-sha{display:inline-block;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;font-size:var(--fs-12);color:var(--ink)}.file-tech .file-copy{gap:var(--sp-1);color:var(--accent)}@media(max-width:639px),(pointer:coarse){.file-tech>summary{min-height:44px}}@media(prefers-reduced-motion:reduce){.file-tech>summary .chev{transition:none}}@media(max-width:639px){.files-column .dropzone{border:0;padding:0;background:transparent;box-shadow:none;gap:12px;align-items:stretch;text-align:center}.files-column .dropzone .dropzone-icon{display:none}.files-column .dropzone .btn{order:-1;width:100%;min-height:56px;font-size:var(--fs-14)}.files-column .dropzone .dropzone-hint{font-size:var(--fs-12);line-height:var(--lh-meta, 16px);color:var(--ink-muted)}.files-column .dropzone.over{background:transparent;box-shadow:none}.file-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;text-wrap-style:pretty}}.kt{position:relative;display:block;width:100%;min-width:0}.kt-tree,.kt-group{list-style:none;margin:0;padding:0}.kt-item{margin:0;outline:none}.kt-row{display:flex;align-items:center;gap:56px;--kt-top-offset: 0px}.kt[data-layout=tree] .kt-row.kt-top{align-items:flex-start}.kt[data-layout=tree] .kt-row.kt-top>.kt-slot{margin-top:var(--kt-top-offset, 0px)}.kt-slot{position:relative;flex:none;display:flex;min-width:0;box-sizing:border-box}.kt-group{flex:1 1 0;min-width:0}.kt [aria-level="1"]>.kt-row>.kt-slot{width:var(--kt-slot-1);min-width:var(--kt-slot-1)}.kt [aria-level="2"]>.kt-row>.kt-slot{width:var(--kt-slot-2);min-width:var(--kt-slot-2)}.kt [aria-level="3"]>.kt-row>.kt-slot{width:var(--kt-slot-3);min-width:var(--kt-slot-3)}.kt [aria-level="4"]>.kt-row>.kt-slot{width:var(--kt-slot-4);min-width:var(--kt-slot-4)}.kt [aria-level="5"]>.kt-row>.kt-slot{width:var(--kt-slot-5);min-width:var(--kt-slot-5)}.kt [aria-level="6"]>.kt-row>.kt-slot{width:var(--kt-slot-6);min-width:var(--kt-slot-6)}.kt .kt-item.is-point>.kt-row>.kt-slot{flex:1 1 0;width:auto;min-width:0}.kt[data-layout=tree] .kt-item:not([aria-expanded=true]):not(.is-point)>.kt-row>.kt-slot{width:auto;flex:0 1 auto;max-width:100%}.kt-group>.kt-item+.kt-item{margin-top:6px}.kt-group>.kt-item[aria-expanded=true]+.kt-item,.kt-group>.kt-item+.kt-item[aria-expanded=true]{margin-top:16px}.kt-tree>.kt-item+.kt-item{margin-top:16px}.kt-root-row{display:flex;align-items:flex-start;gap:56px}.kt-rootslot{flex:none;display:flex;width:var(--kt-slot-0);min-width:0}.kt-root-row>.kt-tree{flex:1 1 0;min-width:0}.kt-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.kt-wires path{fill:none;stroke:var(--line-strong);stroke-width:2}.kt-box{--kt-line: var(--line-control);--kt-line-hover: var(--ink-muted);position:relative;display:flex;align-items:flex-start;box-sizing:border-box;min-width:0;max-width:100%;padding:4px 10px;border:1.5px solid var(--kt-line);border-left-width:5px;border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer}.kt-box:hover{border-color:var(--kt-line-hover)}.kt-box.is-chapter{--kt-line: var(--tree-chapter);--kt-line-hover: var(--accent-strong)}.kt-box.is-concept[data-mastery=weak]{--kt-line: var(--warn);--kt-line-hover: var(--warn-strong)}.kt-box.is-concept[data-mastery=mastered]{--kt-line: var(--ok);--kt-line-hover: var(--ok-strong)}.kt-box.is-point{--kt-line: var(--line-control);border-left-width:1.5px;color:var(--ink-muted);font-size:var(--fs-13);line-height:18px}.kt-box.kt-rootbox{--kt-line: var(--ink);--kt-line-hover: var(--ink);border-left-width:1.5px;cursor:default;margin-top:var(--kt-root-offset, 0px)}.kt-box.kt-rootbox{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.kt-box,.kt-probe>i{font-size:var(--fs-14);line-height:20px;font-weight:400;font-style:normal}.kt-box.is-chapter,.kt-box.kt-rootbox,.kt-probe>[data-probe=chapter],.kt-probe>[data-probe=root]{font-weight:600}.kt-ref,.kt-probe>[data-probe=ref]{font-size:var(--fs-12);line-height:16px;font-weight:400;font-variant-numeric:tabular-nums}.kt-probe{position:absolute;top:0;left:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.kt-box.is-hit{background:var(--tree-hit)}.kt-box.is-dim:not(.is-chapter){background:transparent;border-color:var(--line)}.kt-box.is-dim:not(.is-chapter):hover{border-color:var(--kt-line-hover)}.kt-box.is-point.is-open,.kt-box.is-point.is-open:hover{border-color:var(--ink-muted);box-shadow:0 0 0 1px var(--ink-muted)}.kt [role=treeitem]:focus-visible{outline:none}.kt [role=treeitem]:focus-visible>.kt-row>.kt-slot>.kt-box,.kt [role=treeitem].targeted>.kt-row>.kt-slot>.kt-box{outline:2px solid var(--accent);outline-offset:2px}.kt-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:14px;height:20px;margin-right:4px;color:var(--ink-muted)}.kt-toggle>svg{width:14px;height:14px}.kt-item[aria-expanded=true]>.kt-row>.kt-slot>.kt-box>.kt-toggle>svg{transform:rotate(90deg)}.kt-toggle:before{content:"";position:absolute;left:-5px;top:-1.5px;bottom:-1.5px;width:33px}.kt-toggle.is-leaf:before{content:none}.kt-body{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;flex:1 1 auto;min-width:0}.kt-meta{display:inline-flex;align-items:center;gap:4px;flex:none;white-space:nowrap}.kt-box.is-point .kt-body{flex-wrap:nowrap}.kt-box.is-point .kt-title{flex:1 1 auto}.kt-title{flex:0 1 auto;min-width:0;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;text-decoration:none;overflow-wrap:anywhere;cursor:pointer}.kt-title:hover,.kt-title:focus-visible,.kt [role=treeitem]:focus-visible>.kt-row>.kt-slot>.kt-box .kt-title{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.kt-box.is-folding .kt-title:hover,span.kt-title:hover,.kt [role=treeitem]:focus-visible>.kt-row>.kt-slot>.kt-box.is-folding .kt-title,.kt [role=treeitem]:focus-visible>.kt-row>.kt-slot>.kt-box span.kt-title{text-decoration:none}.kt-box.is-folding:hover>.kt-toggle{color:var(--ink)}.kt-box.is-inert,span.kt-title{cursor:default}.kt[data-layout=tree] .kt-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-wrap:balance}.kt[data-layout=tree][data-full=true] .kt-box.is-point .kt-title{display:block;-webkit-line-clamp:unset;line-clamp:none;overflow:visible}.kt-num{font-variant-numeric:tabular-nums}.kt-ref{flex:none;margin:0;color:var(--ink-muted);white-space:nowrap;text-decoration:none;cursor:default}.kt-ref.is-live{cursor:pointer}.kt-ref.is-live:hover,.kt-ref.is-live:focus-visible{color:var(--ink-muted);text-decoration:underline;text-underline-offset:2px}.kt-mark{flex:none;margin:0}.kt-mark.kt-due{width:14px;height:14px;color:var(--ink-muted)}.kt-mark.kt-ok{width:12px;height:12px;color:var(--ok)}.kt-mark.kt-weak{width:12px;height:12px;color:var(--warn-strong)}.kt[data-layout=list] .kt-row{display:block}.kt[data-layout=list] .kt-slot,.kt[data-layout=list] .kt-item.is-point>.kt-row>.kt-slot{width:auto}.kt[data-layout=list] .kt-box{width:fit-content}.kt[data-layout=list] .kt-group{margin:6px 0 0 9px;padding-left:10px;border-left:1px solid var(--line)}.kt[data-layout=list] .kt-item[aria-expanded=true]>.kt-row>.kt-group{margin-bottom:4px}.kt[data-layout=list] .kt-wires,.kt[data-layout=list] .kt-rootslot{display:none}.kt[data-layout=list] .kt-root-row{display:block}.kt[data-layout=list][data-narrow] .kt-box{width:100%}.kt[data-layout=list] .kt-box.is-point{line-height:20px;max-width:min(100%,46em)}.kt[data-layout=list] li[aria-level="1"]>.kt-row>.kt-slot{position:sticky;top:var(--kt-sticky-top, var(--topbar-h));z-index:2;background:var(--bg)}.kt[data-surface=home] .kt-box{scroll-margin-top:calc(var(--topbar-h) + 8px);scroll-margin-bottom:8px}.kt[data-surface=map] .kt-box{scroll-margin-top:8px;scroll-margin-bottom:8px}.kt[data-surface=home][data-layout=list] .kt-box{scroll-margin-top:calc(var(--topbar-h) + 48px)}.kt[data-surface=map][data-layout=list] .kt-box{scroll-margin-top:48px}@media(pointer:coarse){.kt-box{min-height:32px;padding-bottom:5px}.kt-box:not(.kt-rootbox):before{content:"";position:absolute;inset:-6.5px 0}.kt-group>.kt-item+.kt-item{margin-top:12px}.kt-group>.kt-item[aria-expanded=true]+.kt-item,.kt-group>.kt-item+.kt-item[aria-expanded=true],.kt-tree>.kt-item+.kt-item{margin-top:20px}.kt[data-layout=list] .kt-group{margin-top:12px}.kt[data-layout=list] li[aria-level="1"]>.kt-row>.kt-group{margin-top:14px}.kt-toggle:before{top:-8px;bottom:auto;height:44px;transform:none;left:-16px;width:44px}.kt-meta{position:relative}.kt-meta:has(>.kt-ref.is-live){align-self:flex-start}.kt-ref.is-live{position:relative;display:inline-flex;align-items:center;min-height:20px}.kt-ref.is-live:after{content:"";position:absolute;top:-12px;bottom:-12px;left:-6px;width:max(calc(100% + 16px),44px)}.kt-title{position:relative;z-index:1}}@media(hover:none){.kt-ref.is-live{text-decoration:underline dotted 1px;text-underline-offset:3px}}@keyframes kt-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:no-preference){.kt-group,.kt-wires path{animation:kt-fade var(--dur-1) var(--ease-out) both}}.kt-legend{display:flex;flex-wrap:wrap;align-items:center;row-gap:4px;margin:0 0 0 -12px;padding:0;list-style:none;font-size:var(--fs-12);line-height:16px;color:var(--ink-muted);clip-path:inset(-4px -4px -4px 8px)}.kt-legend-item{position:relative;display:inline-flex;align-items:center;gap:4px;margin-left:12px;white-space:nowrap}.kt-legend-end{margin-right:calc(12px + .29em)}.kt-legend-sep{color:var(--line-control)}.kt-legend-next>.kt-legend-sep{position:absolute;right:calc(100% + 12px)}:lang(zh) .kt-legend-label{margin-inline-end:-4px}.kt-legend-note{white-space:normal}.kt-swatch{flex:none;display:inline-block;width:4px;height:12px;border-radius:1px;background:var(--line-control)}.kt-swatch.is-chapter{background:var(--tree-chapter)}.kt-swatch.is-weak{background:var(--warn)}.kt-swatch.is-mastered{background:var(--ok)}.kt-swatch.is-point{width:12px;height:10px;box-sizing:border-box;border:1.5px solid var(--line-control);border-radius:3px;background:var(--surface)}.kt-legend .kt-mark{margin:0}.kt-pop{position:absolute;z-index:5;box-sizing:border-box;width:min(360px,100%);padding:var(--sp-3) var(--sp-4) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-3);color:var(--ink);font-size:var(--fs-14);line-height:22px;cursor:auto}.kt-pop:focus,.kt-pop-title:focus{outline:none}.kt-pop:before{content:"";position:absolute;left:calc(var(--kt-caret-x, 16px) - 4.25px);width:8.5px;height:8.5px;box-sizing:border-box;background:var(--surface);border:1px solid var(--line);transform:rotate(45deg);pointer-events:none}.kt-pop[data-side=below]:before{top:-4.75px;border-right-color:transparent;border-bottom-color:transparent}.kt-pop[data-side=above]:before{bottom:-4.75px;border-left-color:transparent;border-top-color:transparent}.kt-pop:not([data-side]):before{display:none}.kt-pop-head{display:flex;align-items:center;gap:var(--sp-2);margin:0 calc(-1 * var(--sp-2)) 0 0}.kt-pop-title{flex:1 1 auto;min-width:0;margin:0;font-size:var(--fs-13);line-height:18px;font-weight:600;color:var(--ink-muted);overflow-wrap:anywhere}.kt-pop-text{margin:var(--sp-2) 0 var(--sp-3);font-size:var(--fs-14);line-height:22px;color:var(--ink);overflow-wrap:anywhere}.kt-pop-source{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--sp-2);font-size:var(--fs-12);line-height:16px;color:var(--ink-muted)}.kt-pop-label{flex:none}.kt-pop-file{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kt-pop-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.drawer.kt-point-sheet>.modal-head:after{display:none}.drawer.kt-point-sheet .kt-pop-text{margin-top:var(--sp-2)}.drawer.kt-point-sheet .modal-foot>.kt-pop-actions{flex:1 1 auto;margin-top:0}.drawer.kt-point-sheet .kt-pop-actions>.btn{flex:1 1 auto}.course-home{display:flex;flex-direction:column;gap:var(--sp-5)}.home-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-4);min-height:var(--control-h-sm)}.home-counts{font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink-muted);font-variant-numeric:tabular-nums}.home-counts .home-stale{color:var(--warn)}.home-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-6);align-items:stretch}.home-top>*{min-width:0;grid-column:span 8}.home-top>:nth-child(2){grid-column:span 4}.home-top>:only-child{grid-column:1 / -1}.home-top-skeleton{min-height:214px;border-radius:var(--radius)}.next-step{position:relative;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5);box-shadow:inset 3px 0 0 var(--accent)}.home-eyebrow{font-size:var(--fs-12);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.next-step-title{margin:0;font-size:var(--fs-20);line-height:var(--lh-tight);font-weight:650;letter-spacing:var(--track-tight);color:var(--ink)}.next-step-chapter{display:flex;align-items:center;gap:var(--sp-2);min-width:0;font-size:var(--fs-15);font-weight:500;line-height:var(--lh-snug)}.next-step-chapter>span{min-width:0;overflow-wrap:anywhere}.next-step-hint{margin:0;font-size:var(--fs-13);line-height:var(--lh-snug)}.next-step-meta{margin:0;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink-muted)}.next-step .progress{margin-top:var(--sp-1)}.next-step-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-2)}.home-exam-name{font-size:18px;font-weight:600;line-height:var(--lh-tight);overflow-wrap:anywhere}.home-exam-name.origin-student.origin-text{color:var(--ink)}.home-exam-scope{margin:var(--sp-1) 0 0;font-size:var(--fs-13)}.home-exam-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-4)}.home-tool{background:var(--bg)}.home-tool p{margin:0;font-size:var(--fs-13);line-height:var(--lh-snug)}.home-map{display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}.home-map-title,.home-section-title{font-size:var(--fs-16);font-weight:650;line-height:var(--lh-tight);letter-spacing:var(--track-tight);color:var(--ink)}.home-map-title{margin:0}.home-map-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-1) var(--sp-4);min-width:0}.home-map-head>.home-map-title{min-width:0;overflow-wrap:anywhere}.home-map-open{display:inline-flex;align-items:center;gap:2px}@media(pointer:coarse){.home-map-open{position:relative}.home-map-open:after{content:"";position:absolute;inset:-19px -8px -5px}a.status-line-upload{position:relative;z-index:1;padding:6px 4px 22px;margin-inline:-4px}a.status-line-upload:focus-visible{padding-block:0}}.home-first-run{width:100%;max-width:640px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-4)}.home-first-run h2{margin:0;font-size:var(--fs-20);line-height:var(--lh-tight);font-weight:650;letter-spacing:var(--track-tight)}.home-first-run>p{margin:0 0 var(--sp-2);font-size:var(--fs-14);line-height:var(--lh-body);text-wrap:balance}.home-first-run .dropzone{padding:var(--sp-6) var(--sp-4)}@media(max-width:1023px){.home-top{grid-template-columns:minmax(0,1fr);gap:var(--sp-4)}.home-top>*,.home-top>:nth-child(2){grid-column:auto}}@media(max-width:767px){.home-head{flex-direction:column;align-items:flex-start}.next-step{padding:var(--sp-4)}.next-step-title{font-size:var(--fs-16)}}.home-due{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5)}.home-due-title{margin:0;font-size:var(--fs-16);font-weight:650;line-height:var(--lh-tight);letter-spacing:var(--track-tight);color:var(--ink);font-variant-numeric:tabular-nums}.home-due-empty{margin:0;font-size:var(--fs-13);line-height:var(--lh-snug)}.home-due-stack{list-style:none;margin:var(--sp-1) 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.home-due-item{display:flex;align-items:center;gap:var(--sp-2);min-width:0;padding:6px var(--sp-3);border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface);box-shadow:var(--shadow-1)}.home-due-item:nth-child(2){margin-inline:4px}.home-due-item:nth-child(3){margin-inline:8px}.home-due-name{flex:1 1 auto;min-width:0;font-size:var(--fs-14);font-weight:500;line-height:var(--lh-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-due-more{padding-left:var(--sp-3);font-size:var(--fs-12);line-height:var(--lh-snug)}.home-exam-tools>.home-due{background:var(--surface)}.home-section-title{margin:0 0 var(--sp-3)}.chapter-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.chapter-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(120px,160px) auto;align-items:center;gap:var(--sp-2) var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);transition:border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-2) var(--ease-std)}.chapter-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.chapter-row:has(>a:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.chapter-row[data-state=locked]{background:var(--bg);color:var(--ink-muted)}.chapter-row[data-state=passed] .chapter-row-title{color:var(--ink-muted)}.chapter-row-link{display:flex;align-items:center;gap:var(--sp-2);min-width:0;color:inherit;text-decoration:none;font-size:var(--fs-15);font-weight:500;line-height:var(--lh-snug);outline:none}.chapter-row-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.chapter-row-title{min-width:0;overflow-wrap:anywhere}.chapter-steps{list-style:none;margin:0;padding:0;display:flex;gap:6px}.step-pill{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:var(--r-pill);border:1px solid var(--line-strong);font-size:var(--fs-12);font-weight:500;line-height:1;color:var(--ink-muted);background:transparent;white-space:nowrap}.step-pill[data-state=done]{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}.step-pill[data-state=current]{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-bg);font-weight:600}.step-pill[data-state=pending]{border-style:dashed}.step-pill[data-state=locked]{border-style:dashed;opacity:.7}.step-pill[data-state=current][data-status=failed]{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.chapter-mastery{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.chapter-mastery .progress{flex:1 1 auto}.chapter-mastery .progress>span{background:var(--ok)}.chapter-mastery-count{font-size:var(--fs-12);line-height:16px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.chapter-mastery-count.muted{color:var(--ink-muted)}.chapter-flags{display:flex;gap:6px;justify-self:end}.chapter-flags:empty{display:none}@media(max-width:767px){.chapter-row{grid-template-columns:minmax(0,1fr) auto}.chapter-steps,.chapter-mastery{grid-column:1 / -1}}.quiz-start{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);margin-top:auto;padding-top:var(--sp-2)}.quiz-start-timed{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink-muted);cursor:pointer}.quiz-start-timed input{margin:0}.exam-create{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-1)}.exam-create .field{margin:0;max-width:420px}.exam-create .next-step-hint{margin:0}.next-step-quiet{align-self:flex-start}.next-step-build{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:auto;padding:var(--sp-3);border-radius:var(--r-2)}.next-step-build-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-1) var(--sp-3);font-size:var(--fs-13);line-height:var(--lh-snug)}.home-exam-status{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-6);align-items:start}.home-exam-main{grid-column:1 / span 8;display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}.home-exam-side{grid-column:9 / span 4;display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}@media(max-width:1023px){.home-exam-status{display:flex;flex-direction:column;gap:var(--sp-4)}.home-exam-main{display:contents}.home-exam-status .next-step{order:-2}.home-exam-side{order:-1;gap:var(--sp-4)}}.home-status{display:flex;flex-direction:column;gap:var(--sp-2)}.home-status .card-head{align-items:center;margin-bottom:0}.home-status .card-head h3{margin:0;font-size:var(--fs-16)}.home-status-link{font-size:var(--fs-13);white-space:nowrap}.status-line-upload{color:var(--warn);text-decoration:none}.status-line-upload:hover,.status-line-upload:focus-visible{text-decoration:underline;text-underline-offset:2px}.status-line[data-upload]>svg.icon{color:var(--warn)}.home-status-score{font-size:var(--fs-28);font-weight:650;line-height:var(--lh-tight);letter-spacing:var(--track-tight);color:var(--ink);font-variant-numeric:tabular-nums}.home-status-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);margin:0;font-size:var(--fs-13);line-height:var(--lh-snug)}.home-status-empty{margin:0;font-size:var(--fs-13);line-height:var(--lh-snug)}.home-exam-note{display:block;margin:var(--sp-2) 0 0;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--warn)}.home-exam-empty .home-exam-note{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-2);background:var(--warn-bg);color:var(--ink)}.home-weak .card-head{flex-wrap:wrap;gap:var(--sp-1) var(--sp-3)}.home-weak-legend{margin-left:auto}.home-weak-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.home-weak-row{display:flex;flex-direction:column;gap:6px;border-radius:var(--r-2);transition:background-color var(--dur-1) var(--ease-std)}.home-weak-row:hover{background:var(--surface-2, var(--bg))}.home-weak-row:has(.home-weak-chips){padding-bottom:var(--sp-2)}.home-weak-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"badge title summary" "badge bar bar";align-items:center;column-gap:var(--sp-2);row-gap:6px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-2);color:inherit;text-decoration:none;font-size:var(--fs-14);font-weight:500;line-height:var(--lh-snug)}.home-weak-link:hover{text-decoration:none}.home-weak-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-weak-link>.section-badge{grid-area:badge;width:24px;height:24px;background:transparent;border:1px solid var(--ink-muted);color:var(--ink)}.home-weak-title{grid-area:title;min-width:0;overflow-wrap:anywhere}.home-weak-summary{grid-area:summary;justify-self:end}.home-weak-link>.weak-bar{grid-area:bar}.home-weak-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--sp-2);padding-left:calc(var(--sp-3) + 24px + var(--sp-2))}.home-weak-label{font-size:var(--fs-12);line-height:16px;font-weight:600;color:var(--warn-strong, var(--warn))}.home-weak-chip-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;min-width:0}.home-weak-chip-list>li{min-width:0;max-width:100%}.home-weak-chip{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:2px 10px;border:0;border-radius:var(--r-pill);background:var(--warn-bg);color:var(--ink);font:inherit;font-size:var(--fs-12);line-height:16px;text-align:left;text-decoration:none;overflow-wrap:anywhere;cursor:pointer}.home-weak-chip:hover{text-decoration:underline}.home-weak-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-weak-chip[disabled]{cursor:progress;opacity:.7}.home-exam-edit{flex:none}@media(max-width:767px){.home-weak-chips{padding-left:var(--sp-3)}.home-weak-chip{min-height:44px;padding:0 var(--sp-3)}}.home-mock-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.home-mock-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-3);padding:6px var(--sp-3);border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface);color:inherit;text-decoration:none;transition:border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-2) var(--ease-std)}.home-mock-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.home-mock-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-mock-score{min-width:3.5ch;font-size:var(--fs-16);font-weight:650;line-height:var(--lh-tight);color:var(--ink);font-variant-numeric:tabular-nums}.home-mock-date{font-size:var(--fs-12)}.home-mock-chips{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto}.home-paper{display:flex;flex-direction:column;gap:var(--sp-2)}.home-paper-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);font-size:var(--fs-14);line-height:var(--lh-body);font-weight:500;color:var(--ink)}.home-paper-left{font-size:var(--fs-13);font-weight:400;color:var(--ink-muted)}.home-paper-continue{display:inline-flex;align-items:center;min-height:32px;font-size:var(--fs-14);line-height:var(--lh-body);font-weight:500;color:var(--accent-strong, var(--accent));text-decoration:none}.home-paper-continue:hover{text-decoration:underline}.home-paper-continue:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-1, 4px)}.home-paper-left[data-phase=warn]{color:var(--warn-strong, var(--warn));font-weight:600}.home-paper-left[data-phase=danger],.home-paper-left[data-phase=zero]{color:var(--danger);font-weight:600}.home-status-why{margin:0;font-size:var(--fs-13);line-height:var(--lh-snug)}.home-status-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-1)}.home-status-build{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-2)}@media(max-width:639px){.home-status-actions{margin-top:var(--sp-2)}.home-status-actions .btn{flex:1 1 auto;justify-content:center;min-height:44px}.home-paper-continue{min-height:44px}.next-step-actions>.btn.primary{flex:1 1 100%;justify-content:center;min-height:48px}}@media(max-width:767px){.course-home{gap:var(--sp-4)}.home-top,.home-exam-status{display:contents}.course-home .next-step,.course-home>.home-top-skeleton{order:-3}.course-home>.home-head{order:-2}.course-home>.home-top-skeleton{min-height:210px}.home-exam-side{order:-1}}.ask-fab{position:fixed;right:var(--sp-5);bottom:calc(var(--sp-5) + env(safe-area-inset-bottom,0px));z-index:29;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);box-sizing:border-box;height:44px;min-height:44px;padding:0 var(--sp-4) 0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-14);font-weight:600;letter-spacing:.01em;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-2);transition:transform .16s var(--ease-out),border-color var(--dur-1) var(--ease-std),background-color var(--dur-1) var(--ease-std),opacity var(--dur-2) var(--ease-std)}.ask-fab:hover{border-color:var(--line-strong);background:var(--bg)}.ask-fab:active{transform:translateY(1px)}.ask-fab:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.ask-fab-glyph{width:20px;height:20px;flex:none;color:var(--ink-muted)}.ask-fab-label{display:inline-block}.ask-fab.open{opacity:0;pointer-events:none}.ask-fab[aria-disabled=true]{background:var(--surface);border-color:var(--line);color:var(--ink-muted);box-shadow:var(--shadow-1);cursor:not-allowed}.ask-fab[aria-disabled=true]:active{transform:none}.ask-fab[data-tip]:after{content:attr(data-tip);position:absolute;right:0;bottom:calc(100% + var(--sp-2));width:max-content;max-width:min(280px,calc(100vw - 2 * var(--gutter)));padding:var(--sp-2) var(--sp-3);border-radius:var(--r-2);background:var(--ink);color:var(--surface);font-size:var(--fs-12);font-weight:500;line-height:var(--lh-snug);white-space:normal;text-align:left;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity var(--dur-2) var(--ease-std),transform var(--dur-2) var(--ease-out)}.ask-fab[data-tip]:hover:after,.ask-fab[data-tip]:focus-visible:after{opacity:1;transform:translateY(0)}@keyframes ask-fab-in{0%{opacity:0;transform:translateY(12px) scale(.96)}}@media(prefers-reduced-motion:no-preference){.ask-fab{animation:ask-fab-in var(--dur-3) var(--ease-out) backwards}}@media(prefers-reduced-motion:reduce){.ask-fab,.ask-fab[data-tip]:after{transition:none}}@media(max-width:639px){.ask-fab{right:var(--sp-4);bottom:calc(var(--sp-4) + env(safe-area-inset-bottom,0px))}.ask-fab[data-away=true]:not(:focus-visible){transform:translateY(calc(80px + env(safe-area-inset-bottom,0px)))}}.course-space.with-ask{padding-bottom:calc(96px - var(--sp-7))}@media(max-width:639px){.course-space.with-ask{padding-bottom:max(0px,calc(80px + env(safe-area-inset-bottom,0px) - var(--sp-7)))}}.drawer.ask-drawer>.drawer-head{flex:none;box-sizing:border-box;height:56px;min-height:56px;padding:0 var(--sp-4) 0 var(--sp-5);border-bottom:1px solid var(--line)}.drawer.ask-drawer>.drawer-head:after{display:none}.drawer.ask-drawer>.drawer-head h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer.ask-drawer>.modal-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding:0}.ask-drawer .qa-panel.compact{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:0}.ask-drawer .qa-panel.compact>.qa-composer{position:static;flex:none;margin:0;border-top:1px solid var(--line);padding:var(--sp-4) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px))}.ask-drawer .qa-panel.compact .qa-column>.qa-turns{margin-top:0}.drawer.ask-drawer.has-aside{width:calc(520px + var(--qa-src-w, 400px));display:grid;grid-template-columns:var(--qa-src-w, 400px) 520px;grid-template-rows:auto minmax(0,1fr)}.drawer.ask-drawer.has-aside>.drawer-head{grid-column:2;grid-row:1}.drawer.ask-drawer.has-aside>.modal-body{grid-column:2;grid-row:2}.drawer-edge{position:fixed;z-index:31;pointer-events:none;box-shadow:var(--shadow-3)}@media(max-width:767px){.drawer.ask-drawer{height:90dvh;max-height:90dvh}.drawer.ask-drawer>.drawer-head{height:56px;padding-top:0}}.qa-side-layer{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0}:where(.qa-side-head){flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);height:56px;min-width:0}:where(.qa-side-body){position:relative;flex:1 1 auto;min-height:0;overflow:hidden auto;overscroll-behavior:contain;scroll-padding-block:24px;scrollbar-width:none}:where(.qa-side-body)::-webkit-scrollbar{display:none}:where(.qa-side-body):focus-visible{outline-offset:-2px}:where(.qa-side-body.more-above){-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24px);mask-image:linear-gradient(to bottom,transparent 0,#000 24px)}:where(.qa-side-body.more-below){-webkit-mask-image:linear-gradient(to top,transparent 0,#000 24px);mask-image:linear-gradient(to top,transparent 0,#000 24px)}:where(.qa-side-body.more-above.more-below){-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}.qa-source.qa-side{display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr)}.qa-side>.qa-side-layer{grid-area:1 / 1}.qa-side>.qa-side-covered{visibility:hidden;opacity:0}.qa-side-settled,.qa-side-settled *{animation:none!important}@media(prefers-reduced-motion:no-preference){.qa-side>.qa-side-layer{transition:opacity var(--dur-1) var(--ease-std),visibility 0s}.qa-side>.qa-side-covered{transition:opacity var(--dur-1) var(--ease-std),visibility 0s linear var(--dur-1)}.qa-side>.qa-side-covered~.qa-side-layer{animation:qa-side-in var(--dur-1) var(--ease-std) var(--dur-1) both}}@keyframes qa-side-in{0%{opacity:0}}.qa-source-head.qa-side-over{justify-content:flex-start}.qa-source-head.qa-side-over>.qa-source-title{flex:1 1 auto}.qa-source-head .btn.qa-side-back{flex:none;height:32px;margin-left:-10px;padding:0 6px 0 2px;gap:2px;font-size:var(--fs-13);color:var(--ink-muted)}.qa-side-back+.qa-source-title{padding-left:var(--sp-2);border-left:1px solid var(--line)}.qa-source-title>.qa-review-skel-row{width:40px;height:12px;margin:2px 0}.qa-source-title>.qa-review-skel-row+.qa-review-skel-row{width:min(60%,220px);height:14px;margin-top:6px}.qa-review-skeleton{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-1);padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.modal.qa-source-dialog .qa-review-skeleton{padding:0;border:0;background:transparent}.qa-review-skel-meta{width:55%;height:12px;margin:3px 0}.qa-review-skel-name{width:45%;height:20px;margin:2px 0 4px}.qa-review-skel-line{width:80%;height:12px;margin:4px 0}.qa-review-skel-button{width:140px;height:36px;margin-top:var(--sp-2)}@media(pointer:coarse){.qa-review-skel-button{height:44px}}.modal.qa-side-dialog .qa-side-covered{display:none}.modal.qa-side-dialog>.modal-head{gap:var(--sp-2)}.modal.qa-side-dialog>.modal-head>h2{flex:1 1 auto}.modal.qa-side-dialog>.modal-head>.btn.qa-side-back{flex:none;height:32px;margin-left:-8px;padding:0 6px 0 2px;gap:2px;font-size:var(--fs-13);color:var(--ink-muted)}.modal.qa-side-dialog>.modal-head>.btn.qa-side-done{flex:none;height:32px;margin-right:-8px;padding:0 var(--sp-2);gap:2px;font-size:var(--fs-13)}@media(max-width:767px){.modal-backdrop>.modal.qa-source-dialog.qa-side-dialog.qa-side-note{height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);border-radius:16px 16px 0 0}.modal.qa-side-dialog.qa-side-note>.grab{display:none}}:root{--qa-src-w: max(400px, (min(100vw, 1360px) - 2 * var(--gutter) - 400px) / 2)}@media(min-width:1200px){:root{--qa-src-w: max(400px, (min(100vw, 1360px) - 2 * var(--gutter) - 368px) / 2)}}.qa-source-dock,.qa-source-aside{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg);container-type:size;padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom,0px));--qa-sp-cap: calc(100cqh - 136px) }.qa-source-dock{border-left:1px solid var(--line);padding-left:var(--sp-5);padding-right:0}.qa-source-aside{grid-column:1;grid-row:1 / -1;border-right:1px solid var(--line);padding-inline:var(--sp-5)}.qa-source-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);height:56px;min-width:0}.qa-source-aside .qa-source-head{margin-inline:calc(-1 * var(--sp-5));padding-inline:var(--sp-5);border-bottom:1px solid var(--line)}.qa-source-title{display:flex;flex-direction:column;justify-content:center;min-width:0;margin:0;border-radius:var(--r-1)}.qa-source-label{display:flex;min-width:0;white-space:nowrap;font-size:var(--fs-13);font-weight:600;line-height:16px;color:var(--ink-muted)}.qa-source-label-sep{flex:none;white-space:pre}.qa-source-file{min-width:0;overflow:hidden;text-overflow:ellipsis}.qa-source-chapter{display:block;min-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--fs-14);font-weight:500;line-height:20px;color:var(--ink)}.qa-source-head .btn.qa-source-collapse{flex:none;height:32px;margin-right:-12px;padding:0 var(--sp-2);gap:2px;font-size:var(--fs-13);color:var(--ink-muted)}.qa-source-body{position:relative;flex:1 1 auto;min-height:0;margin:0 -4px 0 -16px;padding:0 4px 0 16px;overflow:hidden auto;overscroll-behavior:contain;scroll-padding-block:24px;scrollbar-width:none}.qa-source-body::-webkit-scrollbar{display:none}.qa-source-body:focus-visible{outline-offset:-2px}.qa-source-body.more-above{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24px);mask-image:linear-gradient(to bottom,transparent 0,#000 24px)}.qa-source-body.more-below{-webkit-mask-image:linear-gradient(to top,transparent 0,#000 24px);mask-image:linear-gradient(to top,transparent 0,#000 24px)}.qa-source-body.more-above.more-below{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}.qa-source-content{padding:var(--sp-4) 0}.qa-source-claim,.qa-source-quote,.qa-source-slot,.qa-source-failed{min-width:0}.qa-source-claim+.qa-source-quote{margin-top:var(--sp-3)}.qa-source-content>.qa-sp-head,.qa-source-content>.qa-source-skel-head,.qa-source-content>.qa-source-failed,.modal.qa-source-dialog>.modal-body>.qa-sp-head,.modal.qa-source-dialog>.modal-body>.qa-source-skel-head,.modal.qa-source-dialog>.modal-body>.qa-source-failed{margin-top:var(--sp-5)}.qa-source-content>:first-child,.modal.qa-source-dialog>.modal-body>:first-child{margin-top:0}.qa-source-claim{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--sp-3);row-gap:var(--sp-1)}.qa-source-claim>*{flex:1 1 100%}.qa-source-claim>.qa-source-claim-label{flex:0 1 auto}.qa-source-claim>.qa-source-sentence{order:2}.qa-source-claim>.btn.qa-source-more{order:3;flex:none}.qa-source-claim>.btn.qa-source-back{order:1;flex:none;margin:-8px 0 -8px auto;gap:4px}.qa-source-claim-label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:var(--fs-12);font-weight:600;line-height:16px}.qa-source-claim-name.ai{color:var(--c-ai)}.qa-source-claim-name.material{color:var(--c-material)}.qa-source-claim-label .tag-ai{margin-right:0}.qa-source-sep{color:var(--ink-muted);font-weight:400}.qa-source-partial{display:inline-flex;align-items:center;gap:var(--sp-1);padding:0 6px;border-radius:var(--r-1);background:var(--grid);color:var(--ink-muted);font-weight:500}.qa-source-partial:before{content:"";width:6px;height:6px;border-radius:50%;flex:none;background:var(--warn)}.qa-source-sentence{position:relative;margin:0;font-size:var(--fs-14);line-height:22px;overflow-wrap:anywhere}.qa-source-sentence-text,.qa-source-quote-body{display:block;--qa-src-clamp: 3}.qa-source-sentence-text.clamped,.qa-source-quote-body.clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--qa-src-clamp);line-clamp:var(--qa-src-clamp);overflow:hidden}.qa-source-sentence-text.qa-source-code{font-family:var(--mono);font-size:var(--fs-13);line-height:20px;white-space:pre-wrap;overflow-wrap:anywhere}.qa-source-claim>.btn.link,.qa-source-quote>.btn.link{min-height:32px;font-size:var(--fs-13)}.qa-source-arrow{display:inline-block;width:1em;text-align:center}.qa-source-quote-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:16px;margin:0 0 var(--sp-1)}.qa-source-quote-label{font-size:var(--fs-12);font-weight:600;line-height:16px;color:var(--c-material)}.qa-source-badge{display:inline-flex;flex:none;align-items:center;font-size:var(--fs-12);line-height:16px;color:var(--c-ai);white-space:nowrap}.qa-source-badge .tag-ai{margin-right:4px}.qa-source-quote-text{margin:0;padding:10px 12px 10px 14px;border-radius:0 var(--r-2) var(--r-2) 0;background:var(--bg-material-soft);box-shadow:inset 3px 0 0 var(--c-material);color:var(--ink);font-size:var(--fs-15);line-height:24px;white-space:pre-line;overflow-wrap:anywhere}.qa-source-ext{display:block;margin-top:var(--sp-1);color:var(--ink-muted);font-size:var(--fs-14);line-height:22px}.qa-source-rest{color:var(--ink-muted);font-size:var(--fs-14);line-height:22px}.qa-source-lead{color:var(--ink-muted)}.qa-source-quote>.btn.link.qa-source-more[aria-disabled=true]{opacity:.5;cursor:default;text-decoration:none}.qa-source-stale{margin:var(--sp-1) 0 0;font-size:var(--fs-12);line-height:16px;color:var(--ink-muted)}.qa-source-slot{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--sp-3);align-items:center;justify-items:start;min-height:32px;margin-top:var(--sp-3)}.qa-source-slot>*{grid-area:1 / 1}.qa-source-slot[data-kind=none]>:not(.qa-source-zoom){visibility:hidden}.qa-source-slot>.btn.link{min-height:32px;gap:4px;font-size:var(--fs-13)}.qa-source-slot>.btn.link.qa-source-locate[aria-disabled=true]{opacity:.5;cursor:default;text-decoration:none}.qa-source-slot>.qa-source-slot-ghost{pointer-events:none}.qa-source-slot>.btn.link.qa-source-zoom{grid-area:1 / 2;justify-self:end;gap:4px}.qa-source-slot>.btn.link.qa-source-zoom[data-off]{visibility:hidden}.qa-source-zoom-icon{display:inline-flex}@media(prefers-reduced-motion:reduce){.qa-source .qa-src-glow,.qa-source .pv-chunk.cited.qa-src-glow:focus{outline:2px solid var(--c-material);outline-offset:2px}}.qa-source .qa-source-open{display:inline-flex;align-items:center;gap:4px;min-height:32px;font-size:var(--fs-13);white-space:nowrap}.qa-source-arrow-right{transform:scaleX(-1)}.qa-sp-open:has(>.qa-source-blocked){display:contents}.qa-sp-head:has(.qa-source-blocked){flex-wrap:wrap}.qa-source-blocked{flex:1 0 100%;order:1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);font-size:var(--fs-13);line-height:20px;color:var(--ink-muted)}.qa-source-steps{flex:none;display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:center;column-gap:var(--sp-2);height:48px;padding:var(--sp-2) 0;border-top:1px solid var(--line);white-space:nowrap}.qa-source-steps .btn.qa-source-step{height:32px;padding:0 10px;gap:2px;font-size:var(--fs-13)}.qa-source-steps .btn.qa-source-step:first-child{justify-self:start;margin-left:-14px}.qa-source-steps .btn.qa-source-step:last-child{justify-self:end;margin-right:-14px}.qa-source-steps .btn.qa-source-step[aria-disabled=true]{color:var(--ink-muted);background:transparent;opacity:.45;cursor:default}.qa-source-steps.qa-source-steps-pending{min-height:32px}.qa-source-pos{justify-self:center;font-size:var(--fs-12);color:var(--ink-muted);font-variant-numeric:tabular-nums}.qa-source-here-short{display:none}.qa-source .btn[aria-disabled=true]:active{transform:none}:is(.qa-source-dock,.qa-source-aside) .btn.ghost:active:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--ink) 10%,var(--bg))}@media(hover:hover){:is(.qa-source-dock,.qa-source-aside) .btn.ghost:hover:not(:disabled):not(:active):not([aria-disabled=true]){background:var(--grid)}.qa-source-head .btn.qa-source-collapse:hover{color:var(--ink)}.qa-source-steps .btn.qa-source-step[aria-disabled=true]:hover{background:transparent}}@media(hover:none){.qa-source .btn.ghost:hover:not(:active){background:transparent}}.qa-source-skel-head{display:flex;align-items:center;height:32px;margin-bottom:var(--sp-2)}.qa-source-skel-head>.skeleton{width:128px;height:20px}.qa-source-skel-paper{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);box-shadow:var(--shadow-1)}.qa-source-skel-image{width:100%;max-width:calc(var(--qa-sp-cap, 100000px) * .8);aspect-ratio:4 / 5;margin:0 auto;border-radius:0}.qa-source-skel-lines{display:flex;flex-direction:column;gap:10px;padding:var(--sp-4)}.qa-source-skel-lines>.skeleton{height:12px}.qa-source-skel-lines>.skeleton:last-child{width:62%}.qa-source-failed{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);box-shadow:var(--shadow-1)}.qa-source-state{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:var(--sp-2);align-items:start;padding:var(--sp-4) 20px;text-align:left}.qa-source-state-icon{margin-top:3px}.qa-source-state.failure>.qa-source-state-icon{color:var(--danger)}.qa-source-state.info>.qa-source-state-icon{color:var(--ink-muted)}.qa-source-state-main{min-width:0}.qa-source-state-title{margin:0;font-size:var(--fs-14);line-height:22px;color:var(--ink);overflow-wrap:anywhere}.qa-source-state-note{margin-top:var(--sp-1);font-size:var(--fs-13);line-height:20px;color:var(--ink-muted)}.qa-source-state-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-3)}.modal-backdrop>.modal.qa-source-dialog{width:min(720px,100vw - 48px);height:calc(100dvh - 48px);max-height:none;scroll-padding-block:56px;scrollbar-width:none}.modal-backdrop>.modal.qa-source-dialog::-webkit-scrollbar{display:none}.modal.qa-source-dialog.more-above>.modal-head:after,.modal.qa-source-dialog.more-below>.modal-foot:before{display:block}.modal.qa-source-dialog>.modal-head{height:56px;padding-block:0}.modal.qa-source-dialog>.modal-head h2{display:flex;flex-direction:column;min-width:0}.modal.qa-source-dialog>.modal-head>.btn.ghost.mid{margin-right:-11px}.modal.qa-source-dialog>.modal-body{container-type:inline-size}.modal.qa-source-dialog>.modal-foot{justify-content:center;padding:var(--sp-3) var(--sp-5)}.modal.qa-source-dialog>.modal-foot>.qa-source-steps{width:100%;height:auto;padding:0;border-top:0}.modal-backdrop>.modal.qa-source-dialog>.modal-body{flex:1 0 auto}.modal-backdrop>.modal.qa-source-dialog>.modal-foot:empty{min-height:0;padding:0;border-top:0}.qa-source-live{display:contents}.modal-backdrop>.modal.qa-source-dialog.two-col{width:min(1120px,100vw - 48px);height:min(880px,100dvh - 48px);container-type:size;--qa-sp-cap: calc(100cqh - 192px) }.modal.qa-source-dialog.two-col>.modal-body{display:grid;grid-template-columns:minmax(0,5fr) minmax(360px,6fr);column-gap:var(--sp-6);row-gap:0;align-content:start;padding:20px var(--sp-5)}.modal.qa-source-dialog.two-col>.modal-body>*{grid-column:2}.modal.qa-source-dialog.two-col>.modal-body>.qa-sp-side{grid-column:1}.modal.qa-source-dialog.two-col>.modal-body>.qa-sp-textcard,.modal.qa-source-dialog.two-col>.modal-body>.qa-source-skel-head{margin-top:var(--sp-5)}.modal.qa-source-dialog.two-col>.modal-body:not(:has(>.qa-sp-side)){grid-template-columns:minmax(0,680px);justify-content:center}.modal.qa-source-dialog.two-col>.modal-body:not(:has(>.qa-sp-side))>*{grid-column:1}@media(max-height:820px){.qa-source-content>.qa-sp-head,.qa-source-content>.qa-source-skel-head,.qa-source-content>.qa-source-failed,.modal.qa-source-dialog>.modal-body>.qa-sp-head,.modal.qa-source-dialog>.modal-body>.qa-source-skel-head,.modal.qa-source-dialog>.modal-body>.qa-source-failed,.modal.qa-source-dialog.two-col>.modal-body>.qa-sp-textcard,.modal.qa-source-dialog.two-col>.modal-body>.qa-source-skel-head{margin-top:var(--sp-4)}:is(.qa-source-dock,.qa-source-aside) .qa-source-sentence-text{--qa-src-clamp: 2}}@media(max-width:767px){.modal-backdrop>.modal.qa-source-dialog{width:100%;height:85dvh;max-height:85dvh;scroll-padding-block:56px 90px}.modal-backdrop>.modal.qa-source-dialog.over-ask{height:calc(90dvh - 68px);max-height:calc(90dvh - 68px)}.modal-backdrop>.modal.qa-source-dialog>.modal-body:has(+.modal-foot:empty){padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom,0px))}.modal-backdrop>.modal.qa-source-dialog>.modal-body{padding-inline:var(--sp-4)}.modal.qa-source-dialog>.modal-head,.modal.qa-source-dialog>.modal-foot{padding-inline:var(--sp-4)}.modal.qa-source-dialog>.modal-head .qa-source-chapter{font-size:var(--fs-13)}.modal.qa-source-dialog :is(.qa-sp-paper,.qa-source-skel-paper){margin-inline:calc(-1 * var(--sp-4));border:0;border-radius:0;box-shadow:none}.modal.qa-source-dialog .qa-sp-paper>:is(.qa-source-image,.qa-sp-skeleton),.modal.qa-source-dialog .qa-source-skel-paper>.qa-source-skel-image{max-width:none;border-radius:0}.modal.qa-source-dialog .qa-sp-paper .pv-text{padding-inline:var(--sp-4)}.modal.qa-source-dialog .qa-source-failed{margin-inline:calc(-1 * var(--sp-4));border:0;border-radius:0;box-shadow:none}.modal.qa-source-dialog :is(.qa-sp-paper,.qa-source-failed) .qa-source-state{padding-inline:var(--sp-4)}.qa-source-here-long{display:none}.qa-source-here-short{display:inline}}@media(pointer:coarse){.qa-source-dock,.qa-source-aside{--qa-sp-cap: calc(100cqh - 144px) }.qa-source-head .btn.qa-source-collapse,.qa-source-claim>.btn,.qa-source-quote>.btn.link,.qa-source .qa-source-open,.qa-source-steps .btn.qa-source-step{min-height:44px;height:auto}.qa-source-slot>.btn.link{min-height:44px;margin-block:-6px}.qa-source-claim>.btn.qa-source-back{margin-block:-14px}.qa-source-steps{height:56px;padding:6px 0}.qa-source-steps.qa-source-steps-pending{min-height:44px}.modal.qa-source-dialog>.modal-foot{padding-block:6px}.modal.qa-source-dialog>.modal-head>.btn.ghost.mid{margin-right:-16px}}@media(prefers-reduced-motion:no-preference){.qa-source-dock{animation:qa-src-dock-in var(--dur-3) var(--ease-out) both}.qa-source-aside>*{animation:qa-src-fade-in .22s var(--ease-out) both}.qa-source-badge{animation:qa-src-fade-in var(--dur-1) var(--ease-std) both}.qa-source .qa-src-glow{animation:qa-src-glow .9s var(--ease-out)}.qa-source-slot[data-swap]>.btn:not(.qa-source-slot-ghost):not(.qa-source-zoom){animation:qa-src-fade-in var(--dur-1) var(--ease-std) both}.qa-source-slot>.qa-source-slot-ghost{animation:qa-src-fade-out var(--dur-1) var(--ease-std) both}}@keyframes qa-src-dock-in{0%{opacity:0;transform:translate(16px)}}@keyframes qa-src-fade-in{0%{opacity:0}}@keyframes qa-src-fade-out{to{opacity:0}}@keyframes qa-src-glow{0%,to{box-shadow:inset 3px 0 0 var(--c-material),0 0 0 0 transparent}30%{box-shadow:inset 3px 0 0 var(--c-material),0 0 0 4px color-mix(in srgb,var(--c-material) 40%,transparent)}}.qa-answer>.qa-view-seg{display:inline-flex;width:auto;align-self:flex-start}@media(max-width:639px){.qa-answer>.qa-view-seg{display:inline-flex;width:auto;align-self:flex-start}}@media(forced-colors:active){.qa-view-seg>[aria-pressed=true]{outline:1px solid Highlight}}.qa-note .qa-note-name{color:var(--c-student);font-weight:600}.qa-answer>:is(.qa-region,.qa-citations)+.qa-note,.qa-answer>.qa-note+.qa-note-refs{margin-top:var(--sp-4)}.qa-note-plain .qa-note-pre{white-space:pre-wrap;font-family:var(--mono-md);font-size:.875em}.qa-source-head .btn.qa-source-collapse.qa-note-done,.qa-source-head .btn.qa-source-collapse.qa-note-done:hover,.modal.qa-side-note>.modal-head>.btn.qa-side-done,.modal.qa-side-note>.modal-head>.btn.qa-side-done:hover{color:var(--accent);font-weight:600}.qa-source-title>.qa-note-skel-row{width:64px;height:12px;margin:2px 0}.qa-source-title>.qa-note-skel-row+.qa-note-skel-row{width:min(60%,220px);height:14px;margin-top:6px}.qa-note-skeleton{display:flex;flex-direction:column;gap:var(--sp-4);padding-top:var(--sp-2)}.qa-note-skel-field{display:flex;flex-direction:column;gap:var(--sp-1)}.qa-note-skel-label{width:56px;height:12px;margin:4px 0}.qa-note-skel-box{height:36px}.qa-note-skel-note .qa-note-skel-box{font-size:var(--fs-14);height:calc(5em * var(--lh-body) + 18px)}.qa-note-skel-body{gap:2px}.qa-note-skel-body .qa-note-skel-label{margin:8px 0}.qa-note-skel-body .qa-note-skel-box{height:12px;width:70%;margin:3px 0 3px 18px}@media(pointer:coarse){.qa-note-skel-box{height:44px}.qa-note-skel-note .qa-note-skel-box{font-size:16px}.qa-note-skel-body .qa-note-skel-label{margin:16px 0}}.qa-composer-bar .btn.icon.mid.qa-attach{position:relative;flex:none;width:32px;height:32px;min-height:32px;color:var(--ink-muted)}.qa-composer-bar .btn.icon.mid.qa-attach:hover:not(:disabled){color:var(--ink)}.qa-composer-bar .btn.icon.mid.qa-attach:disabled{background:var(--grid);color:var(--ink-muted)}@media(pointer:coarse),(max-width:767px){.qa-attach:after{content:"";position:absolute;inset:-7px -3px -7px -11px}}.qa-composer-box:focus{outline:none}.qa-attach-notice{display:flex;align-items:center;gap:var(--sp-1);min-width:0;padding:6px 4px 0 var(--sp-3);color:var(--danger);font-size:var(--fs-12);line-height:16px}.qa-attach-notice:empty{padding:0}.qa-attach-notice-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.qa-attach-notice .btn.icon.qa-attach-notice-close{position:relative;flex:none;width:24px;height:24px;min-height:0;padding:0;border-radius:50%;color:var(--ink-muted)}.qa-attach-notice .btn.icon.qa-attach-notice-close:hover:not(:disabled){color:var(--ink);background:var(--grid)}@media(pointer:coarse){.qa-attach-notice:not(:empty){min-height:44px;padding-top:0}.qa-attach-notice-close:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}}.qa-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);min-width:0;padding:var(--sp-2) var(--sp-3) 0}.qa-chip{position:relative;display:flex;align-items:center;gap:var(--sp-2);box-sizing:border-box;height:48px;max-width:288px;min-width:0;padding:3px 4px 3px 3px;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:border-color var(--dur-1) var(--ease-std)}.qa-chip:has(>.qa-chip-bar){overflow:hidden}.qa-chip-preview{position:relative;flex:none;display:block;width:40px;height:40px;overflow:hidden;border-radius:7px;background:var(--bg);box-shadow:inset 0 0 0 1px #1018280f}.qa-chip-preview>img{display:block;width:100%;height:100%;object-fit:cover}.qa-chip-preview>img.page{box-sizing:border-box;padding:3px 3px 11px;border-radius:inherit;object-fit:contain;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.qa-kind-label{position:absolute;left:0;right:0;bottom:2px;color:var(--ink-muted);font-size:9px;font-weight:700;letter-spacing:.06em;line-height:9px;text-align:center;pointer-events:none}.qa-chip-body{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.qa-chip-name{overflow:hidden;font-size:var(--fs-13);font-weight:500;line-height:18px;color:var(--ink);white-space:nowrap;text-overflow:ellipsis}.qa-chip-line{display:flex;align-items:baseline;gap:6px;min-width:0}.qa-chip-meta{min-width:0;overflow:hidden;font-size:var(--fs-12);line-height:16px;color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.qa-chip .btn.link.qa-chip-retry{flex:none;height:auto;min-height:0;font-size:var(--fs-12);font-weight:600;line-height:16px}@media(forced-colors:active){.qa-chip .btn.link.qa-chip-retry{color:LinkText;text-decoration:underline;text-underline-offset:2px}}.qa-chip .btn.icon.qa-chip-remove{flex:none;align-self:center;width:24px;height:24px;min-height:0;padding:0;border-radius:50%;color:var(--ink-muted)}.qa-chip .btn.icon.qa-chip-remove:hover:not(:disabled){color:var(--ink);background:var(--grid)}.qa-chip-remove{position:relative}@media(pointer:coarse){.qa-chip:not(.tile) .qa-chip-remove:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.qa-chip:not(.tile) .btn.link.qa-chip-retry{position:relative}.qa-chip:not(.tile) .qa-chip-retry:after{content:"";position:absolute;left:50%;top:50%;width:max(calc(100% + 16px),44px);height:44px;transform:translate(-50%,-50%)}.qa-chip:not(.tile):has(.qa-chip-retry) .qa-chip-remove{margin-inline-start:14px}.qa-chip-tip .qa-chip-retry{position:relative}.qa-chip-tip .qa-chip-retry:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}}.qa-chip-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--grid)}.qa-chip-bar>span{display:block;height:100%;background:var(--accent);transition:width var(--dur-2) linear}.qa-chip[data-state=preparing] .qa-chip-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);background-size:200% 100%;animation:shimmer 1.6s var(--ease-std) infinite}.qa-chip[data-state=failed]{border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.qa-chip[data-state=failed] .qa-chip-meta,.qa-chip[data-state=failed] .qa-kind{color:var(--danger)}@media(min-width:640px){.qa-chip[data-state=failed]{max-width:min(100%,544px)}}.qa-kind{position:relative;flex:none;display:flex;align-items:flex-end;justify-content:center;box-sizing:border-box;width:100%;height:100%;padding-bottom:6px;border-radius:inherit;background:var(--bg);color:var(--ink-muted);font-size:9px;font-weight:700;letter-spacing:.06em;line-height:1}.qa-kind:before{content:"";position:absolute;top:7px;left:50%;width:14px;height:17px;margin-left:-7px;border-radius:2px;background:var(--surface);box-shadow:inset 0 0 0 1.25px var(--line-control);clip-path:polygon(0 0,62% 0,100% 30%,100% 100%,0 100%)}.qa-kind:after{content:"";position:absolute;top:7px;left:50%;width:5.5px;height:5.5px;margin-left:1.5px;border-bottom-left-radius:1.5px;background:var(--line-control);clip-path:polygon(0 0,100% 100%,0 100%)}.qa-chip-preview>.qa-kind.qa-kind-media{align-items:center;padding:0}.qa-chip-preview>.qa-kind.qa-kind-media:before,.qa-chip-preview>.qa-kind.qa-kind-media:after{content:none}.qa-media-corner{position:absolute;left:3px;bottom:3px;display:grid;place-items:center;width:16px;height:16px;border-radius:4px;background:color-mix(in srgb,var(--ink) 62%,transparent);color:var(--surface);pointer-events:none}.qa-chips.tiles{flex-wrap:nowrap;gap:var(--sp-4);padding-top:10px}.qa-chips.tiles .qa-chip{width:56px;height:56px;max-width:none;flex:none;padding:0;overflow:visible;border:0;border-radius:12px;background:none}.qa-chip-face{position:relative;display:block;box-sizing:border-box;width:56px;height:56px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:inherit;font:inherit;cursor:pointer;transition:border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-1) var(--ease-std)}.qa-chip-face:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qa-chip-face[aria-expanded=true]{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.qa-chip-face>.qa-chip-preview{width:100%;height:100%;border-radius:11px;box-shadow:none}.qa-chips.tiles .qa-chip[data-state=failed] .qa-chip-face{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.qa-chip-ring{position:absolute;left:50%;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:color-mix(in srgb,var(--surface) 72%,transparent)}.qa-chip-ring>svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.qa-chip-ring circle{fill:none;stroke-width:3}.qa-chip-ring .track{stroke:var(--grid)}.qa-chip-ring .value{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray var(--dur-2) linear}.qa-chip-alert{position:absolute;left:4px;top:4px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--danger);color:var(--surface);font-size:11px;font-weight:700;line-height:1}.qa-chips.tiles .qa-chip .btn.icon.qa-chip-remove{position:absolute;top:-6px;right:-6px;z-index:1;width:20px;height:20px;min-height:0;padding:0;border-radius:50%;background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow-1)}.qa-chips.tiles .qa-chip-remove:after{content:"";position:absolute;right:-8px;bottom:-8px;width:36px;height:36px}.qa-chip-tip{position:absolute;left:0;bottom:calc(100% + 16px);z-index:6;display:flex;flex-direction:column;gap:2px;box-sizing:border-box;width:max-content;min-width:120px;max-width:min(260px,calc(100vw - 16px));padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);box-shadow:var(--shadow-2);text-align:left;animation:fade var(--dur-1) var(--ease-out) both}.qa-chip-tip .qa-chip-name,.qa-chip-tip .qa-chip-meta{white-space:normal;overflow-wrap:anywhere}.qa-chip-tip .qa-chip-meta{text-wrap-style:pretty}.qa-chip-tip .qa-chip-name{text-wrap-style:pretty;word-break:keep-all;text-spacing-trim:trim-start}.qa-chip-tip .qa-chip-meta:lang(zh){word-break:keep-all;text-wrap-style:balance}.qa-drop{position:absolute;inset:0;z-index:25;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-5);border:2px dashed var(--accent);border-radius:var(--r-3);background:color-mix(in srgb,var(--accent-bg) 88%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;pointer-events:none;animation:fade var(--dur-1) var(--ease-out) both}.qa-drop-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-2);color:var(--accent)}.qa-drop-title{font-size:var(--fs-16);font-weight:600;line-height:var(--lh-snug);color:var(--accent-strong)}.qa-drop-hint{max-width:360px;text-wrap:balance;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink-muted)}.qa-attachments{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--sp-2);margin:var(--sp-2) 0 0;padding:0;list-style:none;white-space:normal;font-size:var(--fs-13);line-height:var(--lh-snug)}.qa-att-item{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0;max-width:100%}.qa-att-thumb{position:relative;flex:none;display:block;width:88px;height:88px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:zoom-in;transition:box-shadow var(--dur-1) var(--ease-std),transform var(--dur-1) var(--ease-std)}.qa-att-thumb>img{display:block;width:100%;height:100%;object-fit:cover}.qa-att-thumb:hover{box-shadow:var(--shadow-2)}.qa-att-thumb:active{transform:scale(.98)}.qa-att-thumb>.qa-kind{padding-bottom:16px;border-radius:7px;font-size:11px}.qa-att-thumb>.qa-kind:before{top:18px;width:24px;height:30px;margin-left:-12px}.qa-att-thumb>.qa-kind:after{top:18px;width:9px;height:9px;margin-left:3px}.qa-chip-face .qa-kind{padding-bottom:9px;font-size:10px}.qa-chip-face .qa-kind:before{top:10px;width:18px;height:22px;margin-left:-9px}.qa-chip-face .qa-kind:after{top:10px;width:7px;height:7px;margin-left:2px}.qa-att-wait{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--grid) 25%,var(--surface) 50%,var(--grid) 75%);background-size:200% 100%;animation:shimmer 1.6s var(--ease-std) infinite}.qa-att-doc{display:inline-flex;align-items:center;gap:var(--sp-2);box-sizing:border-box;height:48px;max-width:288px;min-width:0;padding:3px 12px 3px 3px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-1) var(--ease-std)}.qa-att-doc:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.qa-att-doc:active{transform:translateY(1px)}.qa-att-doc[aria-busy=true]{cursor:progress}.qa-att-thumb:focus-visible,.qa-att-doc:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qa-att-blocked{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--sp-2);max-width:288px;font-size:var(--fs-12);line-height:16px;color:var(--danger)}.qa-att-blocked .btn.link{height:auto;min-height:0;font-size:var(--fs-12);font-weight:600;line-height:16px}.modal.qa-viewer{width:min(1248px,94vw);max-width:none;height:calc(100vh - 48px);height:calc(100dvh - 48px)}.modal.qa-viewer>.modal-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:var(--sp-4) var(--sp-5) var(--sp-3)}.modal.qa-viewer .modal-head>h2{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0}.qa-viewer-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.qa-viewer-count{flex:none;color:var(--ink-muted);font-size:var(--fs-13);font-weight:400;font-variant-numeric:tabular-nums}.qa-viewer-figure{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;margin:0}.qa-viewer-stage{position:relative;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;flex:1 1 auto;width:100%;min-height:0;overflow:hidden;border-radius:var(--r-2);background:var(--bg)}.qa-viewer-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.qa-viewer-stage .btn.icon.qa-viewer-nav{position:absolute;top:50%;width:40px;height:40px;min-height:0;margin-top:-20px;border-radius:50%;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-2);color:var(--ink)}.qa-viewer-stage .btn.icon.qa-viewer-nav:hover:not(:disabled){background:var(--surface)}.qa-viewer-nav.prev{left:var(--sp-3)}.qa-viewer-nav.next{right:var(--sp-3)}@media(pointer:coarse),(max-width:639px){.qa-viewer-stage .btn.icon.qa-viewer-nav{width:44px;height:44px;margin-top:-22px}}@media(max-width:767px){.modal.qa-viewer{width:100%;height:92dvh}}@media(prefers-reduced-motion:reduce){.qa-chip[data-state=preparing] .qa-chip-preview:after,.qa-drop,.qa-chip-tip,.qa-att-wait{animation:none}.qa-chip-bar>span,.qa-chip-ring .value,.qa-att-thumb,.qa-att-doc{transition:none}.qa-chip[data-state=preparing] .qa-chip-preview:after{background:none;border-radius:inherit;box-shadow:inset 0 0 0 2px var(--accent-ring)}.qa-att-wait{background:var(--grid)}}:where(.qa-md) :where(p,ul,ol,li,blockquote,figure,table,h3,h4,h5){margin:0}.qa-md{--md-body: var(--md-fs);container:qa-md / inline-size;font-size:var(--md-body);line-height:var(--md-lh-zh);color:var(--ink);text-wrap:pretty;overflow-wrap:break-word;text-autospace:normal;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Microsoft YaHei,"Noto Sans Math","STIX Two Math","Cambria Math",sans-serif}.qa-panel.compact .qa-md{--md-body: var(--md-fs-compact)}.qa-md:lang(en){line-height:var(--md-lh-en)}.qa-md:lang(zh){font-family:Inter Latin,system-ui,-apple-system,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Microsoft YaHei,"Noto Sans Math","STIX Two Math","Cambria Math",sans-serif}.qa-md:lang(en)>:is(p,ul,ol,blockquote,h3,h4,h5){max-width:var(--md-measure-en)}:is(.qa-md,.qa-inline-md){text-spacing-trim:trim-start}:is(.qa-md,.qa-inline-md) :is(code,kbd,pre,.katex){text-autospace:no-autospace;text-spacing-trim:space-all}.qa-md>*+*{margin-top:var(--md-gap)}.qa-md li>:is(ul,ol){margin-top:var(--md-item-gap)}.qa-md .qa-md-h{color:var(--ink);font-weight:600;text-wrap:balance}.qa-md h3.qa-md-h{font-size:var(--md-h1);line-height:1.45}.qa-md :is(h4,h5).qa-md-h{font-size:var(--md-body);line-height:1.5}.qa-panel.compact .qa-md h3.qa-md-h{font-size:var(--md-h1-compact)}.qa-md>*+.qa-md-h{margin-top:calc(1.5 * var(--md-body))}.qa-md>.qa-md-h+*{margin-top:.375em}.qa-md>.qa-md-lead+:is(ul,ol,.qa-md-block[data-kind=code],.qa-md-block[data-kind=table]){margin-top:.375em}.qa-md .qa-md-list{padding-inline-start:var(--md-indent)}.qa-md .qa-md-list>li+li{margin-top:var(--md-item-gap)}.qa-md .qa-md-list>li::marker{color:var(--ink-muted)}.qa-md ol.qa-md-list>li::marker{font-weight:500;font-variant-numeric:tabular-nums}.qa-md ul.qa-md-list{list-style-type:disc}.qa-md ul ul.qa-md-list{list-style-type:circle}.qa-md ul ul ul.qa-md-list{list-style-type:square}.qa-md .qa-md-inlist{margin-inline-start:var(--md-indent)}.qa-md .qa-md-quote{padding-inline-start:12px;border-left:2px solid var(--md-quote-rail)}:is(.qa-md,.qa-check-question) .qa-glue{white-space:nowrap}:is(.qa-md,.qa-check-question) .qa-glue .qa-evidence{white-space:normal}:is(.qa-md,.qa-check-question) .qa-glue>.qa-anchor:last-child{margin-inline-end:.25em}:is(.qa-md,.qa-check-question):lang(zh) .qa-glue>.qa-anchor:last-child{margin-inline-end:.5em}:is(.qa-md,.qa-check-question) .qa-glue>.qa-anchor>.pill.page{margin-inline-start:0}:is(.qa-md,.qa-check-question) .qa-fwp,:is(.qa-md,.qa-check-question) .qa-glue .katex .md-tex-punct:last-child{font-feature-settings:"halt" 1}.qa-verify-note{margin-inline:.25em .5em;font-size:var(--fs-12);line-height:16px;color:var(--ink-muted);white-space:nowrap}.qa-verify-note:before{content:"· "}.qa-md .qa-block-cite{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;margin-top:6px;font-size:var(--fs-12);line-height:16px;color:var(--ink-muted)}.qa-md :is(.qa-md-legacy,.qa-md-gated){overflow-wrap:anywhere}.qa-md-notice{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;margin:8px 0 0;font-size:var(--fs-13);line-height:20px;color:var(--ink-muted)}.qa-md span.qa-sentence[data-src-current]{background-color:var(--qa-sel);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;box-shadow:0 0 0 2px var(--qa-sel)}.qa-md div.qa-sentence[data-src-current]{background-color:var(--qa-sel);border-radius:var(--r-2);box-shadow:0 0 0 4px var(--qa-sel)}@media(prefers-reduced-motion:no-preference){.qa-md .qa-sentence{transition:background-color var(--dur-1) var(--ease-std),box-shadow var(--dur-1) var(--ease-std)}.qa-md span.qa-sentence.qa-src-flash{-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:qa-src-flash-inline .7s var(--ease-out)}.qa-md div.qa-sentence.qa-src-flash{animation:qa-src-flash-block .7s var(--ease-out)}}@keyframes qa-src-flash-inline{0%{background-color:color-mix(in srgb,var(--c-ai) 22%,var(--bg-ai-soft));box-shadow:0 0 0 2px color-mix(in srgb,var(--c-ai) 22%,var(--bg-ai-soft))}}@keyframes qa-src-flash-block{0%{background-color:color-mix(in srgb,var(--c-ai) 22%,var(--bg-ai-soft));box-shadow:0 0 0 4px color-mix(in srgb,var(--c-ai) 22%,var(--bg-ai-soft))}}:is(.qa-md,.qa-inline-md) strong{font-weight:600}:is(.qa-md,.qa-inline-md) em{font-style:italic}:is(.qa-md,.qa-inline-md) em:lang(zh){font-style:normal;-webkit-text-emphasis:filled dot;text-emphasis:filled dot;-webkit-text-emphasis-position:under right;text-emphasis-position:under right}:is(.qa-md,.qa-inline-md) code.qa-md-code{padding:.1em .35em;border-radius:4px;background:var(--md-code-bg);font-family:var(--mono-md);font-size:var(--md-code-fs);font-variant-ligatures:none;overflow-wrap:anywhere}:is(.qa-md,.qa-inline-md) code.qa-md-code-short{white-space:nowrap}:is(.qa-md,.qa-inline-md) .qa-md-host{color:var(--ink-muted);overflow-wrap:anywhere}:is(.qa-md,.qa-inline-md) .qa-nobr{white-space:nowrap}:is(.qa-md,.qa-inline-md) .katex{font-size:var(--math-inline);color:currentColor;text-indent:0}.qa-math-inline.qa-math-short{white-space:nowrap}.qa-math-inline.qa-math-box{display:inline-block;max-width:100%;overflow:clip;overflow-clip-margin:.25em}.qa-math-inline.qa-math-cjk-before{margin-inline-start:.125em}.qa-math-inline.qa-math-cjk-after{margin-inline-end:.125em}.qa-math-inline:is([data-fit=shrunk],[data-fit=clipped],[data-fit=unclip]){display:inline-block;max-width:100%}.qa-math-inline[data-fit=clipped]{overflow:clip;-webkit-mask-image:linear-gradient(to left,transparent,#000 24px);mask-image:linear-gradient(to left,transparent,#000 24px)}.qa-math-inline[data-fit=unclip]{overflow:clip}.katex .md-tex-punct{font-family:var(--font);font-size:calc(1em / 1.15);font-style:normal;font-weight:400;-webkit-user-select:none;user-select:none}.qa-md:lang(zh) .katex .md-tex-punct,.qa-inline-md:lang(zh) .katex .md-tex-punct{font-family:var(--font-zh)}:is(.qa-math-inline,.qa-math,.qa-math-zoom).qa-math-error{font-style:normal}.qa-md .qa-math{padding-block:2px;text-align:center;line-height:1.2;overflow:clip;overflow-clip-margin:2px}.qa-md .qa-math .katex{font-size:var(--math-display)}.qa-md>.qa-md-block[data-kind=math],.qa-md>.qa-md-block[data-kind=math]+:not(.qa-md-h){margin-top:1em}:is(.qa-math,.qa-math-zoom) .katex-display{margin:0}.qa-math[data-layout=natural]>.qa-math-body{display:inline-block;max-width:100%;vertical-align:top}.qa-md .qa-math[data-measure=en]{max-width:var(--md-measure-en)}.qa-md .qa-math:is([data-layout=broken],[data-layout=rows]){text-align:start}.qa-math:is([data-layout=broken],[data-layout=rows]) .katex{white-space:normal}.qa-math[data-layout=broken]>.qa-math-body{display:block;padding-inline-start:2em;text-indent:-2em;line-height:1.9}.qa-math>.qa-math-row{display:block;padding-inline-start:4em;text-indent:-4em;line-height:1.9}.qa-math>.qa-math-row.qa-math-row-rel{text-indent:-2em}.qa-math:is([data-layout=broken],[data-layout=rows]) .katex-html>.katex-base{margin-block:.15em}.qa-md .qa-math[data-fit=clipped]{-webkit-mask-image:linear-gradient(to left,transparent,#000 24px);mask-image:linear-gradient(to left,transparent,#000 24px)}.qa-md .qa-math .qa-math-pending{display:block;min-height:calc(var(--rows, 1) * 1.2 * var(--math-display) + 4px)}.qa-md .qa-math-zoom-link{display:block;margin:4px auto 0;padding:2px 4px;border:0;border-radius:var(--r-1);background:none;font:500 var(--fs-13)/20px var(--font);color:var(--accent);cursor:zoom-in}.qa-md .qa-math-zoom-icon{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:24px;height:24px;margin-inline-start:2px;padding:0;border:0;border-radius:var(--r-1);background:none;color:var(--accent);cursor:zoom-in}.qa-md :is(.qa-math-zoom-link,.qa-math-zoom-icon):focus-visible{outline:2px solid var(--accent);outline-offset:1px}.qa-math-zoom{text-align:center}.qa-md .qa-code{position:relative;margin:0;border:1px solid var(--md-pre-line);border-radius:8px;background:var(--md-pre-bg);break-inside:avoid}.qa-code-head{display:flex;align-items:center;justify-content:space-between;gap:8px;height:30px;padding:0 8px 0 12px;border-bottom:1px solid var(--md-pre-line)}.qa-code-lang{overflow:hidden;font:500 var(--fs-12)/16px var(--font);color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap}.qa-code-copy{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--r-1);background:none;color:var(--ink-muted);cursor:pointer}.qa-code-copy:hover{background:var(--md-code-bg);color:var(--ink)}.qa-code-copy:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media(pointer:coarse){.qa-code-copy:after{content:"";position:absolute;inset:-8px}}.qa-code-bare>.qa-code-copy{position:absolute;top:4px;inset-inline-end:4px;z-index:1}.qa-code-bare>:is(.qa-code-note,.qa-code-body){padding-inline-end:40px}.qa-md-static .qa-code-bare>:is(.qa-code-note,.qa-code-body){padding-inline-end:12px}.qa-code-note{margin:0;padding:6px 12px 0;font-size:var(--fs-12);line-height:16px;color:var(--ink-muted)}.qa-code-body{margin:0;padding:10px 12px 12px;font:400 var(--md-pre-fs)/var(--md-pre-lh) var(--mono-md);color:var(--ink);white-space:pre-wrap;text-wrap:wrap;word-break:keep-all;overflow-wrap:anywhere;tab-size:4;font-variant-ligatures:none}@container qa-md (max-width: 559px){.qa-code-body{font-size:var(--md-pre-fs-sm)}}.qa-code-body>code{padding:0;border-radius:0;background:none;font:inherit}.qa-code .ln{display:block;padding-inline-start:min(calc((var(--i) + 2) * 1ch),50%);text-indent:max(calc((var(--i) + 2) * -1ch),-50%)}.qa-code .ln:empty:before{content:"​"}.qa-code .ln-cmt{display:inline-block;max-width:100%;text-indent:0}@supports (height: 1lh){.qa-code .ln{background-image:linear-gradient(var(--line-strong),var(--line-strong));background-repeat:no-repeat;background-position:min(calc((var(--i) + .6) * 1ch),calc(50% - 1.4ch)) calc(100% - 2px);background-size:2px calc(100% - 1lh - 4px)}}.qa-code .hl-k{font-weight:600;color:var(--ink)}.qa-code .hl-s{color:var(--hl-string)}.qa-code .hl-n{color:var(--hl-number)}.qa-code .hl-c{color:var(--hl-comment)}.qa-code-ctl{display:inline-block;padding:0 2px;border:1px solid var(--line);border-radius:3px;font-size:.75em;line-height:1.25;color:var(--ink-muted);text-indent:0}.qa-md .qa-table{position:relative;max-width:100%}.qa-md .qa-md-table{width:auto;max-width:100%;border-collapse:collapse;font-size:var(--md-table-fs);line-height:1.5;font-variant-numeric:tabular-nums}.qa-md-table :is(th,td){padding:6px 16px 6px 0;border-bottom:1px solid var(--line);text-align:start;vertical-align:top;overflow-wrap:anywhere}.qa-md-table th{border-bottom-color:var(--line-strong);font-weight:600;white-space:nowrap}.qa-md-table :is(th,td):last-child{padding-inline-end:0}.qa-md-table .qa-md-center{text-align:center}.qa-md-table .qa-md-right{text-align:end}.qa-table:not(.stack) .qa-md-tlabel{white-space:nowrap}.qa-table.stack :is(table,tbody,tr,td){display:block;width:auto}.qa-table.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.qa-table.stack tr{padding:8px 0;border-bottom:1px solid var(--line)}.qa-table.stack td{padding:0;border:0;text-align:start}.qa-table.stack td:first-child{font-weight:600}.qa-table.stack td:not(:first-child){padding-inline-start:1em;text-indent:-1em}.qa-table.stack td+td{margin-top:2px}.qa-table.stack td:not(:first-child):before{content:attr(data-label);color:var(--ink-muted)}@media print{.qa-md{font-size:10.5pt;line-height:1.7;orphans:2;widows:2}.qa-md:lang(en){line-height:1.6}.qa-code-body{font-size:9pt}.qa-md :is(.qa-code,.qa-table,.qa-math,.qa-md-quote){break-inside:avoid}.qa-md .qa-md-h{break-after:avoid}.qa-code-copy,.qa-md :is(.qa-math-zoom-link,.qa-math-zoom-icon){display:none}.qa-md .pill.page{padding:0;border:0;background:none;color:color-mix(in srgb,var(--ink) 60%,transparent)}.qa-md .pill.page:before{content:"["}.qa-md .pill.page:after{content:"]"}}.menu.up{top:auto;bottom:calc(100% + 4px)}.menu-sep{height:1px;margin:4px 6px;background:var(--line)}@keyframes menu-up-in{0%{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:no-preference){.menu.up{animation-name:menu-up-in}}.qa-toolbar .menu{width:max-content;min-width:248px}.qa-turn:has(.qa-toolbar .menu){position:relative;z-index:1}.qa-toolbar .menu-trigger[aria-expanded=true],.qa-toolbar .menu-trigger[aria-expanded=true]:hover:not(:disabled){background:var(--grid);color:var(--ink)}.qa-toolbar .menu-trigger[aria-expanded=true]:after{opacity:0}.menu-trigger[aria-busy=true]{cursor:progress}.qa-tool.qa-star[aria-pressed=true],.qa-tool.qa-star[aria-pressed=true]:hover:not(:disabled){background:transparent;border-color:transparent;color:var(--accent)}.qa-tool.qa-star[aria-pressed=true] .icon-star{fill:currentColor}.qa-tool>.qa-edit-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg);pointer-events:none}@media(forced-colors:active){.qa-tool>.qa-edit-dot{forced-color-adjust:none;background:Highlight;box-shadow:0 0 0 2px Canvas}}@keyframes qa-star-pop{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}@media(prefers-reduced-motion:no-preference){.qa-tool.qa-star.pop .icon-star{animation:qa-star-pop var(--dur-3) var(--ease-out)}}.qa-tool[aria-disabled=true]{opacity:.5;cursor:not-allowed}.qa-tool[aria-busy=true]{cursor:progress}.qa-fav-mark{display:inline-flex;align-items:center;gap:4px;color:var(--ink-muted);font-size:var(--fs-12);line-height:16px}.qa-fav-mark .icon-star,.qa-rail-star .icon-star{color:var(--accent);fill:currentColor}.qa-rail-star{display:inline-flex;margin-right:4px;vertical-align:-1px}.qa-rail-hit-label{margin-right:4px;color:var(--ink-muted);font-size:var(--fs-12)}.qa-rail-seg{margin-top:var(--sp-2)}.qa-rail-seg>button{gap:2px}.qa-rail-seg>[aria-pressed=true] .icon-star{color:var(--accent);fill:currentColor}@media(forced-colors:active){.qa-rail-seg>[aria-pressed=true]{outline:1px solid Highlight}}.explain-box{display:inline-flex;min-width:0}.explain-box.is-open,.explain-box.has-result,.explain-box.no-points{display:block;flex:1 1 100%;width:100%}.explain-open .recall-kbd,.explain-open .explain-kbd{margin-left:2px}.explain-kbd{display:inline-flex;align-items:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;background:var(--bg);color:var(--ink-muted);font:500 11px/1 var(--mono)}@media(pointer:coarse){.recall-kbd,.explain-kbd{display:none}}.explain-form{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line-student);border-radius:var(--r-3);background:var(--bg-student-soft)}.explain-title{margin:0;font-size:var(--fs-14);font-weight:600;line-height:var(--lh-snug);overflow-wrap:anywhere}.explain-form .field{margin:0}.explain-form textarea{width:100%;min-height:7.5em;resize:vertical;font:inherit;font-size:var(--fs-15);line-height:var(--lh-body)}.explain-form textarea.origin-student{color:var(--ink);background:var(--surface)}.explain-actions{gap:var(--sp-2)}.explain-error .error-state{margin:0;max-width:none}.explain-no-points{margin:0;font-size:var(--fs-13);color:var(--ink-muted)}.explain-result{display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}.explain-verdict{gap:var(--sp-2);align-items:center;flex-wrap:wrap}.explain-coverage{font-size:var(--fs-13);color:var(--ink-muted)}.explain-points{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.explain-point{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:var(--sp-2);align-items:start;padding:10px 12px;border-left:3px solid var(--line-strong);background:var(--bg);font-size:var(--fs-14);line-height:var(--lh-body)}.explain-points>.explain-point:first-child{border-top-right-radius:var(--r-3)}.explain-points>.explain-point:last-child{border-bottom-right-radius:var(--r-3)}.explain-point.covered{border-left-color:var(--ok);background:var(--ok-bg)}.explain-point.missing{border-left-color:var(--warn);background:var(--warn-bg)}.explain-point.wrong{border-left-color:var(--danger);background:var(--danger-bg)}.explain-point.verbatim{border-left-color:var(--line-strong);background:var(--bg)}.explain-mark{font-weight:700;text-align:center;line-height:var(--lh-body);color:var(--ink-muted)}.explain-point.covered .explain-mark{color:var(--ok)}.explain-point.missing .explain-mark{color:var(--warn)}.explain-point.wrong .explain-mark{color:var(--danger)}.explain-point.verbatim .explain-mark{color:var(--ink-muted)}.explain-point[data-src-current]{background-color:var(--bg-material-strong)}@media(prefers-reduced-motion:no-preference){.explain-point{transition:background-color var(--dur-1) var(--ease-std)}}.explain-point-body{display:flex;flex-direction:column;gap:4px;min-width:0}.explain-point-head{gap:var(--sp-2);align-items:center;flex-wrap:wrap;font-size:var(--fs-12)}.explain-point-verdict{font-weight:600;color:var(--ink);letter-spacing:.01em}.explain-verbatim{color:var(--ink-muted)}.explain-point-head .pill{margin:0}.explain-point-text{margin:0;overflow-wrap:anywhere}.explain-quote-line{margin:0;font-size:var(--fs-13);overflow-wrap:anywhere}.explain-quote-label{color:var(--ink-muted);margin-right:4px}.explain-note{margin:0;padding:6px 10px;border-radius:var(--r-2);font-size:var(--fs-13);line-height:var(--lh-body);overflow-wrap:anywhere}.explain-summary{margin:0;padding:10px 12px;border-radius:var(--r-3);font-size:var(--fs-14);line-height:var(--lh-body);overflow-wrap:anywhere}@media(max-width:640px){.explain-form{padding:var(--sp-3)}.explain-point{grid-template-columns:18px minmax(0,1fr);padding:8px 10px}}.recall-actions>.explain-result{flex:1 1 100%;width:100%}.recall-last-explain{color:var(--ink-muted)}.qa-scope-explain{flex:none;white-space:nowrap;color:var(--accent)}.qa-scope-explain:hover:not(:disabled){color:var(--accent-strong)}.qa-scope-explain:disabled{background:var(--grid);color:var(--ink-muted);border-color:transparent}.explain-dialog{display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}.explain-modal .explain-box{display:block;width:100%}.qa-panel{display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}.qa-panel.compact{gap:var(--sp-2)}.qa-icon-btn{color:var(--ink-muted)}.qa-icon-btn:hover:not(:disabled){color:var(--ink)}.qa-icon-btn[aria-pressed=true],.qa-icon-btn[aria-pressed=true]:hover:not(:disabled){background:var(--accent-bg);color:var(--accent);border-color:transparent}.qa-column>.banner.quiet{margin:0;padding:0;max-width:none;background:none;box-shadow:none;color:var(--ink-muted)}.qa-column>.banner.quiet>svg.icon{color:var(--warn)}.qa-panel.flow{--qa-rail-w: 320px;flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0 var(--sp-6)}@media(max-width:1199px){.qa-panel.flow{--qa-rail-w: 288px}}@media(min-width:1024px){.qa-panel.flow:not(.empty):has(>.qa-rail){grid-template-columns:minmax(0,1fr) var(--qa-rail-w)}}@media(min-width:1024px){.qa-panel.flow.has-source{grid-template-columns:minmax(0,1fr) var(--qa-src-w, 400px)}.qa-panel.flow.has-source .qa-column{margin-inline:auto 0}.qa-panel.flow.has-source .qa-composer{margin-inline:auto var(--sp-2)}.qa-panel.flow.has-source .qa-jump{left:max(50%,calc(100% - 328px))}}@media(max-width:1023px),(pointer:coarse){.qa-panel.flow.has-source .qa-jump{left:auto}}.qa-main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}.qa-scroll-wrap{position:relative;flex:1 1 auto;min-height:0}.qa-scroll{position:relative;height:100%;overflow:hidden auto;overscroll-behavior:contain;overflow-anchor:none;scroll-padding-top:32px;scroll-padding-bottom:56px;scrollbar-width:none;outline:none}@media(max-width:1023px),(pointer:coarse){.qa-scroll{scroll-padding-bottom:68px}}.qa-scroll::-webkit-scrollbar{display:none}.qa-scroll-wrap:has(>.qa-scroll:focus-visible){box-shadow:inset 0 0 0 2px var(--accent);border-radius:var(--r-2)}.qa-scroll.more-above,.qa-rail-list.more-above{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24px);mask-image:linear-gradient(to bottom,transparent 0,#000 24px)}.qa-scroll.more-below,.qa-rail-list.more-below{-webkit-mask-image:linear-gradient(to top,transparent 0,#000 24px);mask-image:linear-gradient(to top,transparent 0,#000 24px)}.qa-scroll.more-above.more-below,.qa-rail-list.more-above.more-below{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}.qa-column{display:flex;flex-direction:column;min-height:100%;max-width:640px;margin:0 auto;padding:var(--sp-2) 0 var(--sp-5)}.qa-column>.qa-turns{margin-top:auto}.qa-panel.flow .qa-column{max-width:656px;padding-inline:var(--sp-2)}@media(max-width:639px){.qa-fit .qa-column{padding-bottom:var(--sp-3)}}.qa-panel.flow .qa-composer{position:static;z-index:auto;flex:none;width:100%;max-width:640px;margin:0 auto;padding:var(--sp-3) 0 calc(var(--sp-4) + env(safe-area-inset-bottom,0px))}.qa-panel.flow.empty{width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:inherit;font-weight:inherit;text-align:start}.qa-panel.flow.empty .qa-main{justify-content:center;padding-bottom:8vh}.qa-panel.flow.empty .qa-scroll-wrap{flex:0 1 auto}.qa-panel.flow.empty .qa-composer{max-width:880px}.qa-panel.flow .qa-main>.qa-help-btn{position:absolute;top:0;right:0;z-index:2}.qa-panel.flow.loading .qa-column{justify-content:center}.qa-panel.flow.loading .qa-loading{text-align:center}.qa-panel.flow.loading .qa-composer{visibility:hidden}.qa-panel.flow.arriving .qa-turn.rise{animation-delay:var(--dur-2)}.qa-panel.flow.arriving>.qa-rail{animation:qa-rail-in var(--dur-2) var(--ease-out) var(--dur-1) both}@keyframes qa-rail-in{0%{opacity:0;transform:translate(12px)}}@media(prefers-reduced-motion:no-preference){.qa-panel.flow>.qa-rail.returning{animation:fade var(--dur-2) var(--ease-out) both}}.qa-panel.compact>.qa-scroll-wrap{flex:1 1 auto;min-height:0}.qa-panel.compact .qa-column{max-width:none;padding:var(--sp-3) var(--sp-5) var(--sp-4)}.qa-turns{list-style:none;margin:0;padding:var(--sp-1) 0 0;display:flex;flex-direction:column;gap:var(--sp-3)}.qa-panel.flow .qa-turns{gap:40px}.qa-panel.compact .qa-turns{gap:var(--sp-5)}.qa-loading{font-size:var(--fs-13);padding:6px 0}.qa-panel.history-hidden .qa-turn:not(:last-child){display:none}.qa-jump{position:absolute;bottom:12px;left:50%;z-index:3;transform:translate(-50%);display:inline-flex;align-items:center;gap:4px;min-height:32px;margin:0;padding:0 12px 0 8px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-2);color:var(--accent);font:inherit;font-size:var(--fs-13);font-weight:500;line-height:20px;white-space:nowrap;cursor:pointer;animation:fade var(--dur-2) var(--ease-out) both}.qa-jump:hover{background:var(--bg);color:var(--accent-strong)}.qa-jump:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:1023px),(pointer:coarse){.qa-jump{left:auto;right:12px;transform:none;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%}.qa-jump .qa-jump-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.qa-jump.live:after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface)}}.qa-turn.flash .qa-bubble{animation:qa-flash .7s var(--ease-out) both}@keyframes qa-flash{0%{background-color:color-mix(in srgb,var(--c-student) 16%,var(--bg-student));box-shadow:inset 3px 0 0 var(--c-student),0 0 0 3px color-mix(in srgb,var(--c-student) 22%,transparent)}}.qa-turn-head{display:flex;flex-direction:column;min-width:0}.qa-bubble{font-size:var(--fs-14);line-height:var(--lh-body);white-space:pre-wrap;word-break:break-word}.qa-q{display:block;font-weight:inherit;outline:none;text-wrap:pretty}.qa-q:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.qa-bubble-meta{margin-top:6px;gap:6px}.qa-panel.flow .qa-turn-head{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:6px var(--sp-3)}.qa-panel.flow .qa-bubble{width:fit-content;max-width:100%}.qa-panel.flow .qa-q{font-weight:600}.qa-panel.flow .qa-bubble-meta{margin:0 0 11px}.qa-answer{margin:var(--sp-2) 0 0;display:flex;flex-direction:column;gap:var(--sp-2)}.qa-answer-skeleton{display:grid;grid-template-rows:24px;grid-auto-rows:24px;align-items:center;margin-top:var(--sp-2);padding:0 12px 0 14px;overflow:hidden;border-radius:0 var(--r-2) var(--r-2) 0;box-shadow:inset 3px 0 0 var(--grid)}.qa-answer-skeleton>.skeleton{height:10px}.qa-answer-skeleton>.skeleton.head{width:24px;height:14px}.qa-answer-skeleton>.skeleton:nth-child(3n+2){width:96%}.qa-answer-skeleton>.skeleton:nth-child(3n){width:88%}.qa-answer-skeleton>.skeleton:nth-child(3n+4){width:72%}.qa-answer>.qa-answer-skeleton{margin-top:0}.qa-region-head{display:flex;align-items:center;gap:6px;margin-bottom:6px;line-height:1}.qa-check-question,.qa-check-line,.qa-evidence{overflow-wrap:anywhere}.qa-panel.flow .qa-bubble{font-size:var(--fs-14);line-height:1.65}.qa-anchor{position:relative;display:inline-block;margin-left:4px}.qa-evidence.origin-material{display:none;position:absolute;left:0;bottom:calc(100% + 6px);z-index:5;width:max(240px,28vw);max-width:360px;padding:8px 10px 8px 12px;border:1px solid var(--line-material);border-radius:var(--r-2);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-2),inset 3px 0 0 var(--c-material);font-size:var(--fs-12);line-height:1.5;white-space:normal;transform:translate(var(--qa-ev-dx, 0px))}.qa-anchor:not([data-tip=off]):has(.pill:focus-visible:not([data-src-current])) .qa-evidence.origin-material{display:block;animation:fade var(--dur-1) var(--ease-out) both}@supports not selector(:has(*)){.qa-anchor:not([data-tip=off]):focus-within .qa-evidence.origin-material{display:block;animation:fade var(--dur-1) var(--ease-out) both}}@media(hover:hover)and (pointer:fine){.qa-anchor:not([data-tip=off]):hover .qa-evidence.origin-material{display:block;animation:fade var(--dur-1) var(--ease-out) both}}.qa-anchor .pill.page[data-src-current]~.qa-evidence.origin-material{display:none}@media(hover:none){.qa-evidence.origin-material{display:none!important}}.qa-anchor[data-side=left] .qa-evidence.origin-material{left:auto;right:0}.qa-anchor[data-v=below] .qa-evidence.origin-material{bottom:auto;top:calc(100% + 6px)}.qa-check-question.origin-rail[data-src-current]{background-color:color-mix(in srgb,var(--c-ai) 14%,var(--bg-ai-soft));box-shadow:inset 3px 0 0 var(--c-ai),0 0 0 4px color-mix(in srgb,var(--c-ai) 14%,var(--bg-ai-soft))}.qa-check-line.origin-material[data-src-current],.qa-passage.origin-material[data-src-current]{background-color:var(--bg-material-strong);box-shadow:inset 3px 0 0 var(--c-material),0 0 0 4px var(--bg-material-strong)}@media(prefers-reduced-motion:no-preference){.qa-check-question,.qa-check-line,.qa-passage{transition:background-color var(--dur-1) var(--ease-std),box-shadow var(--dur-1) var(--ease-std)}.qa-check-question.qa-src-flash{animation:qa-src-flash-ai-rail .7s var(--ease-out)}.qa-check-line.qa-src-flash,.qa-passage.qa-src-flash{animation:qa-src-flash-material-rail .7s var(--ease-out)}}@keyframes qa-src-flash-ai-rail{0%{background-color:color-mix(in srgb,var(--c-ai) 22%,var(--bg-ai-soft));box-shadow:inset 3px 0 0 var(--c-ai),0 0 0 4px color-mix(in srgb,var(--c-ai) 22%,var(--bg-ai-soft))}}@keyframes qa-src-flash-material-rail{0%{background-color:color-mix(in srgb,var(--c-material) 22%,var(--bg-material-soft));box-shadow:inset 3px 0 0 var(--c-material),0 0 0 4px color-mix(in srgb,var(--c-material) 22%,var(--bg-material-soft))}}.qa-supplement.origin-rail{box-shadow:none;border-left:3px dashed var(--c-ai);padding-left:11px}.qa-answer{container:qa-answer / inline-size}.qa-answer>.qa-region.origin-rail{background:none;padding:2px 0 2px 14px;border-radius:0}.qa-answer>.qa-supplement.origin-rail{padding-left:11px}@container qa-answer (max-width: 400px){.qa-answer>.qa-region.origin-rail{padding-left:11px}.qa-answer>.qa-supplement.origin-rail{padding-left:8px}}.qa-answer>.qa-cited+.qa-supplement{margin-top:var(--sp-4)}.qa-region-name{font-size:var(--fs-13);line-height:20px;color:var(--ink-muted)}.qa-supplement>summary{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:var(--fs-13);color:var(--ink-muted);list-style:none}.qa-supplement>summary::-webkit-details-marker{display:none}.qa-supplement>summary .tag-ai{margin-right:0}.qa-summary-chevron{flex:none;margin-left:-2px;transition:transform var(--dur-2) var(--ease-out)}.qa-supplement[open]>summary{margin-bottom:6px}.qa-supplement[open]>summary .qa-summary-chevron{transform:rotate(90deg)}@media(pointer:coarse){.qa-supplement>summary{position:relative}.qa-supplement>summary:after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}.qa-citations .qa-cite-group{row-gap:12px;column-gap:10px}.qa-details-inline>summary{min-height:44px}details.qa-details-inline[open]>summary{margin-bottom:0}.qa-details-inline{margin-block-end:var(--sp-3)}}.qa-status{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:2px 0;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink);font-variant-numeric:tabular-nums}.qa-status .tag-ai{margin-right:0}.qa-dots{display:inline-flex;align-items:center;gap:3px;height:8px}.qa-dots>i{width:4px;height:4px;border-radius:50%;background:var(--c-ai);animation:qa-dot 1.2s var(--ease-std) infinite}.qa-dots>i:nth-child(2){animation-delay:.15s}.qa-dots>i:nth-child(3){animation-delay:.3s}@keyframes qa-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.qa-citations{flex-wrap:wrap;gap:6px;font-size:var(--fs-12)}.qa-citations-label{font-weight:500}.qa-cite-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.qa-cite{display:inline-flex;align-items:center;gap:2px}.qa-cite-count{font-variant-numeric:tabular-nums}.qa-cite-file{margin-right:2px}.qa-notice{display:flex;gap:10px;align-items:flex-start}.qa-notice.banner.warn{max-width:none;margin:0;padding:10px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:none;font-size:var(--fs-13);line-height:var(--lh-snug)}.qa-notice-icon{flex:none;width:6px;height:6px;margin-top:6px;border-radius:50%;background:var(--warn)}.qa-notice.retrieval{flex-direction:column;gap:var(--sp-2);padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-3)}.qa-notice.retrieval>.banner.warn{max-width:none;margin:0;padding:0;background:none;box-shadow:none;color:var(--ink);font-weight:500}.qa-notice.retrieval>.banner.warn>svg.icon{color:var(--warn)}.qa-notice-body{display:flex;flex-direction:column;gap:4px;min-width:0}.qa-notice-caption{font-size:var(--fs-12)}.qa-notice-message{font-size:var(--fs-14);line-height:var(--lh-body)}.qa-notice-actions{margin-top:2px}.qa-passage{margin:0;font-size:var(--fs-13);line-height:1.6}.qa-passage-text{white-space:pre-wrap;word-break:break-word}.qa-passage.clamped .qa-passage-text{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.qa-passage-foot{margin-top:6px;gap:var(--sp-2)}.qa-passage-caption{font-size:var(--fs-12)}.qa-error-note{display:flex;align-items:center;gap:10px;color:var(--danger);background:var(--danger-bg);border:0;border-radius:0 var(--r-2) var(--r-2) 0;box-shadow:inset 3px 0 0 var(--danger);padding:8px 12px 8px 14px;font-size:var(--fs-13);line-height:var(--lh-snug)}.qa-error-note>svg.icon{flex:none}.qa-error-text{flex:1 1 auto;min-width:0}.qa-toolbar{gap:2px;flex-wrap:wrap;margin-left:-6px}.qa-tool{position:relative;color:var(--ink-muted);gap:6px}.qa-tool:hover:not(:disabled),.qa-tool:focus-visible{color:var(--ink)}@media(hover:hover){.qa-tool{width:var(--control-h-sm);padding:0}.qa-tool-label{display:none}.qa-tool:after{content:attr(data-label);position:absolute;left:50%;bottom:calc(100% + 6px);z-index:3;transform:translate(-50%,2px);padding:4px 8px;border-radius:var(--r-2);background:var(--ink);color:var(--surface);font-size:var(--fs-12);font-weight:500;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-1) var(--ease-std),transform var(--dur-1) var(--ease-std)}.qa-tool:hover:after,.qa-tool:focus-visible:after{opacity:1;transform:translate(-50%)}}@media(hover:none){.qa-tool{padding:0 8px}}.qa-rate{display:inline-flex;align-items:center;gap:2px;margin-inline-start:auto;margin-inline-end:-6px;min-inline-size:58px;min-block-size:28px}@media(hover:none),(pointer:coarse){.qa-rate{gap:8px;margin-inline-end:0;min-inline-size:96px;min-block-size:44px}}@media(hover:none)and (max-width:359px){.qa-rate{flex-basis:100%;justify-content:flex-end;margin-block-start:6px}}.qa-composer{display:flex;flex-direction:column;gap:var(--sp-2);flex:none;padding-top:var(--sp-3);padding-bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0px));background:var(--bg)}.qa-composer.compact{padding-top:var(--sp-2);background:var(--surface)}.qa-composer-box{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line-control);border-radius:12px;background:var(--surface);transition:border-color var(--dur-1) var(--ease-std),box-shadow var(--dur-1) var(--ease-std)}.qa-composer-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.qa-composer-box:has(.qa-textarea[aria-invalid=true]){border-color:var(--danger);box-shadow:none}.qa-composer-box:has(.qa-textarea[aria-invalid=true]):focus-within{box-shadow:0 0 0 3px var(--danger-bg)}.qa-composer.not-available .qa-composer-box,.qa-composer.limited .qa-composer-box{background:var(--bg)}.qa-composer.limited .qa-composer-box .qa-textarea{color:var(--ink-muted)}.qa-scope-widen{flex:none;font-size:var(--fs-12);white-space:nowrap}.qa-scope-hint{margin:0;font-size:var(--fs-12);line-height:var(--lh-snug)}.qa-composer-box .qa-textarea,.qa-composer-box .qa-textarea:focus,.qa-composer-box .qa-textarea:focus-visible,.qa-composer-box .qa-textarea:disabled{width:100%;min-height:64px;max-height:min(160px,22dvh);margin:0;padding:12px;resize:none;field-sizing:content;border:0;border-radius:12px 12px 0 0;outline:none;box-shadow:none;background:transparent;font-size:var(--fs-14);line-height:var(--lh-body);scrollbar-width:none}.qa-composer-box .qa-textarea::-webkit-scrollbar{display:none}.qa-panel.flow:not(.empty) .qa-composer-box .qa-textarea{font-size:var(--fs-14);line-height:1.65}@media(max-width:639px),(pointer:coarse){.qa-composer-box .qa-textarea,.qa-composer-box .qa-textarea:focus,.qa-composer-box .qa-textarea:focus-visible,.qa-composer-box .qa-textarea:disabled,.qa-panel.flow:not(.empty) .qa-composer-box .qa-textarea{font-size:var(--fs-16)}}.qa-composer-bar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-height:44px;padding:4px 6px 4px 8px;border-top:1px solid var(--line)}.qa-scope-bar{display:flex;align-items:center;gap:var(--sp-1);flex:1000 1 0;max-width:max-content}.qa-scope-chip{display:inline-block;flex:0 1 auto;line-height:20px;max-width:9em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.qa-scope-toggle{appearance:none;display:inline-flex;align-items:center;gap:2px;max-width:12em;padding-right:6px;font:inherit;font-size:var(--fs-12);cursor:pointer;transition:background-color var(--dur-1) var(--ease-std),border-color var(--dur-1) var(--ease-std)}.qa-scope-toggle.scoped{background:var(--accent-bg);color:var(--accent);border-color:transparent}.qa-scope-toggle:hover:not(:disabled){border-color:var(--line-strong)}.qa-scope-toggle:disabled{cursor:default}.qa-scope-toggle>svg.icon{flex:none}.qa-scope-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-scope-open,.qa-scope-clear{color:var(--ink-muted)}.qa-scope-open{flex:none;white-space:nowrap}.qa-scope-clear{flex:none}.qa-scope-open:hover:not(:disabled),.qa-scope-clear:hover:not(:disabled){color:var(--ink)}.qa-scope-open:disabled,.qa-scope-clear:disabled,.qa-send:disabled:not(.streaming){background:var(--grid);color:var(--ink-muted);border-color:transparent}.btn.primary.qa-send.streaming:disabled{opacity:.4}.qa-composer.not-available .qa-scope-chip,.qa-composer.not-available .qa-scope-merged{background:var(--grid);color:var(--ink-muted);border-color:transparent}.qa-scope-merged{appearance:none;display:inline-grid;grid-template-columns:auto minmax(min(6em,var(--scope-label-w, 0px)),max-content) auto;align-items:center;gap:2px;flex:0 1 auto;min-width:0;max-width:16em;padding-right:6px;font:inherit;font-size:var(--fs-12);line-height:20px;cursor:pointer;transition:background-color var(--dur-1) var(--ease-std),border-color var(--dur-1) var(--ease-std)}.qa-scope-merged:not(.scoped){grid-template-columns:auto minmax(var(--scope-label-w, 0px),max-content) auto}.qa-scope-merged:hover:not(:disabled){border-color:var(--line-strong)}.qa-scope-merged:disabled{cursor:default}.qa-scope-merged.scoped{background:var(--accent-bg);color:var(--accent);border-color:transparent}.qa-scope-merged>.qa-scope-prefix{color:var(--ink-muted)}.qa-scope-merged.scoped>.qa-scope-prefix{color:inherit}.qa-scope-merged>.qa-scope-chip{display:block;max-width:none;background:none;border:0;padding:0}.qa-composer.not-available .qa-counter{display:none}.qa-composer-send{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;flex:1 1 0}.qa-composer-send>:not(:last-child){margin-inline-end:var(--sp-3)}.qa-composer-send>.qa-send-reason{grid-column:1;justify-self:end;max-width:calc(100% - var(--sp-3))}.qa-composer-send>.qa-quota{grid-column:2}.qa-composer-send>.qa-counter{grid-column:3}.qa-composer-send>.btn{grid-column:4}.qa-send-reason{min-width:0;overflow:hidden;color:var(--ink-muted);font-size:var(--fs-12);line-height:16px;white-space:nowrap;text-overflow:ellipsis}.qa-send-reason.danger{color:var(--danger)}@media(max-width:639px){.qa-composer-send.firm{grid-template-columns:minmax(calc(8 * var(--fs-12) + var(--sp-3)),1fr) auto auto auto}.qa-composer-send.firm>.qa-send-reason{white-space:normal;text-overflow:clip;text-wrap-style:balance}}@media(max-width:767px),(pointer:coarse){.qa-composer-bar{padding:6px 6px 6px 8px}.qa-composer-bar .btn.qa-send{position:relative;height:40px;min-height:40px;border-radius:8px}.qa-composer-bar .btn.qa-send:after{content:"";position:absolute;inset:-3px}}.qa-counter{display:none;font-size:var(--fs-12);color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.qa-counter.near{display:inline}.qa-counter.warn{color:var(--warn)}.qa-counter.danger{color:var(--danger);font-weight:600}.qa-composer-foot{display:flex;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--fs-12);line-height:var(--lh-snug)}.qa-inline-error{color:var(--danger)}.qa-blocked{display:flex;align-items:center;gap:var(--sp-2);color:var(--ink-muted);font-size:var(--fs-13);line-height:var(--lh-snug)}.qa-blocked>svg.icon{flex:none;color:var(--warn)}.qa-quota{font-size:var(--fs-13);line-height:16px;font-variant-numeric:tabular-nums;color:var(--ink-muted);white-space:nowrap}.qa-quota.warn{color:var(--warn-strong)}.qa-limit{display:flex;align-items:flex-start;gap:var(--sp-3);padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface)}.qa-composer>.qa-limit{margin-top:4px;margin-bottom:-4px}.qa-limit :is(.qa-limit-title,.qa-limit-body,.qa-limit-more){text-wrap-style:balance}.qa-limit :is(.qa-limit-title,.qa-limit-body,.qa-limit-more):lang(zh){word-break:keep-all;overflow-wrap:anywhere;text-wrap-style:balance}.qa-limit>svg.icon{flex:none;color:var(--ink-muted)}.qa-limit-text{min-width:0}.qa-limit-title{margin:0;font-size:var(--fs-15);font-weight:600;line-height:20px}.qa-limit-body{margin:2px 0 0;font-size:var(--fs-14);line-height:var(--lh-snug);color:var(--ink-muted)}.qa-limit-more{margin:4px 0 0;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--ink-muted)}.qa-composer.compact .qa-limit{padding:8px 12px}.qa-composer.compact .qa-limit-text{display:block}.qa-composer.compact .qa-limit-title,.qa-composer.compact .qa-limit-body{display:inline;margin:0}.qa-composer.compact .qa-limit-title{margin-inline-end:var(--sp-2)}@media(prefers-reduced-motion:no-preference){.qa-limit.leaving{animation:qa-limit-out .18s var(--ease-out) both}}@keyframes qa-limit-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.qa-summary-chevron,.qa-tool:after{transition:none}.qa-dots>i,.qa-anchor .qa-evidence{animation:none}}@media(min-width:768px){.modal.qa-scope-dialog{width:min(560px,92vw)}}.qa-scope-hint{margin:0 0 var(--sp-3);font-size:var(--fs-13);line-height:var(--lh-snug)}.qa-scope-skel{height:calc(var(--rows) * 36px + var(--rules) * 9px);background:linear-gradient(var(--grid) 12px,transparent 0) 40px 12px / 55% 36px repeat-y}@media(pointer:coarse){.qa-scope-skel{height:calc(var(--rows) * 44px + var(--rules) * 9px);background-position-y:16px;background-size:55% 44px}}.qa-details{display:flex;flex-direction:column;gap:var(--sp-5)}.qa-details-section>h3{display:flex;align-items:baseline;gap:6px;margin:0 0 var(--sp-2);font-size:var(--fs-13);font-weight:600;line-height:1.3;color:var(--ink-muted)}.qa-details-count{font-weight:500;font-variant-numeric:tabular-nums}.qa-details-passages{display:flex;flex-direction:column;gap:var(--sp-2)}.qa-details-none{font-size:var(--fs-13)}.qa-details-grid{display:grid;grid-template-columns:minmax(6.5em,max-content) minmax(0,1fr);margin:0;font-size:var(--fs-13);border-top:1px solid var(--grid)}.qa-details-grid>dt,.qa-details-grid>dd{display:flex;align-items:center;min-height:32px;margin:0;padding:6px 0;border-bottom:1px solid var(--grid)}.qa-details-grid>dt{gap:8px;padding-right:var(--sp-4);font-size:var(--fs-12);font-weight:500;color:var(--ink-muted)}.qa-details-grid>dd{min-width:0;color:var(--ink);line-height:var(--lh-snug)}.qa-details-grid>dd.mono{font-size:var(--fs-12);color:var(--ink);word-break:break-all}.qa-details-grid.num>dd{justify-content:flex-end;text-align:right;font-variant-numeric:tabular-nums}.qa-details-swatch{flex:none;box-sizing:border-box;width:10px;height:10px;border-radius:3px}.qa-details-swatch.cited{background:var(--c-ai)}.qa-details-swatch.supplement{background:var(--bg-ai);border:1px dashed var(--c-ai)}.qa-details-swatch.demoted{border:1px dashed var(--line-ai)}.qa-details-skeleton{display:grid;gap:var(--sp-3);padding-top:var(--sp-1)}.qa-details-skeleton>.skeleton{height:12px}.qa-details-skeleton>.skeleton:nth-child(2){width:88%}.qa-details-skeleton>.skeleton:nth-child(3){width:64%}.qa-details-skeleton>.skeleton:nth-child(4){width:76%}.qa-details-wait{display:grid;justify-items:center;gap:var(--sp-3)}.qa-details-wait>p{margin:0}.qa-details-inline{margin-top:var(--sp-1)}.qa-details-inline>summary{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:var(--fs-13);color:var(--ink-muted);list-style:none}.qa-details-inline>summary::-webkit-details-marker{display:none}.qa-details-inline[open]>summary{margin-bottom:var(--sp-2);color:var(--ink)}.qa-details-inline[open]>summary .qa-summary-chevron{transform:rotate(90deg)}.qa-details-inline>.qa-details{gap:var(--sp-4);padding:var(--sp-1) 0 var(--sp-1) var(--sp-3);border-left:1px solid var(--line)}.qa-help-body{margin:0 0 10px;line-height:1.6}.qa-help-legend{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}.qa-help-legend li{display:flex;align-items:center;gap:8px}.qa-swatch{display:inline-block;width:16px;height:16px;border-radius:4px}.qa-help-scope{margin:0;font-size:13px}.qa-check{margin-top:var(--sp-2);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-2)}.qa-check.dismissed{display:flex;align-items:center;gap:6px;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-13);border-style:dashed}.qa-check.dismissed>svg.icon{flex:none}.qa-check-head{display:flex;align-items:center;gap:8px;min-height:22px}.qa-check-title{margin:0;font-size:var(--fs-14);font-weight:600;line-height:inherit;color:var(--ink)}.qa-check-question{margin:0;font-size:var(--fs-14);line-height:1.6}.qa-check-question .tag-ai,.qa-check-line .tag-ai{margin-right:6px;vertical-align:1px}.qa-check-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.qa-check-input{flex:1 1 220px;min-width:0;font-size:var(--fs-14)}.qa-check-buttons{display:flex;flex:none;gap:var(--sp-2);margin-inline-start:auto}.qa-check-input[aria-invalid=true]{border-color:var(--danger)}.qa-check-input[aria-invalid=true]:focus-visible{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.qa-check-actions{gap:var(--sp-2)}.qa-check-error{display:flex;align-items:center;gap:8px;color:var(--danger);font-size:var(--fs-13)}.qa-check-error>svg.icon{flex:none}.qa-check-unavailable{font-size:var(--fs-13)}.qa-check-verdict{gap:var(--sp-2);outline:none}.qa-check-verdict:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);border-radius:var(--r-2)}.qa-check-count{font-size:var(--fs-12);font-variant-numeric:tabular-nums}.qa-check-points{list-style:none;margin:0;padding:0;display:grid;gap:4px}.qa-check-point{display:flex;align-items:baseline;gap:8px;font-size:var(--fs-14);line-height:1.5}.qa-check-mark{flex:none;width:1.2em;text-align:center;font-weight:700}.qa-check-point[data-covered=true] .qa-check-mark{color:var(--ok)}.qa-check-point[data-covered=false] .qa-check-mark{color:var(--danger)}.qa-check-point-verdict{flex:none;min-width:2.6em;font-size:var(--fs-12);color:var(--ink-muted)}.qa-check-feedback{display:grid;gap:6px}.qa-check-line{margin:0;font-size:var(--fs-14);line-height:1.6}.qa-check-answer{display:grid;gap:2px;min-width:0}.qa-check-answer-label{font-size:var(--fs-12);line-height:16px;color:var(--ink-muted)}.qa-check-answer-text{margin:0;font-size:var(--fs-14);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.qa-check-recorded{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-12);color:var(--ink-muted);white-space:nowrap}.qa-check-review{display:inline-flex;align-items:center;gap:4px;justify-self:start;font-size:var(--fs-13);font-weight:600;color:var(--accent);text-decoration:none}.btn.qa-check-review{position:relative;isolation:isolate;height:32px;padding:0 8px;margin-left:-8px;border-color:transparent;background:none;font-size:var(--fs-13);font-weight:600;color:var(--accent)}.qa-check-review:hover,.btn.qa-check-review:hover:not(:disabled){color:var(--accent-strong);background:none;border-color:transparent}.btn.qa-check-review:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--r-2);pointer-events:none}.btn.qa-check-review[aria-expanded=true],.btn.qa-check-review[aria-expanded=true]:hover:not(:disabled){color:var(--accent-strong);background:none}.btn.qa-check-review[aria-expanded=true]:before,.btn.qa-check-review[aria-expanded=true]:hover:not(:disabled):before{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent)}.qa-check-review>svg.icon{transition:transform var(--dur-1) var(--ease-out)}.qa-check-review[aria-expanded=false]:hover>svg.icon{transform:translate(2px)}@media(pointer:coarse){.btn.qa-check-review{height:44px}}@media(forced-colors:active){.btn.qa-check-review[aria-expanded=true]{forced-color-adjust:none;color:HighlightText}.btn.qa-check-review[aria-expanded=true]:before{forced-color-adjust:none;background:Highlight;box-shadow:none}}.qa-panel.compact .qa-check{padding:var(--sp-2) var(--sp-3)}@media(prefers-reduced-motion:reduce){.qa-check-review>svg.icon{transition:none}.qa-check-review[aria-expanded=false]:hover>svg.icon{transform:none}}.qa-history-toggle{color:var(--ink-muted);font-size:var(--fs-13);font-variant-numeric:tabular-nums}.qa-history-toggle:hover:not(:disabled){color:var(--ink)}.qa-history-toggle[aria-pressed=true],.qa-history-toggle[aria-pressed=true]:hover:not(:disabled){background:transparent;color:var(--ink);border-color:transparent}.qa-icon-btn[aria-pressed=true],.qa-icon-btn[aria-pressed=true]:hover:not(:disabled){background:transparent;color:var(--ink)}.qa-scope-merged{position:relative;min-height:32px;font-size:var(--fs-13);line-height:20px}.qa-scope-merged>.qa-scope-chip{line-height:20px}.qa-help-btn,.qa-history-toggle{position:relative}@media(pointer:coarse),(max-width:767px){.qa-scope-merged:after,.qa-help-btn:after,.qa-history-toggle:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}}.qa-status{padding:0;border:0;background:none;box-shadow:none;border-radius:0;color:var(--ink-muted);font-size:var(--fs-13);line-height:20px}.qa-status .qa-dots>i{background:var(--ink-muted)}.qa-row-time{flex:none;font-size:var(--fs-12);line-height:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.qa-repeat{font-size:var(--fs-12);line-height:16px}@media(max-height:640px){.qa-fit .qa-panel.flow .qa-composer{padding-top:var(--sp-2);padding-bottom:calc(var(--sp-2) + env(safe-area-inset-bottom,0px))}.qa-fit .qa-composer-box .qa-textarea{min-height:44px}.qa-fit .qa-topbar{height:36px}.qa-fit .qa-column{padding-bottom:var(--sp-2)}}:where(html.qa-short) .qa-fit .qa-panel.flow .qa-composer{padding-top:var(--sp-2);padding-bottom:calc(var(--sp-2) + env(safe-area-inset-bottom,0px))}:where(html.qa-short) .qa-fit .qa-composer-box .qa-textarea{min-height:44px}:where(html.qa-short) .qa-fit .qa-topbar{height:36px}:where(html.qa-short) .qa-fit .qa-column{padding-bottom:var(--sp-2)}html.qa-tight .qa-fit .qa-main:has(>form.qa-composer:focus-within)>.qa-topbar{display:none}@media(max-height:420px){.qa-fit .qa-main:has(>form.qa-composer:focus-within)>.qa-topbar{display:none}}@media(pointer:coarse){.qa-panel:not(.empty) .qa-column{padding-bottom:56px}}@media print{main.shell-content:has(>.course-space.qa-fit),.course-space.qa-fit,.course-space.qa-fit>.course-qa-tab,.qa-panel.flow,.qa-main,.qa-scroll,.drawer.ask-drawer>.modal-body{height:auto;min-height:0;max-height:none;overflow:visible}.qa-panel.flow{display:block}.course-header,.qa-rail,.qa-topbar,.qa-composer,.qa-toolbar,.qa-jump,.qa-source{display:none!important}.qa-answer>.qa-cited.origin-rail{box-shadow:none;border-left:3px solid var(--c-ai);padding-left:11px}.qa-bubble.origin-rail{box-shadow:none;border-left:3px solid var(--c-student);padding-left:11px}.qa-supplement:not([open])>summary:after{content:attr(data-print-note);position:static;height:auto;transform:none}.qa-summary-chevron{display:none}.qa-answer .tag-ai{background:none;color:var(--c-ai);box-shadow:inset 0 0 0 1px var(--c-ai)}}@media(forced-colors:active){.qa-answer>.qa-region.qa-cited.origin-rail,.qa-bubble.origin-rail{border-left:3px solid CanvasText;padding-left:11px}.qa-source-quote-text{border-left:3px solid CanvasText;padding-left:11px}.qa-md span.qa-sentence[data-src-current]{outline:2px solid Highlight;outline-offset:1px}.qa-md div.qa-sentence[data-src-current],.qa-check-question[data-src-current],.qa-check-line[data-src-current],.qa-passage[data-src-current]{outline:3px solid Highlight;outline-offset:2px}:is(.qa-md,.qa-inline-md) code.qa-md-code{outline:1px solid CanvasText;outline-offset:-1px}}@media(forced-colors:active){@container qa-answer (max-width: 400px){.qa-answer>.qa-region.qa-cited.origin-rail{padding-left:8px}}}
