:root{--bg-app: #f3f6f4;--bg-sidebar: #e7eeea;--bg-card: rgba(255, 255, 255, .92);--bg-card-solid: #ffffff;--bg-card-hover: #edf3f0;--bg-elevated: #ffffff;--bg-subtle: rgba(25, 120, 110, .07);--bg-overlay: rgba(243, 246, 244, .92);--border-color: rgba(41, 87, 75, .16);--border-subtle: rgba(41, 87, 75, .1);--border-color-active: rgba(25, 120, 110, .48);--control-surface: rgba(25, 120, 110, .07);--control-surface-hover: rgba(25, 120, 110, .1);--control-border: rgba(41, 87, 75, .62);--control-border-strong: rgba(25, 120, 110, .78);--divider-color: rgba(41, 87, 75, .16);--text-main: #2b3d37;--text-muted: #60706a;--text-bright: #172622;--text-on-accent: #ffffff;--accent-cyan: #19786e;--accent-cyan-rgb: 25, 120, 110;--accent-pink: #a33a70;--accent-pink-rgb: 163, 58, 112;--accent-green: #39795f;--accent-green-rgb: 57, 121, 95;--accent-teal: #2f6c62;--accent-teal-bright: #3f8378;--accent-teal-rgb: 63, 131, 120;--accent-warning: #a46518;--accent-warning-rgb: 164, 101, 24;--accent-danger: #b2454b;--accent-danger-rgb: 178, 69, 75;--shadow-color: rgba(33, 58, 50, .14);--bg: var(--bg-app);--fg: var(--text-main);--muted: var(--text-muted);--line: var(--border-color);--accent: var(--accent-cyan);--correct: var(--accent-green);--wrong: var(--accent-danger);--card: var(--bg-card-solid);--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--shadow-1: 0 1px 2px var(--shadow-color);--shadow-2: 0 4px 16px var(--shadow-color);--shadow-3: 0 12px 32px var(--shadow-color);--page-max: 1040px;color:var(--text-main);background:var(--bg-app);font-family:Outfit,Noto Sans KR,Inter,Pretendard,ui-sans-serif,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}body{margin:0;background:var(--bg-app);color:var(--text-main);font-family:inherit;line-height:1.65;-webkit-font-smoothing:antialiased}.app{max-width:var(--page-max);margin:0 auto;padding:0 20px 80px}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 28px;padding:14px 0;border-bottom:1px solid var(--border-subtle);background:var(--bg-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header h1{font-size:20px;margin:0}.app-brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--text-bright);font-size:16.5px;font-weight:700;letter-spacing:-.01em}.app-brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent-cyan);color:var(--text-on-accent);font-size:13px;font-weight:700}.app-header nav{display:flex;align-items:center;gap:4px;flex:1;flex-wrap:wrap}.app-header nav a{padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--text-muted);font-size:14px;font-weight:500;transition:background .12s ease,color .12s ease}.app-header nav a:hover{background:var(--control-surface);color:var(--text-main)}.app-header nav a.active{color:var(--text-on-accent);background:var(--accent-cyan);font-weight:600}.count{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:var(--control-surface);font-size:12px;font-weight:600}.app-header nav a.active .count{background:#ffffff3d;color:var(--text-on-accent)}.meta{font-size:13px;color:var(--muted);margin-bottom:4px}h2{font-size:21px;margin:0 0 10px;letter-spacing:-.01em;color:var(--text-bright)}.prompt{white-space:pre-line;margin:0 0 16px}.visual{max-width:100%;display:block;margin:0 0 16px;border:1px solid var(--line);border-radius:8px}.choices{list-style:none;padding:0;margin:0;display:grid;gap:8px}.choices button{width:100%;text-align:left;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card-solid);color:var(--text-main);font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}.choices button:hover:enabled{background:var(--bg-card-hover);transform:translateY(-1px)}.choices button:hover:enabled{border-color:var(--accent)}.choices button.correct{border-color:var(--correct);color:var(--correct)}.choices button.wrong{border-color:var(--wrong);color:var(--wrong)}.choice-id{display:inline-block;width:22px;font-weight:700;color:var(--muted)}.explanation{margin-top:22px;padding:20px;background:var(--bg-card-solid);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-1)}.explanation .short{font-weight:600;margin:0 0 8px}.explanation .detailed{white-space:pre-line;margin:0}.explanation .distractor{margin:12px 0 0;color:var(--wrong)}.next{margin-top:18px;padding:11px 22px;border:0;border-radius:999px;background:var(--accent-cyan);color:var(--text-on-accent);font:inherit;font-weight:600;cursor:pointer;box-shadow:var(--shadow-1)}.next:hover{filter:brightness(1.08)}.empty{padding:40px;background:var(--bg-card-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-muted);box-shadow:var(--shadow-1)}.empty strong{color:var(--fg)}.draft-banner{font-size:13px;background:var(--card);border:1px dashed var(--line);border-radius:8px;padding:10px 12px;color:var(--muted)}.objective{font-size:17px;font-weight:600;margin:0 0 4px}.exam-relevance{font-size:14px;color:var(--muted);margin:0 0 20px}.prediction{border:1px solid var(--accent);border-radius:12px;padding:16px;margin-bottom:16px}.prediction h3{margin:0 0 8px;font-size:15px;color:var(--accent)}.prediction p{margin:0 0 12px}.choices button.picked{border-color:var(--accent);font-weight:600}.locked{color:var(--muted);font-size:14px;padding:16px;text-align:center}.stage-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.stage-nav button{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.stage-nav button.active{background:var(--accent-cyan);border-color:var(--accent-cyan);color:var(--text-on-accent)}.stage-panel{background:var(--bg-card-solid);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-1)}.stage-panel h3{margin:0 0 12px;font-size:16px}.field{margin-bottom:12px}.field-label{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.field ul{margin:0;padding-left:20px}.field p{margin:0}.final-hold{font-size:12px;color:var(--correct);margin:0}.module-exit{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.warn-inline{color:var(--wrong);font-size:13px}.review-hint{font-size:13px;color:var(--muted);margin-bottom:16px}.review-card{border:1px solid var(--border-color);border-radius:var(--radius);padding:20px;margin-bottom:16px;background:var(--bg-card-solid);box-shadow:var(--shadow-1)}.review-choices{margin:0 0 12px;padding-left:20px;display:grid;gap:10px}.review-choices li.correct{color:var(--correct)}.tag{margin-left:8px;padding:1px 6px;border-radius:4px;background:var(--correct);color:var(--bg);font-size:11px}.rationale{font-size:13px;color:var(--muted);margin-top:4px;padding-left:22px}.decision{margin-left:8px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);font-size:11px}.decision.accept{color:var(--correct);border-color:var(--correct)}.decision.revise{color:var(--accent);border-color:var(--accent)}.decision.discard{color:var(--wrong);border-color:var(--wrong)}.review-note{font-size:13px;background:var(--card);border-left:3px solid var(--accent);padding:8px 12px;margin:8px 0;white-space:pre-line}.error-type{font-family:ui-monospace,monospace;font-size:12px;color:var(--accent)}code{font-family:ui-monospace,monospace;font-size:12px}.mol-viewer{border:1px solid var(--line);border-radius:12px;margin:16px 0;overflow:hidden}.mol-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--line);font-size:13px}.mol-toolbar label{display:inline-flex;align-items:center;gap:4px;color:var(--muted);cursor:pointer}.mol-toolbar input{accent-color:var(--accent)}.mol-spacer{flex:1 1 auto}.mol-pg{padding:1px 8px;border-radius:999px;background:var(--accent);color:var(--bg);font-weight:600}.mol-viewer{user-select:none;-webkit-user-select:none}.mol-canvas{display:block;width:100%;touch-action:none;cursor:grab;background:var(--bg)}.mol-canvas:active{cursor:grabbing}.mol-canvas text{user-select:none;-webkit-user-select:none}.mol-atom-label{pointer-events:none}.mol-bond{stroke-linecap:round}.mol-atom{stroke:var(--line);stroke-width:1.5}.mol-atom-label{text-anchor:middle;font-weight:700;fill:var(--text-bright);pointer-events:none;paint-order:stroke;stroke:var(--bg-card-solid);stroke-width:2.5px}.mol-plane polygon{fill:var(--accent);fill-opacity:.14;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 4}.mol-plane text{fill:var(--accent);font-size:15px;font-weight:700;text-anchor:middle}.mol-axis{cursor:pointer}.mol-axis line{stroke:var(--wrong);stroke-width:2;stroke-dasharray:7 5}.mol-axis.principal line{stroke-width:3.5;stroke-dasharray:none}.mol-axis.improper line{stroke:var(--accent-pink);stroke-dasharray:3 4}.mol-axis text{fill:var(--wrong);font-size:15px;font-weight:700;text-anchor:middle}.mol-axis.improper text{fill:var(--accent-pink)}.mol-inversion{cursor:pointer}.mol-inversion circle{fill:var(--correct)}.mol-inversion text{fill:var(--correct);font-size:15px;font-weight:700}.mol-ops{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;border-top:1px solid var(--line);background:var(--card)}.mol-ops-title{font-size:12px;color:var(--muted);margin-right:4px}.mol-ops button{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--fg);font-size:13px;cursor:pointer}.mol-ops button:hover{border-color:var(--accent);color:var(--accent)}.mol-ops .mol-reset{border-style:dashed;color:var(--muted)}.mol-settled{margin:0;padding:10px 12px;font-size:13px;background:color-mix(in srgb,var(--correct) 12%,transparent);border-top:1px solid var(--line)}.mol-note,.mol-caption{margin:0;padding:8px 12px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line)}.mol-locked-hint{font-size:12px;color:var(--muted)}.landing{position:relative;min-height:100vh;display:grid;place-items:center;padding:48px 20px;overflow:hidden;background:var(--bg)}.landing-glow{position:absolute;inset:-30% -10% auto -10%;height:70vh;background:radial-gradient(42% 60% at 25% 40%,rgba(var(--accent-cyan-rgb),.14),transparent 70%),radial-gradient(38% 55% at 75% 30%,rgba(var(--accent-teal-rgb),.12),transparent 70%);filter:blur(26px);pointer-events:none}.landing-inner{position:relative;max-width:660px;text-align:center}.landing-eyebrow{display:inline-block;padding:4px 12px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;letter-spacing:.04em;color:var(--muted)}.landing-title{margin:18px 0 0;font-size:clamp(34px,7vw,56px);line-height:1.12;letter-spacing:-.02em}.landing-title-en{display:block;margin-top:6px;font-size:clamp(13px,2.2vw,16px);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.landing-lead{margin:20px auto 0;max-width:52ch;font-size:clamp(15px,2.4vw,17px);line-height:1.75;color:var(--muted)}.landing-lead strong{color:var(--fg)}.landing-cta{margin-top:30px;padding:14px 36px;border:none;border-radius:999px;background:var(--accent-cyan);box-shadow:var(--shadow-2);color:var(--text-on-accent);font-size:15.5px;font-weight:600;cursor:pointer;transition:transform .12s ease,filter .12s ease}.landing-cta:hover{transform:translateY(-1px);filter:brightness(1.08)}.landing-stats{margin:40px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.landing-stats>div{padding:14px 8px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.landing-stats dt{font-size:12px;color:var(--muted)}.landing-stats dd{margin:4px 0 0;font-size:22px;font-weight:700}.landing-note{margin-top:22px;font-size:12.5px;color:var(--muted)}.landing-subjects{margin:36px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.landing-subject-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:26px 24px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-card-solid);box-shadow:var(--shadow-1);color:inherit;text-align:left;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.landing-subject-card:hover{transform:translateY(-3px);border-color:var(--border-color-active);box-shadow:var(--shadow-2)}.landing-subject-name{font-size:19px;font-weight:700;letter-spacing:-.01em}.landing-subject-tagline{font-size:13px;line-height:1.55;color:var(--muted)}.landing-subject-stats{margin-top:4px;display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted)}.landing-subject-badge{position:absolute;top:16px;right:16px;padding:3px 10px;border-radius:999px;background:var(--control-surface);border:none;font-size:11px;font-weight:600;color:var(--text-muted)}.app-subject-switch{margin-left:auto;font-size:13px;opacity:.75}@media(max-width:520px){.landing-stats{grid-template-columns:repeat(2,1fr)}.landing-subjects{grid-template-columns:1fr}}.hub-head h2{margin:0;font-size:24px;letter-spacing:-.01em}.hub-head>p{margin:6px 0 0;color:var(--muted);font-size:14px}.hub-overall{margin-top:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hub-overall-text{font-size:13px;color:var(--muted)}.hub-bar{flex:1 1 180px;min-width:120px;height:7px;border-radius:999px;background:var(--control-surface);overflow:hidden}.hub-bar>span{display:block;height:100%;background:var(--accent-cyan);border-radius:999px}.hub-section{margin-top:34px}.hub-step{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px}.hub-step-num{padding:3px 10px;border-radius:999px;background:var(--accent-cyan);color:var(--text-on-accent);font-size:11px;font-weight:700;letter-spacing:.06em}.hub-step-title{font-size:17px;font-weight:700}.hub-step-sub{font-size:13px;color:var(--muted)}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.hub-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:22px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-card-solid);box-shadow:var(--shadow-1);color:var(--fg);text-align:left;cursor:pointer;transition:border-color .12s ease,transform .12s ease}.hub-card:hover{border-color:var(--border-color-active);transform:translateY(-3px);box-shadow:var(--shadow-2)}.hub-card h3{margin:0;font-size:16px;line-height:1.4}.hub-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.6}.hub-card-badge{padding:2px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--line);font-size:11px;color:var(--muted)}.hub-card--module .hub-card-badge{background:var(--bg-subtle);color:var(--accent-cyan);border-color:transparent;font-weight:600}.hub-card-meta{font-size:12px;color:var(--muted)}.hub-card-cta{margin-top:2px;font-size:13px;font-weight:600;color:var(--accent)}.hub-card .hub-bar{width:100%;flex:none}.hub-tiers{display:flex;gap:5px;flex-wrap:wrap}.hub-tier{padding:2px 7px;border-radius:6px;font-size:11px;border:1px solid var(--line)}.hub-tier--intro{color:var(--correct)}.hub-tier--core{color:var(--accent)}.hub-tier--adv{color:var(--wrong)}.hub-all{margin-top:14px;padding:9px 16px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.hub-all:hover{border-color:var(--accent);color:var(--accent)}.hub-empty{color:var(--muted);font-size:13px}.study-filters{display:grid;gap:8px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-card-solid);box-shadow:var(--shadow-1);margin-bottom:16px}.filter-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-label{font-size:12px;color:var(--muted);min-width:42px}.filter-row button{padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--fg);font-size:12.5px;cursor:pointer}.filter-row button:hover{border-color:var(--accent)}.filter-row button.on{background:var(--accent-cyan);color:var(--text-on-accent);border-color:transparent;font-weight:600}.study-progress{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:12.5px;color:var(--muted)}.tier-chip{padding:1px 7px;border-radius:6px;border:1px solid var(--line);font-size:11.5px}.tier-chip--intro{color:var(--correct)}.tier-chip--core{color:var(--accent)}.tier-chip--adv{color:var(--wrong)}.seen-chip{margin-left:8px;padding:1px 7px;border-radius:999px;font-size:11px;border:1px solid var(--line)}.seen-chip--correct{color:var(--correct)}.seen-chip--wrong{color:var(--wrong)}.empty-inline{color:var(--muted);font-size:14px}@media(prefers-color-scheme:dark){.landing-cta,.hub-step-num,.hub-card--module .hub-card-badge,.filter-row button.on{color:var(--text-bright)}}:root[data-theme=dark] .landing-cta,:root[data-theme=dark] .hub-step-num,:root[data-theme=dark] .hub-card--module .hub-card-badge,:root[data-theme=dark] .filter-row button.on{color:var(--text-bright)}:root[data-theme=light] .landing-cta,:root[data-theme=light] .hub-step-num,:root[data-theme=light] .hub-card--module .hub-card-badge,:root[data-theme=light] .filter-row button.on{color:var(--text-on-accent)}.drill-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.drill-head h2{margin:0;font-size:22px}.drill-head p{margin:5px 0 0;font-size:13.5px;color:var(--muted)}.drill-score{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}.drill-score strong{font-size:22px;color:var(--fg)}.drill-score button{padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--muted);font-size:12.5px;cursor:pointer}.drill-score button:hover{border-color:var(--accent);color:var(--accent)}.drill-meta{margin:14px 0 6px;font-size:12.5px;color:var(--muted)}.drill-prompt{margin:14px 0 10px;font-size:16px;font-weight:600}.drill-choices{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.drill-choices button{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg);font-size:17px;font-weight:600;cursor:pointer;transition:border-color .12s ease}.drill-choices button:hover:enabled{border-color:var(--accent)}.drill-choices button.correct{border-color:var(--correct);color:var(--correct)}.drill-choices button.wrong{border-color:var(--wrong);color:var(--wrong)}.drill-feedback{margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.drill-feedback p{margin:0 0 6px}.drill-feedback .ok{color:var(--correct);font-weight:700}.drill-feedback .no{color:var(--wrong);font-weight:700}.drill-why{font-size:14px;line-height:1.7;margin-bottom:8px}.drill-elements{font-size:13px;color:var(--muted);font-family:ui-monospace,monospace}.hub-card--drill{text-decoration:none}.app-brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;color:var(--fg)}.app-brand-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--accent);color:var(--text-on-accent);font-size:12px;font-weight:700}.admin-flag{padding:3px 10px;border-radius:999px;background:var(--wrong);color:var(--text-on-accent);font-size:12px;font-weight:600}.admin-footer{margin-top:28px;padding:12px 16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.lab-head h2{margin:0;font-size:24px;letter-spacing:-.01em}.lab-head>p{margin:6px 0 0;color:var(--muted);font-size:14px}.lab-head strong{color:var(--fg)}.lab-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}.lab-tabs button,.split-controls button{padding:8px 16px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-card-solid);color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer;transition:all .12s ease}.lab-tabs button:hover,.split-controls button:hover{border-color:var(--border-color-active);color:var(--text-main)}.lab-tabs button.on,.split-controls button.on{border-color:transparent;background:var(--accent-cyan);color:var(--text-on-accent);font-weight:600}.split{margin-top:22px;padding:26px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-card-solid);box-shadow:var(--shadow-1)}.split-head h3{margin:0;font-size:18px}.split-head>p{margin:6px 0 0;font-size:13.5px;color:var(--muted)}.split-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px}.split-controls-label{font-size:12px;color:var(--muted);margin-right:2px}.split-chain{display:flex;align-items:center;gap:0;margin:22px 0 0;padding:18px 12px;border-radius:12px;background:color-mix(in srgb,var(--fg) 4%,transparent);overflow-x:auto}.split-chain-cell{display:flex;align-items:center}.split-bond{width:18px;height:1.5px;background:var(--muted);flex:none}.split-group{padding:7px 11px;border:1.5px solid transparent;border-radius:9px;font-size:15px;font-weight:600;white-space:nowrap}.split-group--carrier{border-color:var(--accent-cyan);background:var(--accent-cyan);color:var(--text-on-accent)}.split-group--neighbor{border-style:dashed}.split-question{margin:18px 0 0;font-size:14.5px}.split-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.split-choices button{min-width:46px;padding:9px 0;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);font-size:14px;font-weight:600;cursor:pointer}.split-choices button:disabled{cursor:default;opacity:.45}.split-choices button.correct{border-color:var(--accent-green);color:var(--accent-green);background:rgba(var(--accent-green-rgb),.08);opacity:1}.split-choices button.wrong{border-color:var(--accent-danger);color:var(--accent-danger);background:rgba(var(--accent-danger-rgb),.08);opacity:1}.split-reveal{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.split-verdict{margin:0;font-size:14px}.split-verdict--right{color:var(--accent-green)}.split-verdict--wrong{color:var(--accent-danger)}.split-rule{margin:10px 0 0;font-size:13.5px;color:var(--muted)}.split-rule code{margin-left:8px;padding:2px 8px;border-radius:6px;background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--fg);font-weight:600}.split-tree{margin-top:18px}.split-tree-row{display:block;width:100%;height:26px;overflow:visible}.split-tree-caption{margin:2px 0 12px;font-size:12px;color:var(--muted);text-align:center}.split-tree-caption strong{color:var(--fg)}.split-source{margin:14px 0 0;font-size:11.5px;color:var(--muted)}.split-retry{margin-top:14px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--fg);font-size:13px;cursor:pointer}.lab-stations{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:20px 0 4px}.lab-station{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:15px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-card-solid);color:var(--text-main);text-align:left;cursor:pointer;box-shadow:var(--shadow-1);transition:border-color .12s ease,box-shadow .12s ease}.lab-station:hover{border-color:var(--border-color-active);box-shadow:var(--shadow-2)}.lab-station.on{border-color:var(--accent-cyan);background:var(--bg-subtle);box-shadow:none}.lab-station-name{font-size:14.5px;font-weight:700}.lab-station-sub{font-size:11.5px;color:var(--muted)}.ir-station{margin-top:18px}.ir-lead{margin:0 0 14px;font-size:13.5px;color:var(--muted)}.ir-lead strong,.ir-hint strong{color:var(--fg)}.ir-formula{margin:14px 0 6px;font-size:16px;font-weight:600}.ir-axis{position:relative}.ir-track{position:relative;height:92px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--fg) 4%,transparent);overflow:hidden;cursor:crosshair;touch-action:none}.ir-track--blank{cursor:pointer}.ir-track--blank.is-answered{cursor:default}.ir-ticks{position:relative;height:20px;margin-top:4px}.ir-ticks span{position:absolute;transform:translate(-50%);font-size:11px;color:var(--muted)}.ir-band{position:absolute;top:14px;bottom:14px;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--fg) 6%,transparent);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted);overflow:hidden;white-space:nowrap;transition:opacity .1s ease}.ir-band--broad{border-style:dashed}.ir-band--on{border-color:var(--accent);color:var(--fg);background:color-mix(in srgb,var(--accent) 18%,transparent)}.ir-band--faded{opacity:.32}.ir-boundary{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed var(--accent-danger)}.ir-boundary span{position:absolute;top:2px;left:4px;font-size:10.5px;color:var(--accent-danger);font-weight:700}.ir-cursor{position:absolute;top:0;bottom:0;width:0;border-left:2px solid var(--accent);pointer-events:none}.ir-cursor--guess{border-left-style:dotted}.ir-readout{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:12px}.ir-readout-value{font-size:20px;font-weight:700}.ir-readout-zone{font-size:12.5px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.ir-readout-zone.up{border-color:var(--accent);color:var(--accent)}.ir-hits{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}.ir-hits li{padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-size:13px}.ir-hits li p{margin:5px 0 0;color:var(--muted);font-size:12.5px;line-height:1.55}.ir-hit-ctx{color:var(--muted);margin-left:6px;font-size:12px}.ir-hit-shape{float:right;font-size:11px;color:var(--muted)}.ir-hit-key{margin-left:8px;padding:1px 7px;border-radius:5px;background:var(--accent);color:var(--text-on-accent);font-size:10.5px}.ir-hits-empty{margin-top:14px;font-size:13px;color:var(--muted)}.ir-result{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.ir-verdict{margin:0;font-size:14px}.ir-verdict--right{color:var(--accent-green)}.ir-verdict--wrong{color:var(--accent-danger)}.ir-hint{margin:8px 0 0;font-size:12.5px;color:var(--muted);line-height:1.6}.ir-next{margin-top:14px;padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--fg);font-size:13px;cursor:pointer}.ir-next:hover{border-color:var(--accent)}.ir-score{margin:12px 0 0;font-size:12px;color:var(--muted)}.ms-axis{margin-top:14px}.ms-plot{position:relative;height:170px;border-bottom:1.5px solid var(--line);background:color-mix(in srgb,var(--fg) 3%,transparent);border-radius:8px 8px 0 0}.ms-peak{position:absolute;bottom:0;width:4px;padding:0;border:none;background:var(--muted);cursor:pointer;transform:translate(-50%)}.ms-peak:disabled{cursor:default}.ms-peak.on{background:var(--accent);width:6px}.ms-peak-label{position:absolute;top:-17px;left:50%;transform:translate(-50%);font-size:10.5px;color:var(--muted);white-space:nowrap}.ms-peak.on .ms-peak-label{color:var(--accent);font-weight:700}.ms-ticks{position:relative;height:18px;margin-top:3px}.ms-ticks span{position:absolute;transform:translate(-50%);font-size:11px;color:var(--muted)}.ms-axis-label{margin:0;text-align:center;font-size:11.5px;color:var(--muted)}.ms-mion{margin-left:10px;font-size:12.5px;color:var(--muted);font-weight:400}.ms-detail{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.ms-detail-eq{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ms-chip{padding:4px 11px;border-radius:8px;border:1px solid var(--line);font-size:13px;font-weight:600}.ms-chip--lost{border-color:var(--accent-danger);color:var(--accent-danger)}.ms-chip--result{border-color:var(--accent);color:var(--accent)}.ms-minus,.ms-eq{color:var(--muted)}.ms-ratio{margin:0;font-size:15px}.ms-teaching{margin:18px 0 0;font-size:12.5px;color:var(--muted);line-height:1.6}.ms-loss-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.ms-loss{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-card-solid);color:var(--text-main);text-align:left;cursor:pointer;min-height:96px;box-shadow:var(--shadow-1)}.ms-loss.on{border-color:var(--accent-cyan);background:var(--bg-subtle)}.ms-loss-delta{font-size:19px;font-weight:700}.ms-loss-ask{font-size:19px;color:var(--muted)}.ms-loss-name{font-size:14px;font-weight:600;color:var(--accent)}.ms-loss-hint{font-size:11.5px;color:var(--muted);line-height:1.5}.lab-pending{margin:18px 0 0;padding:11px 14px;border:1px dashed var(--accent-danger);border-radius:10px;font-size:12.5px;line-height:1.6;color:var(--muted)}.lab-pending strong{color:var(--accent-danger)}.ir-chart,.ms-chart{display:block;width:100%;height:auto;aspect-ratio:10 / 3;margin-top:14px;border:1px solid var(--line);border-radius:12px;background:var(--card);touch-action:none}.ir-chart--pick{cursor:crosshair}.ir-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4;opacity:.65}.ir-axis-line{stroke:var(--muted);stroke-width:1.2;opacity:.75}.ir-xlabel,.ir-ylabel{fill:var(--muted);font-size:15px;font-family:inherit}.ir-xlabel{text-anchor:middle}.ir-ylabel{text-anchor:end}.ir-axis-title{fill:var(--muted);font-size:14px;text-anchor:middle;letter-spacing:.02em}.ir-fingerprint{fill:var(--fg);opacity:.035}.ir-fingerprint-label{fill:var(--muted);font-size:13px;text-anchor:middle;opacity:.8}.ir-zone{fill:var(--fg);opacity:.05}.ir-zone--on{fill:var(--accent);opacity:.2}.ir-zone-label{fill:var(--muted);font-size:14px;text-anchor:middle;opacity:0;transition:opacity .12s ease}.ir-zone-label.on{fill:var(--accent);opacity:1;font-weight:700}.ir-curve{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ir-boundary-line{stroke:var(--accent-danger);stroke-width:1.6;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.ir-boundary-text{fill:var(--accent-danger);font-size:14px;font-weight:700}.ir-cursor-line{stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.ir-cursor-dot{fill:var(--accent)}.ir-guess-line{stroke:var(--muted);stroke-width:2;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.ms-bar-line{stroke:var(--muted);stroke-width:2.5;vector-effect:non-scaling-stroke}.ms-bar.pick{cursor:pointer}.ms-bar.pick:hover .ms-bar-line{stroke:var(--fg)}.ms-bar.on .ms-bar-line{stroke:var(--accent);stroke-width:4}.ms-bar-label{fill:var(--muted);font-size:14px;text-anchor:middle}.ms-bar-label.base{fill:var(--fg);font-weight:700}.ms-bar.on .ms-bar-label{fill:var(--accent);font-weight:700}.ms-mion-line{stroke:var(--accent);stroke-width:1.2;stroke-dasharray:3 5;opacity:.6}.ms-mion-tag{fill:var(--accent);font-size:14px;font-weight:700;text-anchor:middle}
