:root {
  --bg: #090b0e;
  --panel: #12161b;
  --panel-2: #191e24;
  --line: rgba(255,255,255,.13);
  --text: #f0f1ed;
  --muted: #9aa0a7;
  --amber: #f5b83d;
  --cyan: #4bd8e4;
  --orange: #ff6a2a;
  --sans: "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;
  --cond: "Bahnschrift Condensed", "Arial Narrow", "Segoe UI", "Microsoft YaHei UI", sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: var(--sans); }
body { overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.noise { position: fixed; inset: 0; pointer-events: none; opacity: .045; z-index: 99; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.topbar { height: 76px; display: flex; align-items: stretch; position: fixed; inset: 0 0 auto; z-index: 50; background: rgba(9,11,14,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.brand { width: 240px; border: 0; border-right: 1px solid var(--line); background: transparent; display: flex; align-items: center; padding: 0 27px; gap: 13px; cursor: pointer; text-align: left; }
.brand-mark { display: grid; place-items: center; width: 36px; height: 42px; font: 700 29px var(--cond); color: var(--bg); background: var(--text); transform: skew(-7deg); }
.brand b { display: block; font-size: 17px; letter-spacing: .14em; }
.brand small { display: block; font: 600 10px var(--cond); letter-spacing: .25em; color: var(--muted); margin-top: 3px; }
.nav { display: flex; }
.nav-item { width: 116px; background: transparent; border: 0; border-right: 1px solid var(--line); cursor: pointer; font-weight: 600; letter-spacing: .08em; color: #aeb3b8; position: relative; transition: .2s; }
.nav-item span { color: #5d646c; font: 600 10px var(--cond); position: absolute; top: 11px; left: 12px; }
.nav-item::after { content: ""; position: absolute; inset: auto 18px 0; height: 3px; background: var(--amber); transform: scaleX(0); transition: .2s; }
.nav-item:hover, .nav-item.active { color: white; background: rgba(255,255,255,.035); }
.nav-item.active::after { transform: scaleX(1); }
.resources { margin-left: auto; display: flex; align-items: stretch; }
.level { border-left: 1px solid var(--line); padding: 15px 22px; min-width: 118px; }
.level span, .currency::before { display: block; font-size: 9px; color: var(--muted); letter-spacing: .12em; }
.level b { font: 700 22px var(--cond); }
.level i { font-style: normal; color: var(--cyan); }
.currency { min-width: 155px; display: flex; align-items: center; gap: 12px; padding: 0 24px; border-left: 1px solid var(--line); }
.currency span { color: var(--amber); font-size: 25px; }
.currency b { font: 700 22px var(--cond); letter-spacing: .06em; }
main { padding-top: 76px; }
.view { display: none; min-height: calc(100vh - 76px); }
.view.active { display: block; animation: viewIn .35s ease; }
@keyframes viewIn { from { opacity: 0; transform: translateY(8px); } }
.hero { min-height: calc(100vh - 76px); position: relative; overflow: hidden; background: #0b0e12; }
.hero-art { position: absolute; inset: 0 280px 0 0; background-image: url("assets/operators/full/limit-critical.webp"); background-size: cover; background-position: center 27%; filter: saturate(.72) contrast(1.04); }
.hero-vignette { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,10,13,.94) 0%, rgba(8,10,13,.35) 25%, transparent 50%, rgba(8,10,13,.3) 66%, #0b0e12 81%), linear-gradient(0deg, #090b0e 0, transparent 24%, rgba(4,5,7,.25) 100%); }
.hero-grid { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.11) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, black, transparent 70%); }
.banner-copy { position: absolute; left: clamp(35px, 5vw, 90px); top: clamp(55px, 8vh, 110px); z-index: 2; width: 470px; }
.eyebrow { display: flex; align-items: center; gap: 12px; font: 600 12px var(--cond); letter-spacing: .16em; }
.eyebrow span { color: var(--amber); }
.eyebrow i { width: 42px; height: 1px; background: rgba(255,255,255,.4); }
.eyebrow b { font: 500 11px var(--sans); color: var(--muted); }
.chapter { margin: 22px 0 0; color: #7d858d; font: 600 11px var(--cond); letter-spacing: .3em; }
.banner-copy h1 { margin: 7px 0 30px; font-size: clamp(45px, 5.4vw, 78px); line-height: 1.04; letter-spacing: -.06em; font-weight: 900; text-shadow: 0 3px 35px #000; }
.banner-copy h1 em { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.75); font-style: normal; }
.featured-name { padding-left: 19px; border-left: 4px solid var(--amber); text-shadow: 0 2px 18px #000; }
.stars { color: var(--amber); font: 700 15px var(--cond); letter-spacing: .08em; }
.featured-name h2 { font-size: 31px; margin: 2px 0 1px; letter-spacing: .08em; }
.featured-name h2 span { color: #b2b8be; font-weight: 500; }
.featured-name p { margin: 0; color: #c1c5c9; font-size: 12px; letter-spacing: .16em; }
blockquote { margin: 28px 0 0; font-size: 13px; color: #c1c5ca; padding: 10px 16px; background: rgba(0,0,0,.45); display: inline-block; }
.banner-panel { position: absolute; z-index: 3; right: 0; top: 0; bottom: 0; width: 395px; padding: 54px 42px 34px; background: linear-gradient(145deg, rgba(28,33,39,.97), rgba(11,13,16,.98)); border-left: 1px solid rgba(255,255,255,.14); box-shadow: -30px 0 70px rgba(0,0,0,.4); }
.panel-kicker { color: var(--amber); font: 600 10px var(--cond); letter-spacing: .27em; }
.banner-panel h3 { font-size: 39px; line-height: 1.06; margin: 8px 0 15px; letter-spacing: -.04em; }
.banner-panel > p { color: var(--muted); font-size: 13px; line-height: 1.8; }
.rate-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); margin: 23px 0; }
.rate-grid div { padding: 10px 6px; text-align: center; border-right: 1px solid var(--line); }
.rate-grid div:last-child { border: 0; }
.rate-grid b { display: block; font: 700 14px var(--cond); }
.rate-grid span { font: 700 17px var(--cond); color: var(--amber); }
.pity { border-top: 1px solid var(--line); padding-top: 17px; }
.pity > div:first-child { display: flex; justify-content: space-between; font-size: 11px; color: var(--muted); }
.pity b { color: white; }
.pity-track { height: 4px; margin: 10px 0 8px; background: #343a40; overflow: hidden; }
.pity-track i { display: block; width: 0; height: 100%; background: var(--amber); transition: width .4s; }
.pity small { font-size: 10px; color: #70777e; line-height: 1.5; }
.recruit-actions { display: grid; grid-template-columns: 1fr 1.18fr; gap: 10px; margin-top: 26px; }
.pull-btn { height: 78px; border: 1px solid rgba(255,255,255,.24); cursor: pointer; position: relative; overflow: hidden; text-align: left; padding: 11px 13px; transition: .2s; }
.pull-btn::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 40%, rgba(255,255,255,.13), transparent 65%); transform: translateX(-120%); transition: .4s; }
.pull-btn:hover::before { transform: translateX(120%); }
.pull-btn span, .pull-btn b { position: relative; display: block; }
.pull-btn span { font-weight: 800; font-size: 16px; }
.pull-btn b { font: 700 15px var(--cond); margin-top: 6px; }
.pull-btn.single { background: #30363c; }
.pull-btn.ten { background: var(--amber); color: #17130b; border-color: var(--amber); }
.pull-btn.ten small { position: absolute; right: 6px; bottom: 4px; font-size: 8px; }
.history-btn { width: 100%; margin-top: 12px; background: transparent; border: 0; color: var(--muted); font-size: 11px; cursor: pointer; display: flex; justify-content: space-between; padding: 9px 0; }
.history-btn:hover { color: white; }
.scroll-cue { position: absolute; bottom: 22px; left: 33%; color: #777e85; font: 600 9px var(--cond); letter-spacing: .22em; display: flex; align-items: center; gap: 12px; }
.scroll-cue i { width: 70px; height: 1px; background: #555; }
.page-heading { max-width: 1400px; margin: 0 auto; padding: 66px 45px 34px; display: flex; align-items: end; justify-content: space-between; }
.page-heading > div:first-child { position: relative; }
.section-no { position: absolute; left: -29px; top: -16px; color: rgba(255,255,255,.04); font: 800 100px var(--cond); line-height: 1; }
.page-heading p { margin: 0 0 5px; color: var(--amber); font: 600 11px var(--cond); letter-spacing: .25em; }
.page-heading h1 { margin: 0; font-size: 43px; line-height: 1; letter-spacing: -.03em; }
.progress-card { width: 280px; }
.progress-card > span { color: var(--muted); font-size: 11px; }
.progress-card b { float: right; font: 700 19px var(--cond); }
.progress-card b i { font-style: normal; }
.progress-card > div { clear: both; height: 5px; margin-top: 9px; background: #30353a; }
.progress-card em { display: block; width: 0; height: 100%; background: var(--amber); transition: .3s; }
.filter-row { max-width: 1400px; margin: 0 auto; padding: 0 45px 26px; display: flex; gap: 12px; }
.filter-group { display: flex; border: 1px solid var(--line); }
.filter-group button { background: transparent; border: 0; border-right: 1px solid var(--line); padding: 10px 20px; cursor: pointer; color: var(--muted); font-size: 12px; }
.filter-group button:last-child { border: 0; }
.filter-group button.active { color: #141414; background: var(--text); font-weight: 700; }
.search { margin-left: auto; width: 260px; border: 1px solid var(--line); display: flex; align-items: center; padding: 0 12px; background: #11151a; }
.search span { font-size: 21px; color: var(--muted); }
.search input { width: 100%; background: transparent; border: 0; outline: 0; color: white; padding: 9px; font-size: 12px; }
.filter-row select, .workshop-list select { background: #11151a; color: var(--text); border: 1px solid var(--line); padding: 0 15px; outline: none; }
.operator-grid { max-width: 1400px; margin: 0 auto; padding: 0 45px 70px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.operator-card { min-height: 285px; position: relative; overflow: hidden; border: 1px solid var(--line); background: #161a1f; cursor: pointer; isolation: isolate; transition: transform .2s, border-color .2s; }
.operator-card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.45); }
.operator-card.locked { filter: grayscale(.8); }
.operator-card.locked:hover { filter: grayscale(.3); }
.card-visual { position: absolute; inset: 0; background: radial-gradient(circle at 60% 35%, var(--card-soft), transparent 45%), linear-gradient(145deg, #242a31, #0d1014 76%); }
.card-visual.has-art { background-image: linear-gradient(0deg, #0a0c0f 0%, transparent 58%), var(--operator-art); background-size: cover; background-position: 54% 27%; }
.card-glyph { position: absolute; inset: 14% 0 auto; text-align: center; font: 700 94px var(--cond); color: var(--card-color); opacity: .22; text-shadow: 0 0 35px var(--card-color); }
.operator-card.locked .card-glyph { filter: blur(3px); }
.card-lines { position: absolute; inset: 0; background: repeating-linear-gradient(115deg, transparent 0 24px, rgba(255,255,255,.028) 25px 26px); }
.card-rarity { position: absolute; top: 10px; left: 11px; font: 700 12px var(--cond); color: var(--card-color); letter-spacing: .02em; }
.new-tag { position: absolute; top: 0; right: 0; background: var(--orange); color: white; padding: 4px 8px; font: 700 9px var(--cond); letter-spacing: .12em; }
.lock-mark { position: absolute; inset: 0; display: grid; place-items: center; font: 700 22px var(--cond); letter-spacing: .25em; color: rgba(255,255,255,.24); transform: rotate(-18deg); }
.card-info { position: absolute; inset: auto 0 0; padding: 27px 12px 12px; background: linear-gradient(transparent, rgba(6,7,9,.96) 37%); }
.card-info small { color: var(--card-color); font-size: 9px; letter-spacing: .13em; }
.card-info h3 { font-size: 19px; margin: 3px 0 3px; }
.card-info p { color: #91979d; margin: 0; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.exam-usage-list { display:flex; flex-wrap:wrap; gap:4px; margin-top:7px; }
.exam-usage { display:inline-block; padding:3px 6px; border:1px solid rgba(245,184,61,.28); color:var(--amber); font-size:8px; font-style:normal; letter-spacing:.08em; }
.exam-usage.mock { border-color:rgba(190,137,255,.42); color:#c9a8ff; }
.potential { position: absolute; right: 9px; bottom: 11px; border: 1px solid var(--card-color); color: var(--card-color); padding: 2px 5px; font: 700 9px var(--cond); }
.heading-note { width: 480px; color: var(--muted)!important; font: 400 13px/1.8 var(--sans)!important; letter-spacing: 0!important; }
.page-heading.compact { padding-bottom: 45px; }
.workshop-layout { max-width: 1310px; margin: 0 auto; padding: 0 45px 70px; display: grid; grid-template-columns: 340px 1fr; gap: 28px; }
.workshop-list > label { display: grid; gap: 8px; font-size: 11px; color: var(--muted); }
.workshop-list select { height: 48px; }
.portrait-preview { margin-top: 16px; height: 460px; position: relative; overflow: hidden; border: 1px solid var(--line); background: radial-gradient(circle at 50% 33%, rgba(75,216,228,.18), transparent 36%), linear-gradient(150deg, #252b31, #0d1013); }
.portrait-preview.has-art { background-image: linear-gradient(0deg, rgba(7,9,11,.8), transparent 45%), var(--operator-art); background-size: cover; background-position: center 23%; }
.preview-symbol { position: absolute; inset: 25% 0 auto; text-align: center; font: 700 150px var(--cond); color: rgba(255,255,255,.16); }
.portrait-preview.has-art .preview-symbol { display: none; }
.preview-status { position: absolute; bottom: 0; left: 0; right: 0; padding: 18px; display: flex; justify-content: space-between; background: rgba(8,10,13,.85); }
.preview-status span { font: 600 9px var(--cond); color: var(--muted); letter-spacing: .18em; }
.preview-status b { color: var(--amber); font-size: 11px; }
.prompt-console { border: 1px solid var(--line); min-height: 535px; padding: 31px; position: relative; background: linear-gradient(145deg, rgba(27,32,38,.82), rgba(13,16,20,.9)); }
.prompt-console::after { content: "+"; position: absolute; right: 12px; bottom: 5px; color: #51575e; font: 300 27px var(--cond); }
.console-head { display: flex; align-items: center; gap: 12px; color: var(--muted); font: 600 10px var(--cond); letter-spacing: .2em; }
.console-head i { flex: 1; height: 1px; background: var(--line); }
.console-head b { color: var(--amber); }
.prompt-console h2 { font-size: 34px; margin: 25px 0 5px; }
.prompt-console > p { color: var(--muted); font-size: 12px; line-height: 1.8; }
code { color: var(--cyan); }
.prompt-console textarea { width: 100%; height: 290px; resize: none; background: #090c0f; color: #bdc5cc; border: 1px solid var(--line); padding: 18px; font: 12px/1.7 Consolas, monospace; outline: none; }
.console-actions { display: flex; justify-content: end; gap: 10px; margin-top: 15px; }
.console-actions button { border: 1px solid var(--line); background: #292f35; padding: 11px 22px; cursor: pointer; }
.console-actions button:first-child { background: var(--amber); color: #15120b; border-color: var(--amber); font-weight: 700; }
.rules-grid { max-width: 1310px; padding: 0 45px 35px; margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.rule-card { min-height: 405px; background: #14181d; border: 1px solid var(--line); padding: 31px 24px; position: relative; overflow: hidden; }
.rule-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--rule); }
.rule-star { font: 800 100px/1 var(--cond); color: var(--rule); opacity: .12; position: absolute; right: 12px; top: 5px; }
.rule-card > span { color: var(--rule); font: 700 11px var(--cond); letter-spacing: .14em; }
.rule-card h2 { font-size: 23px; margin: 42px 0 12px; }
.rule-card p { color: var(--muted); font-size: 12px; line-height: 1.8; min-height: 87px; }
.rule-card ul { padding: 17px 0 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.rule-card li { padding: 6px 0; font-size: 11px; color: #c9cdd1; }
.rule-card li::before { content: "▰"; color: var(--rule); font-size: 7px; margin-right: 9px; }
.r6 { --rule:#ffbe42; } .r5 { --rule:#db8cff; } .r4 { --rule:#56cde4; } .r3 { --rule:#9ba3ab; }
.score-formula { max-width: 1220px; margin: 0 auto 60px; border-left: 3px solid var(--amber); background: #14181d; padding: 18px 22px; display: flex; align-items: center; gap: 30px; }
.score-formula span { font: 700 10px var(--cond); letter-spacing: .2em; color: var(--amber); }
.score-formula p { margin: 0; font-size: 13px; }
.coverage-summary { max-width: 1310px; margin: 0 auto; padding: 0 45px 30px; display: grid; grid-template-columns: repeat(6,1fr); gap: 10px; }
.coverage-card { min-height: 145px; padding: 17px; text-align: left; color: var(--text); border: 1px solid var(--line); background: linear-gradient(145deg,#1b2026,#101318); cursor: pointer; position: relative; overflow: hidden; }
.coverage-card::after { content:""; position:absolute; width:70px; height:70px; border:1px solid rgba(255,255,255,.04); transform:rotate(45deg); right:-27px; top:-28px; }
.coverage-card:hover { border-color: rgba(255,255,255,.42); }
.coverage-card > span { color: var(--amber); font: 600 8px var(--cond); letter-spacing:.18em; }
.coverage-card h3 { font-size:16px; margin:7px 0 12px; }
.coverage-card > b { font:700 28px var(--cond); }
.coverage-card > b small { color:var(--muted); font:500 9px var(--sans); }
.coverage-card > div { height:3px; background:#343a40; margin-top:12px; }
.coverage-card > div i { display:block; height:100%; background:var(--amber); }
.coverage-card p { margin:6px 0 0; color:var(--muted); font-size:9px; }
#knowledgeBridgeHub { max-width:1310px; margin:0 auto; padding:0 45px 22px; }
.knowledge-bridge-hub { border:1px solid rgba(92,207,228,.28); background:linear-gradient(130deg,rgba(28,48,55,.72),rgba(14,18,23,.96) 48%,rgba(25,21,34,.88)); box-shadow:0 16px 50px rgba(0,0,0,.18); overflow:hidden; }
.knowledge-bridge-hub > header { min-height:112px; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:25px; border-bottom:1px solid var(--line); position:relative; }
.knowledge-bridge-hub > header::before { content:'H  L  P  M'; position:absolute; right:225px; top:9px; color:rgba(255,255,255,.035); font:800 58px var(--cond); letter-spacing:.08em; pointer-events:none; }
.knowledge-bridge-hub > header span { color:#78dcea; font:700 8px var(--cond); letter-spacing:.2em; }
.knowledge-bridge-hub > header h2 { margin:4px 0 7px; font-size:23px; }
.knowledge-bridge-hub > header p { max-width:680px; margin:0; color:#aeb7bc; font-size:11px; line-height:1.75; }
.knowledge-bridge-hub > header > a { min-width:155px; padding:12px 15px; color:#071014; background:#78dcea; text-align:center; text-decoration:none; font-size:11px; font-weight:800; position:relative; z-index:1; }
.kb-hub-stats { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); }
.kb-hub-stats > div { min-height:72px; padding:14px 20px; border-right:1px solid var(--line); }
.kb-hub-stats > div:last-child { border:0; }
.kb-hub-stats b { display:block; font:800 25px var(--cond); color:#f2f4f1; }
.kb-hub-stats b small { color:#758087; font-size:13px; }
.kb-hub-stats span { color:#8f999f; font-size:9px; }
.kb-hub-actions { display:grid; grid-template-columns:repeat(4,1fr); }
.kb-hub-actions > a,.kb-hub-actions > button { min-height:75px; padding:15px 17px; border:0; border-right:1px solid var(--line); color:var(--text); background:rgba(255,255,255,.018); text-align:left; text-decoration:none; cursor:pointer; }
.kb-hub-actions > :last-child { border-right:0; }
.kb-hub-actions > a:hover,.kb-hub-actions > button:hover { background:rgba(120,220,234,.08); }
.kb-hub-actions b { display:block; margin-bottom:6px; font-size:11px; }
.kb-hub-actions span { color:#818c92; font-size:9px; }
.kb-sync-ok,.kb-sync-warning { margin:0; padding:10px 18px; border-top:1px solid var(--line); color:#86cba0; background:rgba(75,180,113,.045); font-size:9px; }
.kb-sync-warning { color:#e2a26f; background:rgba(226,132,73,.05); }
.syllabus-toolbar { max-width:1310px; margin:0 auto; padding:0 45px 25px; display:flex; justify-content:space-between; }
.scope-switch { display:flex; border:1px solid var(--line); }
.scope-switch button { padding:10px 21px; background:transparent; border:0; border-right:1px solid var(--line); color:var(--muted); cursor:pointer; font-size:11px; }
.scope-switch button:last-child { border:0; }
.scope-switch button.active { background:var(--text); color:#111; font-weight:700; }
.syllabus-columns { max-width:1310px; margin:0 auto; padding:0 45px 80px; display:grid; grid-template-columns:repeat(3,1fr); align-items:start; gap:18px; }
.subject-column { border:1px solid var(--line); background:#11151a; }
.subject-column > header { height:84px; padding:15px 18px; position:relative; border-bottom:1px solid var(--line); background:linear-gradient(120deg,rgba(255,255,255,.04),transparent); }
.subject-column > header span { color:var(--amber); font:600 8px var(--cond); letter-spacing:.2em; }
.subject-column > header h2 { margin:3px 0; font-size:23px; }
.subject-column > header b { position:absolute; right:17px; bottom:9px; color:rgba(255,255,255,.1); font:800 47px var(--cond); }
.subject-column details { border-bottom:1px solid var(--line); }
.subject-column summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; padding:13px 17px; font-size:11px; font-weight:700; }
.subject-column summary::-webkit-details-marker { display:none; }
.subject-column summary span::before { content:'▾'; color:var(--amber); margin-right:9px; }
.subject-column details:not([open]) summary span::before { content:'▸'; }
.subject-column summary b { color:var(--muted); font:600 11px var(--cond); }
.point-list { background:#0d1014; }
.point-list button { width:100%; min-height:49px; display:grid; grid-template-columns:8px 1fr auto; align-items:center; gap:10px; padding:8px 15px; text-align:left; border:0; border-top:1px solid rgba(255,255,255,.055); background:transparent; color:#c4c9ce; cursor:pointer; }
.point-list button:hover { background:rgba(255,255,255,.045); color:white; }
.point-list button > i { width:5px; height:5px; border-radius:50%; background:var(--dot); box-shadow:0 0 7px var(--dot); opacity:.35; }
.point-list button.owned > i { opacity:1; }
.point-list button span { font-size:10px; }
.point-list button small { display:block; color:#626970; margin-top:2px; font-size:8px; }
.point-list button > b { color:var(--dot); font:600 9px var(--cond); }
.modal { display: none; position: fixed; inset: 0; z-index: 100; }
.modal.open { display: grid; place-items: center; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(3,4,6,.84); backdrop-filter: blur(8px); }
.result-shell, .history-shell { position: relative; z-index: 1; width: min(1160px, 92vw); border: 1px solid rgba(255,255,255,.22); background: #11151a; box-shadow: 0 30px 90px #000; animation: modalIn .25s ease; }
@keyframes modalIn { from { opacity: 0; transform: scale(.97) translateY(10px); } }
.result-top { height: 55px; display: flex; align-items: center; border-bottom: 1px solid var(--line); padding: 0 19px; font: 600 11px var(--cond); letter-spacing: .2em; }
.result-top b { margin-left: auto; color: var(--amber); }
.close-modal { margin-left: 18px; background: transparent; border: 0; font-size: 27px; color: var(--muted); cursor: pointer; }
.result-grid { padding: 24px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 11px; min-height: 270px; }
.result-grid.single-result { grid-template-columns: 230px; justify-content: center; }
.result-grid .operator-card { min-height: 250px; animation: reveal .45s backwards; }
@keyframes reveal { from { opacity: 0; transform: translateY(35px) rotateX(15deg); filter: brightness(2); } }
.result-footer { border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; }
.result-footer p { color: var(--muted); font-size: 10px; }
.result-footer button { background: var(--amber); color: #18140b; border: 0; padding: 10px 42px; font-weight: 700; cursor: pointer; }
.detail-shell { position: relative; z-index: 1; width: min(1120px, 94vw); height: min(720px, 90vh); overflow: hidden; border: 1px solid var(--line); background: #11151a; display: grid; grid-template-columns: 36% 64%; animation: modalIn .25s ease; }
.detail-art { min-height: 550px; position: relative; background: radial-gradient(circle at 55% 28%, var(--card-soft), transparent 37%), linear-gradient(145deg, #2b3137, #0b0e12); overflow: hidden; }
.detail-art.has-art { background-image: linear-gradient(0deg, rgba(7,9,11,.88), transparent 45%), var(--operator-art); background-size: cover; background-position: center 24%; }
.detail-glyph { font: 700 180px var(--cond); color: var(--card-color); opacity: .2; position: absolute; inset: 25% 0 auto; text-align: center; }
.detail-rarity { position: absolute; top: 22px; left: 22px; color: var(--card-color); letter-spacing: .12em; }
.detail-id { position: absolute; bottom: 18px; left: 20px; color: #8d949a; font: 600 9px var(--cond); letter-spacing: .2em; }
.detail-data { padding: 34px 38px 45px; position: relative; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #50565d #15191e; }
.detail-close { position: absolute; top: 15px; right: 18px; border: 0; background: transparent; color: var(--muted); font-size: 28px; cursor: pointer; }
.detail-data > span { color: var(--card-color); font: 700 10px var(--cond); letter-spacing: .18em; }
.detail-data h2 { font-size: 36px; margin: 4px 0; }
.detail-data .role { color: var(--muted); font-size: 11px; }
.detail-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.detail-meta i { font-style:normal; color:#9ca2a8; border:1px solid var(--line); padding:4px 8px; font-size:9px; }
.detail-meta .review-status.verified { color:#9be7b0; border-color:rgba(92,205,124,.38); background:rgba(92,205,124,.07); }
.detail-meta .review-status.draft { color:#e1a87a; border-color:rgba(255,142,67,.32); background:rgba(255,106,42,.06); }
.quote { color: #c4c9cd; font-size: 12px; line-height: 1.7; margin: 21px 0; padding: 14px; border-left: 2px solid var(--card-color); background: rgba(255,255,255,.035); }
.knowledge-block { border-top: 1px solid var(--line); padding-top: 17px; }
.knowledge-block h4 { margin: 0 0 10px; font-size: 11px; color: var(--muted); letter-spacing: .12em; }
.knowledge-block p { font-size: 12px; line-height: 1.8; color: #c1c6ca; }
.skills { display: grid; gap: 9px; margin-top: 18px; }
.skill { border: 1px solid var(--line); padding: 10px 12px; display: grid; grid-template-columns: 32px 1fr; gap: 10px; }
.skill i { width: 30px; height: 30px; display: grid; place-items: center; background: var(--card-color); color: #111; font: 800 15px var(--cond); font-style: normal; }
.skill b { display: block; font-size: 11px; }
.skill small { color: var(--muted); font-size: 10px; }
.detail-tabs { position:sticky; top:-34px; z-index:3; display:grid; grid-template-columns:repeat(5,1fr); margin:0 -38px 25px; padding:0 38px; background:#11151a; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.detail-tabs button { height:47px; border:0; background:transparent; color:var(--muted); font-size:11px; cursor:pointer; position:relative; }
.detail-tabs button::after { content:""; position:absolute; left:15%; right:15%; bottom:-1px; height:2px; background:var(--card-color); transform:scaleX(0); transition:.2s; }
.detail-tabs button.active { color:white; font-weight:700; }
.detail-tabs button.active::after { transform:scaleX(1); }
.detail-pane { display:none; animation:viewIn .22s ease; }
.detail-pane.active { display:block; }
.kb-detail-head { display:flex; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.kb-detail-head small { color:#78dcea; font:700 8px var(--cond); letter-spacing:.18em; }
.kb-detail-head h3 { margin:4px 0 8px; font-size:23px; }
.kb-detail-head p { max-width:590px; margin:0; color:#aab2b7; font-size:11px; line-height:1.75; }
.kb-detail-head > span { align-self:flex-start; padding:6px 9px; border:1px solid rgba(120,220,234,.3); color:#78dcea; background:rgba(120,220,234,.06); font:700 9px var(--cond); white-space:nowrap; }
.kb-node-list { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0 13px; }
.kb-node-list span { min-width:57px; padding:7px 10px; border-left:2px solid #78dcea; color:#dceff2; background:#1b252a; font:700 11px var(--cond); text-align:center; }
.kb-chapter-links { display:grid; gap:8px; }
.kb-chapter-links a { min-height:58px; display:grid; grid-template-columns:52px 1fr 25px; align-items:center; gap:12px; padding:8px 14px 8px 8px; color:var(--text); border:1px solid var(--line); background:#0c1115; text-decoration:none; }
.kb-chapter-links a:hover { border-color:rgba(120,220,234,.45); }
.kb-chapter-links i { height:40px; display:grid; place-items:center; color:#081115; background:#78dcea; font:800 13px var(--cond); font-style:normal; }
.kb-chapter-links b,.kb-chapter-links small { display:block; }
.kb-chapter-links b { font-size:11px; }
.kb-chapter-links small { margin-top:3px; color:#77838a; font-size:9px; }
.kb-chapter-links em { color:#78dcea; font-style:normal; }
.kb-resource-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-top:14px; }
.kb-resource-grid a { min-height:86px; padding:13px 15px; color:var(--text); border:1px solid var(--line); background:linear-gradient(135deg,rgba(120,220,234,.055),rgba(255,255,255,.01)); text-decoration:none; }
.kb-resource-grid a:hover { border-color:rgba(120,220,234,.4); }
.kb-resource-grid small,.kb-resource-grid b,.kb-resource-grid span { display:block; }
.kb-resource-grid small { color:#78dcea; font:700 8px var(--cond); letter-spacing:.16em; }
.kb-resource-grid b { margin:8px 0 6px; font-size:11px; }
.kb-resource-grid span { color:#89949a; font-size:9px; }
.kb-note { margin-top:15px; padding:13px 15px; border-left:3px solid var(--card-color); background:var(--card-soft); }
.kb-note b { color:var(--card-color); font-size:10px; }
.kb-note p { margin:5px 0 0; color:#bbc2c6; font-size:10px; line-height:1.7; }
.knowledge-title small,.pane-heading small { color:var(--card-color); font:600 9px var(--cond); letter-spacing:.2em; }
.knowledge-title h3,.pane-heading h3 { margin:3px 0 12px; font-size:25px; }
.knowledge-title p,.pane-heading p { color:#c2c7cb; font-size:12px; line-height:1.85; }
.purpose-box { margin:19px 0; padding:14px 16px; background:linear-gradient(100deg,var(--card-soft),rgba(255,255,255,.025)); border-left:3px solid var(--card-color); }
.lore-box { margin:19px 0; padding:0; border:1px solid rgba(255,255,255,.11); background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(7,10,13,.72)); overflow:hidden; }
.lore-box header { min-height:38px; display:flex; align-items:center; justify-content:space-between; padding:0 15px; border-bottom:1px solid rgba(255,255,255,.08); background:linear-gradient(90deg,var(--card-soft),transparent); }
.lore-box header span { color:var(--card-color); font:700 8px var(--cond); letter-spacing:.16em; }
.lore-box header b { color:#d9ddda; font-size:11px; }
.lore-box p { margin:0; padding:14px 16px 16px; color:#bfc5ca; font-size:11px; line-height:1.85; }
.purpose-box b,.example-box span { display:block; color:var(--card-color); font-size:10px; letter-spacing:.12em; }
.purpose-box p,.example-box p { margin:6px 0 0; font-size:11px; line-height:1.75; color:#d2d5d8; }
.two-col-detail { display:grid; grid-template-columns:1.12fr .88fr; gap:25px; margin-top:22px; }
.detail-pane h4 { color:#a5abb1; font-size:10px; letter-spacing:.12em; margin:18px 0 10px; }
.check-list,.warning-list { list-style:none; padding:0; margin:0; }
.check-list li,.warning-list li { position:relative; padding:7px 0 7px 18px; color:#c4c8cc; font-size:11px; line-height:1.5; border-bottom:1px solid rgba(255,255,255,.05); }
.check-list li::before { content:'✓'; position:absolute; left:0; color:var(--card-color); }
.knowledge-tags { display:flex; flex-wrap:wrap; gap:7px; }
.knowledge-tags span { padding:6px 9px; background:#20252a; color:#b8bdc1; font-size:9px; }
.formula-list { display:grid; gap:9px; margin-top:20px; }
.formula-row { min-height:52px; display:grid; grid-template-columns:42px 1fr; align-items:center; border:1px solid var(--line); background:#0b0e11; }
.formula-row > i { height:100%; display:grid; place-items:center; font:700 11px var(--cond); font-style:normal; color:var(--card-color); border-right:1px solid var(--line); }
.formula-row code { padding:12px 15px; color:#eef0ed; font:13px/1.55 "Cambria Math",Consolas,monospace; white-space:normal; }
.example-box { margin-top:18px; padding:15px 17px; border:1px solid rgba(255,184,61,.25); background:rgba(245,184,61,.06); }
.signal-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.signal-grid span { min-height:42px; display:flex; align-items:center; padding:8px 11px; background:#1b2025; border-left:2px solid var(--card-color); color:#c8ccd0; font-size:10px; line-height:1.5; }
.procedure-list { list-style:none; padding:0; margin:0; counter-reset:step; }
.procedure-list li { display:grid; grid-template-columns:38px 1fr; gap:12px; min-height:49px; align-items:center; border-bottom:1px solid var(--line); }
.procedure-list li i { width:30px; height:30px; display:grid; place-items:center; font:700 11px var(--cond); font-style:normal; color:#101316; background:var(--card-color); }
.procedure-list li span { color:#cbd0d3; font-size:11px; line-height:1.55; }
.warning-box { padding:2px 17px 12px; background:rgba(255,106,42,.07); border:1px solid rgba(255,106,42,.22); }
.warning-list li::before { content:'!'; position:absolute; left:1px; width:11px; height:11px; display:grid; place-items:center; color:#ff7840; border:1px solid #ff7840; font:700 8px var(--cond); }
.related-list { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.related-list button { min-height:52px; display:grid; grid-template-columns:38px 1fr; align-items:center; gap:8px; text-align:left; background:#191e23; border:1px solid var(--line); cursor:pointer; padding:7px; }
.related-list button:hover { border-color:var(--related); }
.related-list button > i { width:35px; height:35px; display:grid; place-items:center; background:#0c0f12; color:var(--related); font:700 9px var(--cond); font-style:normal; }
.related-list button span { font-size:10px; }
.related-list button small { display:block; color:#777e84; font-size:8px; margin-top:3px; }
.exam-link-groups { display:grid; gap:12px; }
.exam-link-group { display:grid; gap:7px; padding:10px; border:1px solid rgba(255,255,255,.07); background:#11161b; }
.exam-link-group > header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.exam-link-group > header b { color:#c6cdd3; font-size:9px; letter-spacing:.08em; }
.exam-link-group > header span { color:#727d86; font:7px var(--cond); text-align:right; }
.exam-link-legend { margin:0; padding:8px 10px; color:#a8cdbb; background:rgba(48,151,105,.08); border-left:2px solid rgba(92,214,157,.65); font-size:11px; line-height:1.65; }
.exam-link-group.mock { border-color:rgba(182,126,255,.18); background:linear-gradient(135deg,rgba(127,74,194,.055),#11161b 46%); }
.exam-link-group.mock > header b { color:#c9a8ff; }
.exam-link-list { display:grid; gap:7px; }
.exam-link-list button { min-height:58px; display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:9px; padding:8px; border:1px solid var(--line); background:#171c21; text-align:left; cursor:pointer; }
.exam-link-list button:hover { border-color:var(--card-color); }
.exam-link-list button.inherited { border-left:2px solid rgba(123,181,255,.6); background:linear-gradient(90deg,rgba(67,128,196,.08),#171c21 36%); }
.exam-link-list button.inherited > i,.exam-link-list button.inherited > b { color:#8fc8ff; }
.exam-link-list button.knowledge-match { border-left:2px solid rgba(92,214,157,.65); background:linear-gradient(90deg,rgba(48,151,105,.09),#171c21 36%); }
.exam-link-list button.knowledge-match > i,.exam-link-list button.knowledge-match > b { color:#6ee0a9; }
.exam-link-list button.mock-reference { border-right:2px solid rgba(190,137,255,.55); }
.exam-link-list button.mock-reference > b { color:#c9a8ff; }
.exam-link-list button > i { width:39px; height:39px; display:grid; place-items:center; background:#0c0f12; color:var(--card-color); font:700 10px var(--cond); font-style:normal; }
.exam-link-list button span { font-size:9px; line-height:1.5; }
.exam-link-list button small { display:block; color:#7e858c; font-size:8px; margin-top:3px; }
.exam-link-list button > b { color:var(--card-color); font-size:8px; white-space:nowrap; }
.exam-link-summary { margin-left:7px; color:#7f8992; font-size:8px; font-weight:400; }

/* 真题作战 */
.exam-heading { padding-bottom:24px; }
.campaign-mode-bar { max-width:1310px; margin:0 auto 14px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.campaign-mode-bar > button { min-height:78px; display:grid; grid-template-columns:105px 1fr auto; align-items:center; gap:14px; padding:0 20px; border:1px solid var(--line); background:#101419; color:var(--text); text-align:left; cursor:pointer; position:relative; overflow:hidden; }
.campaign-mode-bar > button::after { content:""; position:absolute; inset:auto 0 0; height:2px; background:transparent; }
.campaign-mode-bar > button.active { border-color:rgba(245,184,61,.42); background:linear-gradient(110deg,rgba(245,184,61,.12),#11161b 45%); }
.campaign-mode-bar > button.active::after { background:var(--amber); }
.campaign-mode-bar button > i { height:100%; display:grid; place-items:center; border-right:1px solid var(--line); color:#6d747b; font:800 10px var(--cond); font-style:normal; letter-spacing:.14em; }
.campaign-mode-bar button.active > i { color:var(--amber); }
.campaign-mode-bar button span b { display:block; font-size:14px; }
.campaign-mode-bar button span small { display:block; margin-top:4px; color:#747c83; font-size:9px; }
.campaign-mode-bar button > em { color:#838b92; font:800 10px var(--cond); font-style:normal; }
.campaign-mode-bar button.active > em { color:var(--amber); }
.exam-difficulty-summary { max-width:1310px; margin:0 auto 14px; display:grid; grid-template-columns:minmax(220px,1fr) minmax(150px,.62fr) minmax(150px,.62fr) minmax(390px,1.75fr); border:1px solid rgba(245,184,61,.25); background:#0d1115; }
.exam-difficulty-summary > div { min-height:104px; padding:16px 18px; border-right:1px solid var(--line); }
.exam-difficulty-summary > div:last-child { border-right:0; }
.difficulty-summary-title { display:flex; flex-direction:column; justify-content:center; background:linear-gradient(120deg,rgba(245,184,61,.1),transparent); }
.difficulty-summary-title > span,.difficulty-summary-formula > span { color:var(--amber); font:800 11px var(--cond); letter-spacing:.14em; }
.difficulty-summary-title > b { margin-top:5px; font-size:17px; }
.difficulty-summary-title > small { margin-top:5px; color:#929aa2; }
.difficulty-summary-metric { display:grid; place-content:center; text-align:center; }
.difficulty-summary-metric > span { color:#aeb5bc; font-size:12px; }
.difficulty-summary-metric > b { margin:3px 0; color:var(--amber); font:800 31px var(--cond); }
.difficulty-summary-metric > small { color:#7f8992; }
.difficulty-summary-formula { display:flex; flex-direction:column; justify-content:center; }
.difficulty-summary-formula > b { margin-top:7px; color:#d9dee2; font-size:14px; line-height:1.65; }
.difficulty-summary-formula > b i { padding:2px 5px; color:#17130b; background:var(--amber); font-style:normal; }
.difficulty-summary-formula > b em { margin:0 5px; color:#727b83; font-style:normal; }
.difficulty-summary-formula > small { margin-top:4px; color:#8b949c; }
.campaign-chapter-rail { max-width:1310px; margin:0 auto 14px; display:flex; min-height:78px; border:1px solid var(--line); background:#0d1115; }
.chapter-rail-label { flex:0 0 145px; display:grid; align-content:center; padding:0 18px; border-right:1px solid var(--line); background:linear-gradient(120deg,rgba(80,207,228,.08),transparent); }
.chapter-rail-label span { color:#50cfe4; font:700 8px var(--cond); letter-spacing:.13em; }
.chapter-rail-label b { margin-top:5px; font-size:13px; }
.chapter-scroll { flex:1; display:flex; min-width:0; padding:7px; gap:6px; overflow-x:auto; scrollbar-width:thin; }
.campaign-chapter { flex:0 0 128px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; gap:2px 7px; align-items:center; padding:9px 10px; border:1px solid #262c32; background:#13181d; color:#aeb4b9; text-align:left; cursor:pointer; }
.campaign-chapter:hover { border-color:#68727c; }
.campaign-chapter.active { border-color:var(--amber); background:rgba(245,184,61,.08); box-shadow:inset 3px 0 var(--amber); }
.campaign-chapter.clear { border-color:rgba(86,211,135,.35); }
.campaign-chapter.active.clear { border-color:#65d794; box-shadow:inset 3px 0 #65d794; }
.campaign-chapter > i { grid-column:1/-1; color:#6f7880; font:700 7px var(--cond); font-style:normal; letter-spacing:.1em; }
.campaign-chapter span b { display:block; color:#e2e5e3; font:800 17px var(--cond); }
.campaign-chapter span small { display:block; color:#707880; font-size:7px; white-space:nowrap; }
.campaign-chapter > em { color:var(--amber); font:800 8px var(--cond); font-style:normal; }
.campaign-chapter.clear > em { color:#65d794; }
.campaign-chapter.pending { flex:0 0 220px; cursor:default; }
.episode-tag { padding:5px 9px; border:1px solid rgba(245,184,61,.4); color:var(--amber); font:800 8px var(--cond); letter-spacing:.12em; }
.frontier-code { display:block; color:var(--amber); font:800 23px var(--cond); }
.paper-sources > em { display:inline-block; margin-top:9px; padding:4px 7px; border:1px solid rgba(91,218,143,.38); color:#65d794; font:800 8px var(--cond); font-style:normal; }
.campaign-source-links { margin-top:8px; padding-top:6px; border-top:1px solid rgba(255,255,255,.06); }
.campaign-source-links a { max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.exam-campaign-map { max-width:1310px; margin:0 auto 16px; }
.campaign-map-shell { border:1px solid var(--line); background:#0b0f13; overflow:hidden; }
.campaign-map-shell.side-story-map { border-color:rgba(217,146,255,.28); box-shadow:inset 0 1px rgba(217,146,255,.08); }
.campaign-map-shell.side-story-map > header { background:linear-gradient(110deg,rgba(217,146,255,.11),transparent 42%),#10151a; }
.campaign-map-shell.side-story-map > header span { color:#d992ff; }
.campaign-map-shell > header { min-height:82px; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:15px 22px; border-bottom:1px solid var(--line); background:linear-gradient(110deg,rgba(80,207,228,.075),transparent 38%),#10151a; }
.campaign-map-shell > header span { color:#50cfe4; font:700 8px var(--cond); letter-spacing:.15em; }
.campaign-map-shell > header h3 { margin:4px 0 2px; font-size:16px; }
.campaign-map-shell > header p { margin:0; color:#717980; font-size:9px; }
.map-progress { min-width:175px; display:grid; grid-template-columns:auto 1fr; align-items:end; gap:0 10px; }
.map-progress > b { grid-row:1/3; color:var(--amber); font:800 28px var(--cond); }
.map-progress > b small { color:#777f86; font-size:12px; }
.map-progress > span { color:#7b838a!important; font-size:7px!important; letter-spacing:.1em!important; }
.map-progress > i { width:110px; height:4px; background:#252b31; overflow:hidden; }
.map-progress > i em { display:block; height:100%; background:var(--amber); }
.campaign-map-scroll { overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; }
.campaign-map-canvas { min-width:1115px; position:relative; background:radial-gradient(circle at 70% 30%,rgba(80,207,228,.055),transparent 35%),linear-gradient(180deg,#11161b,#0b0f13); }
.campaign-map-grid { position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:44px 44px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.campaign-map-canvas svg { position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; overflow:visible; }
.campaign-map-canvas line { stroke:#303840; stroke-width:3; stroke-dasharray:7 7; }
.campaign-map-canvas line.cleared { stroke:#d7a842; stroke-dasharray:none; filter:drop-shadow(0 0 4px rgba(245,184,61,.42)); }
.campaign-node { width:128px; height:102px; position:absolute; z-index:2; transform:translate(-50%,-50%); border:0; background:transparent; color:#aeb5bb; text-align:center; cursor:pointer; }
.campaign-node .node-diamond { width:50px; height:50px; position:absolute; left:39px; top:0; display:grid; place-items:center; transform:rotate(45deg); border:2px solid #404850; background:#171d22; box-shadow:0 0 0 5px rgba(0,0,0,.28); }
.campaign-node .node-diamond i { transform:rotate(-45deg); font:900 14px var(--cond); font-style:normal; }
.campaign-node > b { position:absolute; top:58px; left:0; right:0; color:#d8dcde; font:800 10px var(--cond); letter-spacing:.06em; }
.campaign-node > small { position:absolute; top:73px; left:0; right:0; color:#69727a; font:700 7px var(--cond); }
.campaign-node > em { position:absolute; top:-8px; left:82px; padding:2px 4px; color:#7b838a; background:#0b0f13; border:1px solid #333a41; font:800 6px var(--cond); font-style:normal; letter-spacing:.07em; }
.campaign-node.available .node-diamond { border-color:var(--node); color:var(--node); box-shadow:0 0 0 5px rgba(0,0,0,.28),0 0 17px color-mix(in srgb,var(--node) 35%,transparent); }
.campaign-node.available > em { color:var(--node); border-color:color-mix(in srgb,var(--node) 50%,#333); }
.campaign-node.cleared .node-diamond { border-color:var(--amber); background:var(--amber); color:#17120a; }
.campaign-node.cleared > em { color:#69dc99; border-color:rgba(105,220,153,.45); }
.campaign-node.locked { cursor:not-allowed; filter:saturate(.15); opacity:.48; }
.campaign-node.active::after { content:"SELECTED"; position:absolute; left:50%; top:98px; transform:translateX(-50%); color:#111; background:#e9ece8; padding:2px 6px; font:800 6px var(--cond); letter-spacing:.08em; }
.campaign-node.active .node-diamond { animation:nodePulse 1.8s ease-in-out infinite; }
@keyframes nodePulse { 50% { box-shadow:0 0 0 7px rgba(245,184,61,.13),0 0 24px rgba(245,184,61,.35); } }
.map-watermark { position:absolute; right:35px; bottom:12px; color:rgba(255,255,255,.025); font:900 58px var(--cond); letter-spacing:.05em; }
.campaign-map-shell > footer { min-height:42px; display:flex; align-items:center; gap:18px; padding:0 18px; border-top:1px solid var(--line); background:#0e1216; color:#777f86; font-size:8px; }
.campaign-map-shell > footer span { display:flex; align-items:center; gap:6px; }
.campaign-map-shell > footer i { width:9px; height:9px; transform:rotate(45deg); border:1px solid; }
.legend-clear { background:var(--amber); border-color:var(--amber)!important; }
.legend-open { border-color:#50cfe4!important; }
.legend-lock { border-color:#4b535b!important; opacity:.5; }
.campaign-map-shell > footer b { margin-left:auto; color:#667078; font-weight:500; }
.exam-toolbar { align-items:stretch; border:1px solid var(--line); background:#0f1418; }
.operation-brief { flex:1; display:grid; grid-template-columns:auto 1fr; gap:2px 13px; align-content:center; padding:10px 15px; }
.operation-brief > span { grid-column:1/-1; color:#6e7881; font:700 7px var(--cond); letter-spacing:.15em; }
.operation-brief > b { color:var(--amber); font:900 18px var(--cond); }
.operation-brief > small { align-self:center; color:#899198; font-size:9px; }
.operation-status { min-width:180px; display:flex; align-items:center; justify-content:center; gap:9px; border-left:1px solid var(--line); border-right:1px solid var(--line); color:#50cfe4; font:800 9px var(--cond); letter-spacing:.09em; }
.operation-status i { width:9px; height:9px; transform:rotate(45deg); background:#50cfe4; box-shadow:0 0 9px rgba(80,207,228,.5); }
.operation-status.clear { color:#65d794; }
.operation-status.clear i { background:#65d794; box-shadow:0 0 9px rgba(101,215,148,.5); }
.operation-actions { display:flex; align-items:center; padding:8px; gap:7px; }
.operation-actions button,.stage-clear-route button { padding:9px 14px; border:1px solid #343b42; background:#191f24; color:#b9c0c5; font-size:9px; cursor:pointer; }
.operation-actions button.primary,.stage-clear-route button { border-color:var(--amber); background:var(--amber); color:#17120b; font-weight:800; }
.campaign-operation { box-shadow:0 18px 55px rgba(0,0,0,.22); }
.operation-banner { min-height:35px; display:flex; align-items:center; gap:16px; padding:0 15px; border-bottom:1px solid var(--line); background:#0b0f13; }
.operation-banner > span { color:#6e7881; font:700 8px var(--cond); letter-spacing:.14em; }
.operation-banner > b { color:#50cfe4; font:800 8px var(--cond); }
.operation-banner > em { margin-left:auto; padding:3px 7px; border:1px solid #394149; color:#87919a; font:800 7px var(--cond); font-style:normal; }
.campaign-operation.stage-passed .operation-banner > b { color:#65d794; }
.question-actions button:disabled { border-color:#2b3137; background:#181d22; color:#5d656c; cursor:not-allowed; }
.analysis-lock { min-height:220px; display:grid; place-items:center; align-content:center; padding:30px; text-align:center; }
.analysis-lock i { color:#515a62; font:900 10px var(--cond); font-style:normal; letter-spacing:.18em; }
.analysis-lock b { margin-top:8px; font-size:14px; }
.analysis-lock p { max-width:300px; margin:6px 0 0; color:#707980; font-size:9px; line-height:1.6; }
.stage-clear-route { min-height:86px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:15px; padding:15px 20px; border:1px solid rgba(101,215,148,.34); background:linear-gradient(110deg,rgba(101,215,148,.09),#0e1416 45%); }
.stage-clear-route > span { color:#65d794; font:900 9px var(--cond); letter-spacing:.1em; }
.stage-clear-route div b { font-size:12px; }
.stage-clear-route div p { margin:4px 0 0; color:#758078; font-size:9px; }
.stage-clear-route > em { color:#65d794; font:800 9px var(--cond); font-style:normal; }
.sidestory-placeholder { min-height:420px; display:grid; grid-template-columns:180px 1fr auto; align-items:center; gap:38px; padding:50px 65px; border:1px solid var(--line); background:radial-gradient(circle at 15% 50%,rgba(217,146,255,.11),transparent 28%),linear-gradient(125deg,#11161b,#0b0e12); position:relative; overflow:hidden; }
.sidestory-signal { width:150px; height:150px; display:grid; place-items:center; position:relative; border:1px solid rgba(217,146,255,.35); transform:rotate(45deg); }
.sidestory-signal i { color:#d992ff; font:900 37px var(--cond); font-style:normal; transform:rotate(-45deg); }
.sidestory-signal span { position:absolute; inset:13px; border:1px dashed rgba(217,146,255,.22); }
.sidestory-placeholder > div:nth-child(2) > span { color:#d992ff; font:800 8px var(--cond); letter-spacing:.16em; }
.sidestory-placeholder h3 { margin:7px 0; font-size:27px; }
.sidestory-placeholder p { max-width:620px; color:#899198; font-size:10px; line-height:1.7; }
.sidestory-placeholder ul { margin:15px 0 0; padding:0; list-style:none; color:#aeb5ba; font-size:9px; line-height:1.9; }
.sidestory-placeholder li::before { content:"◇"; margin-right:8px; color:#d992ff; }
.sidestory-placeholder > em { color:rgba(255,255,255,.045); font:900 39px/1 var(--cond); font-style:normal; text-align:right; }
.exam-paper-head.side-story-head { border-color:rgba(217,146,255,.25); background:linear-gradient(120deg,rgba(217,146,255,.08),#12161b 40%,#0d1014); }
.exam-paper-head { max-width:1310px; margin:0 auto 18px; padding:24px 28px; display:grid; grid-template-columns:1fr auto 260px; gap:30px; align-items:center; border:1px solid rgba(245,184,61,.28); background:linear-gradient(120deg,rgba(245,184,61,.09),#12161b 40%,#0d1014); position:relative; overflow:hidden; }
.exam-paper-head::after { content:attr(data-year); position:absolute; right:285px; top:-38px; color:rgba(255,255,255,.025); font:800 130px var(--cond); pointer-events:none; }
.paper-year-switch { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-bottom:10px; position:relative; z-index:1; }
.paper-year-switch button { padding:5px 12px; border:1px solid var(--line); background:#0c0f13; color:var(--muted); font:700 11px var(--cond); cursor:pointer; }
.paper-year-switch button:hover,.paper-year-switch button.active { color:#0b0d10; border-color:var(--amber); background:var(--amber); }
.paper-year-switch label { display:flex; align-items:center; border:1px solid rgba(245,184,61,.45); background:#0b0e12; }
.paper-year-switch label > span { padding:0 8px; color:var(--amber); font:700 8px var(--cond); letter-spacing:.14em; }
.paper-year-switch select { min-width:150px; padding:6px 28px 6px 9px; border:0; border-left:1px solid var(--line); background:#171c21; color:#edf0ec; font:600 11px var(--cond); cursor:pointer; }
.paper-year-switch > small { color:#777f87; font:600 9px var(--cond); }
.paper-quality { padding:5px 8px; border:1px solid; font:700 8px var(--cond); font-style:normal; letter-spacing:.08em; }
.paper-quality.verified { color:#5ed98a; border-color:rgba(94,217,138,.4); background:rgba(94,217,138,.08); }
.paper-quality.archive { color:#f0aa58; border-color:rgba(240,170,88,.38); background:rgba(240,170,88,.08); }
.paper-title > span { color:var(--amber); font:600 9px var(--cond); letter-spacing:.22em; }
.paper-title h2 { margin:5px 0 6px; font-size:22px; }
.paper-title p { margin:0; color:var(--muted); font-size:10px; }
.paper-stats { display:grid; grid-template-columns:repeat(3,78px) minmax(160px,1fr); border:1px solid var(--line); }
.paper-stats div { padding:10px 6px; text-align:center; border-right:1px solid var(--line); }
.paper-stats div:last-child { border:0; }
.paper-stats b { display:block; color:var(--amber); font:700 25px var(--cond); }
.paper-stats span { color:var(--muted); font-size:8px; }
.paper-stats small { display:block; margin-top:2px; color:#777f87; font:600 7px var(--cond); }
.paper-stats .paper-difficulty small { max-width:190px; margin:4px auto 0; line-height:1.45; }
.paper-sources { padding-left:18px; border-left:1px solid var(--line); }
.paper-sources > span { display:block; margin-bottom:6px; color:#777e85; font-size:8px; letter-spacing:.12em; }
.paper-sources a { display:block; color:#c9cdd1; text-decoration:none; font-size:9px; line-height:1.7; }
.paper-sources a:hover { color:var(--amber); }
.paper-sources small { display:block; margin-top:5px; color:#646b72; font-size:7px; line-height:1.45; }
.exam-reward-hub { max-width:1310px; margin:0 auto 16px; display:grid; grid-template-columns:minmax(210px,1.3fr) repeat(6,minmax(110px,1fr)); border:1px solid var(--line); background:#0d1115; }
.reward-title { padding:15px 18px; border-right:1px solid var(--line); background:linear-gradient(120deg,rgba(80,207,228,.08),transparent); }
.reward-title > span { color:#50cfe4; font:700 8px var(--cond); letter-spacing:.14em; }
.reward-title h3 { margin:4px 0 3px; font-size:13px; }
.reward-title p { margin:0; color:#71787f; font-size:8px; }
.reward-route { min-height:74px; display:grid; grid-template-columns:auto 1fr; align-content:center; align-items:center; column-gap:8px; padding:10px 12px; border-right:1px solid var(--line); }
.reward-route:last-child { border:0; }
.reward-route > b { color:var(--amber); font:700 17px var(--cond); }
.reward-route > span { color:#d4d8da; font-size:9px; }
.reward-route small { display:block; margin-top:3px; color:#6e767d; font-size:8px; }
.reward-route button { grid-column:1/-1; margin-top:7px; padding:5px; border:1px solid var(--amber); background:var(--amber); color:#16120b; font-size:8px; font-weight:800; cursor:pointer; }
.reward-route button:disabled { border-color:#3e454c; background:#252a2f; color:#6e757b; cursor:default; }
.exam-toolbar { max-width:1310px; margin:0 auto 20px; display:flex; justify-content:space-between; gap:20px; }
.exam-filter-group { display:flex; border:1px solid var(--line); }
.exam-filter-group > span { display:flex; align-items:center; padding:0 12px; color:#6f767d; background:#0c0f12; font-size:8px; letter-spacing:.12em; }
.exam-filter-group button { padding:9px 15px; border:0; border-left:1px solid var(--line); background:transparent; color:var(--muted); font-size:10px; cursor:pointer; }
.exam-filter-group button.active { background:var(--text); color:#111; font-weight:700; }
.question-list { max-width:1310px; margin:0 auto; padding-bottom:80px; display:grid; gap:12px; }
.exam-question { border:1px solid var(--line); background:#101419; scroll-margin-top:90px; }
.exam-question.open { border-color:rgba(245,184,61,.38); }
.exam-question > header { min-height:76px; display:grid; grid-template-columns:74px 1fr 74px; align-items:center; border-bottom:1px solid var(--line); background:linear-gradient(90deg,rgba(255,255,255,.035),transparent); }
.question-no { height:100%; display:grid; place-items:center; align-content:center; border-right:1px solid var(--line); }
.question-no span { color:#687078; font:600 7px var(--cond); letter-spacing:.15em; }
.question-no b { color:var(--amber); font:700 29px var(--cond); }
.exam-question > header > div:nth-child(2) { padding:0 18px; }
.exam-question > header > div:nth-child(2) > span { color:#777f87; font:600 8px var(--cond); letter-spacing:.16em; }
.exam-question > header h3 { margin:3px 0 0; font-size:17px; }
.question-score { height:100%; display:grid; place-items:center; align-content:center; border-left:1px solid var(--line); }
.question-score b { font:700 26px var(--cond); }
.question-score span { color:#737a81; font:600 8px var(--cond); }
.question-body { padding:19px 24px 16px; position:relative; }
.question-body .difficulty { position:absolute; right:22px; top:16px; width:300px; min-height:43px; display:grid; grid-template-columns:auto auto auto 1fr; align-items:baseline; gap:2px 5px; padding:7px 9px; border:1px solid rgba(240,170,88,.26); background:rgba(9,12,15,.88); color:var(--amber); font:600 9px var(--cond); letter-spacing:.07em; }
.question-body .difficulty > span { color:#a27d4a; font-size:7px; letter-spacing:.12em; }
.question-body .difficulty > b { color:#ffc56e; font:800 18px var(--cond); }
.question-body .difficulty > i { color:#8d7655; font:700 8px var(--cond); font-style:normal; }
.question-body .difficulty > em { justify-self:end; padding:3px 5px; border:1px solid rgba(240,170,88,.35); color:#e5a55c; font-size:7px; font-style:normal; }
.question-body .difficulty > small { grid-column:1/-1; color:#818990; font:600 7px/1.5 var(--cond); letter-spacing:.02em; }
.question-body .difficulty > small u { margin-left:7px; color:#696f75; text-decoration:none; }
.question-body .difficulty.legacy { grid-template-columns:auto 1fr; }
.question-body .difficulty.legacy > b { justify-self:end; font-size:11px; }
.question-body pre { margin:0; padding-right:330px; color:#e2e5e2; font:12px/1.9 var(--sans); white-space:pre-wrap; word-break:break-word; }
.question-figure { margin:16px 330px 0 0; padding:12px; border:1px solid rgba(255,255,255,.09); background:#f5f2eb; }
.question-figure picture { display:block; }
.question-figure img { display:block; width:100%; max-width:760px; max-height:520px; margin:auto; object-fit:contain; }
.question-figure figcaption { margin-top:8px; color:#555d64; font:600 8px var(--cond); letter-spacing:.12em; text-align:center; }
.katex { color:inherit; font-size:1.05em; }
.katex-display { max-width:100%; margin:11px 0; padding:7px 2px; overflow-x:auto; overflow-y:hidden; text-align:center; }
.question-body pre .katex-display { background:rgba(255,255,255,.025); border-top:1px solid rgba(255,255,255,.045); border-bottom:1px solid rgba(255,255,255,.045); }
.analysis-steps .katex-display,.formula-row .katex-display { text-align:left; }
.katex-error { color:#ffb36b!important; font-family:"Cambria Math",var(--sans); white-space:pre-wrap; }
.question-options { display:grid; grid-template-columns:1fr 1fr; gap:6px 13px; margin-top:13px; }
.question-options span { min-height:34px; display:flex; align-items:center; padding:7px 10px; background:#171c21; color:#aeb4b9; font-size:10px; }
.curation-strip { display:flex; align-items:center; gap:10px; margin-top:14px; padding:8px 10px; border-left:2px solid #5ed98a; background:rgba(94,217,138,.055); color:#8e9b95; font:9px/1.5 var(--cond); letter-spacing:.04em; }
.curation-strip b { flex:0 0 auto; color:#71dfa0; font-size:9px; }
.question-actions { display:flex; justify-content:flex-end; gap:8px; padding:0 20px 16px; }
.question-actions button,.submit-squad,.reveal-answer { border:1px solid var(--line); background:#20262c; padding:9px 17px; color:#c7ccd0; font-size:10px; cursor:pointer; }
.question-actions .analysis-btn,.submit-squad,.reveal-answer { background:var(--amber); border-color:var(--amber); color:#17130b; font-weight:700; }
.question-detail { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); background:#0b0e12; }
.question-detail[hidden] { display:none; }
.squad-builder,.answer-panel { padding:22px; }
.answer-panel { border-left:1px solid var(--line); }
.attempt-console { margin-bottom:22px; padding:14px; border:1px solid rgba(80,207,228,.28); background:linear-gradient(145deg,rgba(80,207,228,.075),rgba(255,255,255,.018)); }
.attempt-console > header { display:flex; align-items:baseline; gap:8px; padding-bottom:10px; border-bottom:1px solid rgba(80,207,228,.18); }
.attempt-console > header span { color:#50cfe4; font:700 8px var(--cond); letter-spacing:.14em; }
.attempt-console > header b { font-size:11px; }
.attempt-console > header em { margin-left:auto; color:#6f7a82; font:8px var(--cond); font-style:normal; }
.attempt-status { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; padding:10px 0; }
.attempt-status b { min-width:58px; color:#e6edf2; font:700 15px var(--cond); }
.attempt-status span { color:#74818a; font-size:9px; }
.attempt-status button,.attempt-tools button { border:1px solid var(--line); background:#192129; color:#aab8c1; padding:7px 10px; font-size:9px; cursor:pointer; }
.attempt-status button:disabled,.attempt-tools button:disabled { opacity:.45; cursor:default; }
.attempt-fields { display:grid; gap:8px; }
.attempt-fields label,.error-cause { display:grid; gap:5px; color:#7d8992; font-size:8px; }
.attempt-fields textarea,.attempt-fields select,.error-cause select { width:100%; border:1px solid #29343d; background:#0d1217; color:#d2dae0; padding:8px 9px; font:10px/1.55 var(--sans); resize:vertical; }
.attempt-fields textarea:focus,.attempt-fields select:focus,.error-cause select:focus { outline:1px solid #50cfe4; border-color:#50cfe4; }
.attempt-fields [disabled] { color:#7b858c; opacity:.8; }
.attempt-tools { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.attempt-tools .submit-answer { margin-left:auto; border-color:#50cfe4; background:#50cfe4; color:#071217; font-weight:700; }
.attempt-hint { margin:10px 0 0; padding:9px 10px; border-left:2px solid #50cfe4; background:rgba(80,207,228,.07); color:#afc0c9; font-size:9px; line-height:1.65; }
.attempt-hint[hidden] { display:none; }
.attempt-grade { display:grid; gap:3px; margin:10px 0 0; padding:9px 10px; border:1px solid; }
.attempt-grade b { font-size:10px; }
.attempt-grade span { color:#8f9aa2; font-size:8px; line-height:1.5; }
.attempt-grade.correct { border-color:rgba(94,217,138,.35); background:rgba(94,217,138,.07); color:#71dfa0; }
.attempt-grade.wrong { border-color:rgba(255,111,62,.35); background:rgba(255,111,62,.07); color:#ff8a55; }
.attempt-grade.pending { border-color:rgba(245,184,61,.32); background:rgba(245,184,61,.06); color:var(--amber); }
.error-cause { margin-top:10px; }
.battle-label { display:grid; grid-template-columns:35px 1fr; align-items:center; gap:10px; margin-bottom:16px; }
.battle-label > span { width:32px; height:32px; display:grid; place-items:center; color:#111; background:var(--amber); font:700 11px var(--cond); }
.battle-label b { display:block; font-size:12px; }
.battle-label small { display:block; color:#747b82; font-size:9px; margin-top:3px; }
.candidate-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.candidate { min-height:55px; display:grid; grid-template-columns:34px 1fr; align-items:center; gap:7px; padding:7px; text-align:left; border:1px solid var(--line); background:#151a1f; cursor:pointer; }
.candidate > i { width:31px; height:31px; display:grid; place-items:center; color:var(--candidate); background:#0b0e12; font:700 9px var(--cond); font-style:normal; }
.candidate > span { font-size:10px; }
.candidate small { display:block; margin-top:2px; color:#70777e; font-size:8px; }
.candidate.selected { border-color:var(--candidate); background:#1b2025; box-shadow:inset 3px 0 var(--candidate); }
.candidate.frozen { cursor:default; opacity:.78; }
.submit-squad:disabled { border-color:#334039; background:#1b2620; color:#65d794; cursor:default; }
.submit-squad { margin-top:13px; }
.squad-result { margin-top:12px; padding:11px 13px; border:1px solid; }
.squad-result.success { border-color:rgba(78,206,119,.35); background:rgba(78,206,119,.07); }
.squad-result.needs-work { border-color:rgba(255,111,62,.35); background:rgba(255,111,62,.07); }
.squad-result b { font-size:10px; }
.squad-result p { margin:4px 0 0; color:#aeb4b9; font-size:9px; line-height:1.6; }
.answer-panel:not(.revealed) { display:grid; place-items:center; min-height:260px; }
.standard-squad { display:grid; gap:7px; }
.standard-squad h4 { margin:0 0 2px; color:#777e85; font-size:9px; letter-spacing:.13em; }
.standard-squad h4 small { display:block; margin-top:5px; color:#d8b965; font-size:11px; font-weight:500; letter-spacing:0; line-height:1.55; }
.standard-squad button { display:grid; grid-template-columns:35px 1fr auto; gap:8px; align-items:center; padding:8px; border:1px solid var(--line); border-left:3px solid var(--squad); background:#151a1f; color:inherit; text-align:left; cursor:pointer; }
.standard-squad button > i { width:31px; height:31px; display:grid; place-items:center; color:var(--squad); background:#0b0e12; font:700 8px var(--cond); font-style:normal; }
.standard-squad button span b { font-size:10px; }
.standard-squad button span small { display:block; color:#71787f; font-size:8px; }
.standard-squad button em { color:var(--squad); font-size:8px; font-style:normal; }
.standard-squad button p { grid-column:2/4; margin:0; color:#a9afb4; font-size:9px; line-height:1.55; }
.knowledge-diagnosis { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:14px; padding:1px; background:var(--line); border:1px solid var(--line); }
.knowledge-diagnosis header { grid-column:1/-1; padding:11px 13px; background:#141a20; position:relative; }
.knowledge-diagnosis header span { display:block; color:#6f8294; font:700 7px var(--cond); letter-spacing:.16em; }
.knowledge-diagnosis header b { display:block; margin-top:3px; font-size:11px; }
.knowledge-diagnosis header em { position:absolute; right:12px; top:12px; max-width:44%; color:#72d79b; font-size:8px; font-style:normal; text-align:right; }
.knowledge-diagnosis > div { min-height:72px; padding:10px 12px; background:#10151a; }
.knowledge-diagnosis small { color:var(--amber); font:700 8px var(--cond); letter-spacing:.08em; }
.knowledge-diagnosis p { margin:6px 0 0; color:#b8c0c7; font-size:9px; line-height:1.65; }
.final-answer { margin:17px 0; padding:0; overflow:hidden; border:1px solid rgba(245,184,61,.38); border-left:4px solid var(--amber); background:linear-gradient(110deg,rgba(245,184,61,.13),rgba(245,184,61,.045)); }
.final-answer header { display:flex; align-items:baseline; gap:10px; padding:10px 14px; border-bottom:1px solid rgba(245,184,61,.2); }
.final-answer header span { color:var(--amber); font:700 10px var(--cond); letter-spacing:.15em; }
.final-answer header b { color:#f5e4b7; font-size:13px; }
.final-answer-content { min-height:28px; padding:14px; overflow-x:auto; color:#f7f2e8; font:650 16px/1.8 "Cambria Math",var(--sans); white-space:pre-wrap; overflow-wrap:anywhere; }
.final-answer-content .katex-display { margin:.35em 0; text-align:left; }
.final-answer-content .katex { font-size:1.04em; }
.analysis-steps { margin:0; padding:0; list-style:none; }
.analysis-steps li { display:grid; grid-template-columns:32px 1fr; gap:10px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.analysis-steps i { width:27px; height:27px; display:grid; place-items:center; color:#111; background:#d8dcd8; font:700 9px var(--cond); font-style:normal; }
.analysis-steps p { margin:0; color:#c4c9cd; font-size:10px; line-height:1.75; }
.exam-pitfalls { margin-top:14px; padding:12px 14px; background:rgba(255,106,42,.07); border:1px solid rgba(255,106,42,.22); }
.exam-pitfalls b { color:#ff8a55; font-size:9px; }
.exam-pitfalls p { margin:7px 0 0; color:#b9bec2; font-size:9px; line-height:1.55; }
.mastery-list { display:grid; gap:6px; }
.mastery-list label { display:grid; grid-template-columns:0 19px 1fr; align-items:start; gap:8px; padding:9px; background:#171b20; cursor:pointer; }
.mastery-list input { opacity:0; width:0; margin:0; }
.mastery-list label > i { width:17px; height:17px; border:1px solid #596068; position:relative; }
.mastery-list input:checked + i { border-color:var(--card-color); background:var(--card-color); }
.mastery-list input:checked + i::after { content:'✓'; position:absolute; inset:0; display:grid; place-items:center; color:#111; font-size:11px; font-weight:900; }
.mastery-list label > span { color:#bfc4c8; font-size:10px; line-height:1.55; }
.no-related { color:var(--muted); font-size:10px; }
.history-shell { width: min(650px, 90vw); }
.history-list { max-height: 65vh; overflow: auto; padding: 12px 20px 20px; }
.history-item { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; border-bottom: 1px solid var(--line); padding: 11px 3px; gap: 10px; }
.history-item .mini-glyph { width: 38px; height: 38px; display: grid; place-items: center; background: #20252b; color: var(--rarity-color); font: 700 18px var(--cond); }
.history-item b { font-size: 12px; }
.history-item small { display: block; color: var(--muted); font-size: 9px; }
.history-item > span { color: var(--rarity-color); font: 700 11px var(--cond); }
.empty { grid-column: 1/-1; text-align: center; border: 1px dashed var(--line); padding: 70px 20px; color: var(--muted); }

/* 可读性基线：辅助文字不再低于 11px，正文和交互内容统一放大。 */
body { font-size:15px; line-height:1.5; }
body small { font-size:11px!important; line-height:1.5; }
body button,body input,body select,body textarea { font-size:12px!important; }
.level span,.currency::before,.panel-kicker,.scroll-cue,.new-tag,.exam-usage,.potential,
.coverage-card > span,.coverage-card > b small,.coverage-card p,.knowledge-bridge-hub > header span,
.kb-hub-stats span,.kb-hub-actions span,.kb-sync-ok,.kb-sync-warning,.subject-column > header span,
.point-list button span,.point-list button > b,.detail-id,.detail-data > span,.detail-meta i,
.kb-detail-head small,.kb-detail-head > span,.kb-resource-grid span,.kb-note b,.kb-note p,
.knowledge-title small,.pane-heading small,.lore-box header span,.purpose-box b,.example-box span,
.detail-pane h4,.knowledge-tags span,.signal-grid span,.warning-list li,.related-list button span,
.related-list button > i,.exam-link-group > header b,.exam-link-list button span,.exam-link-list button > b,
.exam-link-summary,.campaign-mode-bar button > i,.campaign-mode-bar button > em,.chapter-rail-label span,
.campaign-chapter > i,.campaign-chapter span small,.campaign-chapter > em,.episode-tag,.paper-sources > em,
.campaign-map-shell > header span,.campaign-map-shell > header p,.map-progress > span,.campaign-node > b,
.campaign-node > small,.campaign-node > em,.campaign-node.active::after,.campaign-map-shell > footer,
.operation-brief > span,.operation-brief > small,.operation-status,.operation-banner > span,
.operation-banner > b,.operation-banner > em,.analysis-lock i,.stage-clear-route > span,
.stage-clear-route div p,.stage-clear-route > em,.sidestory-placeholder > div:nth-child(2) > span,
.sidestory-placeholder p,.sidestory-placeholder ul,.paper-year-switch label > span,
.paper-year-switch > small,.paper-quality,.paper-title > span,.paper-title p,.paper-stats span,
.paper-sources > span,.paper-sources a,.paper-sources small,.reward-title > span,.reward-title p,
.reward-route > span,.reward-route small,.exam-filter-group > span,.question-no span,
.exam-question > header > div:nth-child(2) > span,.question-score span,.question-body .difficulty > span,
.question-body .difficulty > i,.question-body .difficulty > em,.question-body .difficulty > small,
.question-figure figcaption,.curation-strip,.curation-strip b,.battle-label small,.candidate > i,
.candidate > span,.squad-result b,.squad-result p,.standard-squad h4,.standard-squad button > i,
.standard-squad button span b,.standard-squad button em,.standard-squad button p,
.knowledge-diagnosis header span,.knowledge-diagnosis header em,.knowledge-diagnosis small,
.knowledge-diagnosis p,.final-answer span,.analysis-steps i,.exam-pitfalls b,.exam-pitfalls p,
.mastery-list label > span,.no-related,.history-item small { font-size:11px!important; }
.question-body pre { font-size:14px; line-height:1.95; }
.question-options span,.analysis-steps p,.candidate > span,.standard-squad button span b,
.standard-squad button p,.knowledge-diagnosis p,.mastery-list label > span { font-size:12px!important; }
.question-actions button,.submit-squad,.reveal-answer,.operation-actions button,.stage-clear-route button,
.reward-route button { min-height:38px; font-size:12px!important; }
.toast { position: fixed; z-index: 200; left: 50%; bottom: 30px; transform: translate(-50%, 20px); background: #f0f1ed; color: #151719; padding: 11px 22px; font-size: 12px; font-weight: 700; opacity: 0; pointer-events: none; transition: .25s; }
.toast.show { opacity: 1; transform: translate(-50%,0); }
@media (max-width: 1100px) {
  .brand { width: 190px; } .nav-item { width: 82px; } .level { display: none; }
  .banner-panel { width: 355px; padding-left: 30px; padding-right: 30px; }
  .hero-art { inset-right: 250px; } .banner-copy { width: 390px; }
  .operator-grid { grid-template-columns: repeat(4,1fr); }
  .rules-grid { grid-template-columns: repeat(2,1fr); }
  .coverage-summary { grid-template-columns:repeat(3,1fr); }
  .kb-hub-actions { grid-template-columns:repeat(2,1fr); }
  .kb-hub-actions > :nth-child(2) { border-right:0; }
  .kb-hub-actions > :nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .syllabus-columns { grid-template-columns:repeat(2,1fr); }
  .campaign-mode-bar,.exam-difficulty-summary,.campaign-chapter-rail,.exam-campaign-map { margin-left:45px; margin-right:45px; }
  .exam-difficulty-summary { grid-template-columns:1fr 1fr 1fr; }
  .difficulty-summary-formula { grid-column:1/-1; border-top:1px solid var(--line); }
  .exam-paper-head { margin-left:45px; margin-right:45px; grid-template-columns:1fr auto; }
  .exam-reward-hub { margin-left:45px; margin-right:45px; grid-template-columns:repeat(3,1fr); }
  .reward-title { grid-column:1/-1; border-right:0; border-bottom:1px solid var(--line); }
  .paper-sources { grid-column:1/-1; padding:12px 0 0; border-left:0; border-top:1px solid var(--line); }
  .paper-sources a { display:inline-block; margin-right:18px; }
  .exam-toolbar,.question-list { margin-left:45px; margin-right:45px; }
  .sidestory-placeholder { grid-template-columns:140px 1fr; padding:40px; }
  .sidestory-placeholder > em { display:none; }
}
@media (max-width: 760px) {
  .topbar { height: 64px; backdrop-filter: none; } main { padding-top: 64px; }
  .brand { width: 146px; padding: 0 13px; } .brand-mark { width: 30px; height: 35px; } .brand b { font-size: 14px; }
  .nav { position: fixed; inset: auto 0 0; height: 62px; background: #11151a; z-index: 51; border-top: 1px solid var(--line); }
  .nav-item { flex: 1; width: auto; border: 0; font-size: 11px; padding-top: 10px; } .nav-item span { display:none; }
  .resources { margin-left:auto; } .currency { min-width: 126px; padding: 0 14px; }
  .hero { min-height: calc(100vh - 126px); padding-bottom: 560px; }
  .hero-art { inset: 0; height: 61vh; background-position: center 22%; }
  .hero-vignette { background: linear-gradient(0deg, #0b0e12 40%, transparent 78%, rgba(0,0,0,.35)); }
  .banner-copy { top: 36px; left: 22px; width: calc(100% - 44px); } .banner-copy h1 { font-size: 45px; margin-top: 4px; }
  .featured-name, blockquote { display:none; }
  .banner-panel { top:auto; width:100%; height: 520px; padding: 26px 22px 80px; }
  .banner-panel h3 { font-size: 31px; } .scroll-cue { display:none; }
  .page-heading { padding: 43px 20px 25px; } .page-heading h1 { font-size: 33px; } .progress-card { width:150px; }
  .heading-note { display:none; }
  .filter-row { padding:0 20px 20px; flex-wrap:wrap; } .filter-group { width:100%; overflow:auto; } .filter-group button { white-space:nowrap; padding:9px 14px; }
  .search { width: calc(100% - 130px); margin-left:0; }
  .operator-grid { padding:0 20px 100px; grid-template-columns: repeat(2,1fr); gap:9px; } .operator-card { min-height:245px; }
  .workshop-layout { padding:0 20px 100px; grid-template-columns:1fr; } .portrait-preview { height:380px; }
  .prompt-console { padding:20px; } .prompt-console textarea { height:350px; }
  .rules-grid { padding:0 20px 25px; grid-template-columns:1fr; } .score-formula { margin:0 20px 100px; display:block; }
  .coverage-summary { padding:0 20px 20px; grid-template-columns:repeat(2,1fr); } .coverage-card { min-height:130px; }
  #knowledgeBridgeHub { padding:0 20px 18px; }
  .knowledge-bridge-hub > header { align-items:flex-start; flex-direction:column; gap:14px; }
  .knowledge-bridge-hub > header::before { display:none; }
  .knowledge-bridge-hub > header > a { width:100%; }
  .kb-hub-stats { grid-template-columns:1fr 1fr; }
  .kb-hub-stats > div { padding:12px 14px; }
  .kb-hub-stats > div:nth-child(2) { border-right:0; }
  .kb-hub-stats > div:last-child { grid-column:1/-1; border-top:1px solid var(--line); }
  .kb-hub-actions { grid-template-columns:1fr; }
  .kb-hub-actions > a,.kb-hub-actions > button { border-right:0; border-bottom:1px solid var(--line); }
  .kb-hub-actions > :last-child { border-bottom:0; }
  .syllabus-toolbar { padding:0 20px 20px; flex-wrap:wrap; gap:10px; } .syllabus-toolbar .search { width:100%; }
  .syllabus-columns { padding:0 20px 100px; grid-template-columns:1fr; }
  .campaign-mode-bar { margin:0 20px 10px; grid-template-columns:1fr; }
  .campaign-mode-bar > button { min-height:64px; grid-template-columns:82px 1fr auto; padding:0 13px; }
  .exam-difficulty-summary { margin:0 20px 10px; grid-template-columns:1fr 1fr; }
  .difficulty-summary-title,.difficulty-summary-formula { grid-column:1/-1; }
  .exam-difficulty-summary > div { min-height:88px; padding:14px; }
  .difficulty-summary-metric { border-top:1px solid var(--line); }
  .difficulty-summary-formula > b { font-size:13px; }
  .campaign-chapter-rail { margin:0 20px 10px; min-height:72px; }
  .chapter-rail-label { display:none; }
  .campaign-chapter { flex-basis:118px; }
  .exam-paper-head { margin:0 20px 16px; padding:18px; grid-template-columns:1fr; }
  .exam-reward-hub { margin:0 20px 15px; grid-template-columns:repeat(2,1fr); }
  .exam-campaign-map { margin:0 20px 12px; }
  .campaign-map-shell > header { align-items:flex-start; padding:14px; }
  .campaign-map-shell > header p { display:none; }
  .map-progress { min-width:130px; }
  .map-progress > i { width:75px; }
  .campaign-map-shell > footer { gap:12px; overflow:auto; white-space:nowrap; }
  .campaign-map-shell > footer b { display:none; }
  .reward-route { min-width:0; border-bottom:1px solid var(--line); }
  .paper-stats { grid-template-columns:repeat(2,1fr); }
  .paper-stats .paper-difficulty { min-width:0; }
  .paper-sources { grid-column:auto; }
  .exam-toolbar { margin:0 20px 15px; display:grid; gap:8px; overflow:auto; }
  .operation-status { min-height:40px; border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .operation-actions { justify-content:flex-end; }
  .exam-filter-group { min-width:max-content; }
  .question-list { margin:0 20px; padding-bottom:100px; }
  .question-body .difficulty { position:static; width:auto; margin-bottom:12px; }
  .question-body pre { padding-right:0; padding-top:0; }
  .question-figure { margin-right:0; }
  .katex-display { font-size:.92em; text-align:left; }
  .question-options { grid-template-columns:1fr; }
  .question-detail { grid-template-columns:1fr; }
  .answer-panel { border-left:0; border-top:1px solid var(--line); }
  .candidate-grid { grid-template-columns:1fr; }
  .knowledge-diagnosis { grid-template-columns:1fr; }
  .knowledge-diagnosis header em { position:static; display:block; max-width:none; margin-top:5px; text-align:left; }
  .stage-clear-route { grid-template-columns:1fr; }
  .stage-clear-route > span { display:none; }
  .sidestory-placeholder { min-height:480px; grid-template-columns:1fr; padding:45px 25px; text-align:center; }
  .sidestory-signal { width:110px; height:110px; margin:auto; }
  .sidestory-placeholder p { margin-left:auto; margin-right:auto; }
  .exam-question > header { grid-template-columns:62px 1fr 58px; }
  .result-shell { width:96vw; max-height:88vh; overflow:auto; } .result-grid { grid-template-columns:repeat(2,1fr); padding:12px; }
  .result-grid.single-result { grid-template-columns: minmax(200px, 260px); }
  .detail-shell { width:94vw; height:90vh; display:block; overflow-y:auto; } .detail-art { min-height:300px; height:36vh; } .detail-data { padding:26px 22px 80px; overflow:visible; }
  .detail-tabs { top:0; margin:0 -22px 22px; padding:0 12px; }
  .detail-tabs button { font-size:10px; }
  .kb-detail-head { display:block; }
  .kb-detail-head > span { display:inline-block; margin-top:12px; }
  .kb-resource-grid { grid-template-columns:1fr; }
  .two-col-detail { grid-template-columns:1fr; gap:8px; }
  .signal-grid,.related-list { grid-template-columns:1fr; }
}
