:root {
  --ink: #111312;
  --paper: #f0eee8;
  --paper-2: #e7e4dc;
  --muted: #73766f;
  --line: rgba(17, 19, 18, 0.16);
  --acid: #d9ff43;
  --orange: #ff5c35;
  --blue: #83aee9;
  --panel: #181b19;
  --radius: 3px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;
  letter-spacing: .01em;
}
button, input, select { font: inherit; }
button, select { cursor: pointer; }
.noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .035;
  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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}
.topbar {
  height: 68px; position: sticky; top: 0; z-index: 15; display: flex; align-items: center;
  justify-content: space-between; padding: 0 24px; background: rgba(240,238,232,.94);
  backdrop-filter: blur(14px); border-bottom: 1px solid var(--line);
}
.brand { color: inherit; text-decoration: none; display: flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: .08em; }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; background: var(--ink); color: var(--acid); font-size: 11px; }
.brand small { color: var(--muted); font-weight: 500; letter-spacing: .08em; margin-left: 10px; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.status { color: var(--muted); font-size: 12px; margin-right: 12px; }
.status i { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #4aa66d; box-shadow: 0 0 0 4px rgba(74,166,109,.12); margin-right: 6px; }
.ghost-button, .primary-button { border: 1px solid var(--ink); padding: 9px 14px; background: transparent; font-weight: 700; font-size: 12px; }
.primary-button { background: var(--ink); color: white; }
.workspace { display: grid; grid-template-columns: 360px minmax(0, 1fr); min-height: calc(100vh - 68px); }
.control-panel {
  position: sticky; top: 68px; height: calc(100vh - 68px); padding: 38px 28px 24px; border-right: 1px solid var(--line);
  overflow-y: auto; background: var(--paper);
}
.eyebrow, .section-label { font: 700 10px/1 monospace; letter-spacing: .16em; color: var(--orange); }
.control-panel h1 { font-size: 34px; line-height: 1.06; letter-spacing: -.04em; margin: 22px 0 15px; }
.control-panel h1 em { color: var(--orange); font-style: normal; }
.intro { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 0 0 26px; max-width: 285px; }
form label { display: block; margin: 16px 0 7px; font-size: 11px; font-weight: 700; }
.input-wrap { height: 45px; display: flex; align-items: center; border: 1px solid var(--line); background: rgba(255,255,255,.27); }
.input-wrap:focus-within { border-color: var(--ink); box-shadow: inset 3px 0 var(--acid); }
.input-wrap > span { font: 700 9px monospace; color: #989b94; padding: 0 11px; }
.input-wrap input, .input-wrap select { width: 100%; height: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-weight: 650; font-size: 13px; padding-right: 8px; }
.segmented { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }
.segmented button { height: 38px; border: 0; border-right: 1px solid var(--line); background: transparent; font-size: 11px; color: var(--muted); }
.segmented button:last-child { border-right: 0; }
.segmented button.active { background: var(--ink); color: var(--acid); font-weight: 700; }
.generate-button { width: 100%; border: 0; background: var(--orange); color: #fff; margin-top: 22px; padding: 14px 15px; display: flex; justify-content: space-between; font-weight: 800; }
.generate-button:hover { filter: brightness(.94); }
.generate-button b { font-size: 18px; line-height: 1; }
.method-note { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 16px; }
.method-note span { font: 700 9px monospace; letter-spacing: .14em; color: var(--muted); }
.method-note p { font-size: 11px; font-weight: 650; margin: 6px 0 0; }

.report-shell { min-width: 0; }
.report-toolbar { height: 64px; padding: 0 32px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 140px 1fr 48px; align-items: center; gap: 18px; position: sticky; top: 68px; background: rgba(240,238,232,.94); backdrop-filter: blur(12px); z-index: 10; }
.report-id { font: 700 9px monospace; letter-spacing: .13em; color: var(--muted); }
.report-id b { color: var(--ink); margin-left: 4px; }
#sectionNav { display: flex; gap: 5px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
#sectionNav a { padding: 7px 9px; white-space: nowrap; text-decoration: none; color: var(--muted); font-size: 10px; font-weight: 650; border-radius: 20px; }
#sectionNav a:hover, #sectionNav a.active { color: var(--ink); background: #fff; }
.progress-ring { width: 42px; height: 42px; display: grid; place-items: center; border: 3px solid var(--acid); border-right-color: #c8c6bf; border-radius: 50%; font: 800 11px monospace; transform: rotate(-22deg); }
.progress-ring small { font-size: 7px; margin-left: -9px; margin-top: 17px; }
.report-section { padding: 72px clamp(35px, 6vw, 92px); border-bottom: 1px solid var(--line); scroll-margin-top: 132px; }
.hero-section { padding-top: 58px; background: radial-gradient(circle at 82% 35%, rgba(217,255,67,.32), transparent 30%); }
.hero-meta { display: flex; align-items: center; gap: 7px; }
.pill { font: 700 9px monospace; letter-spacing: .1em; padding: 5px 7px; border: 1px solid var(--ink); }
.pill.orange { background: var(--orange); color: white; border-color: var(--orange); }
.fact-tag { margin-left: auto; color: #3e7253; font-size: 9px; font-weight: 700; }
.hero-section h2 { font-size: clamp(60px, 9vw, 132px); line-height: .78; letter-spacing: -.085em; margin: 56px 0 65px; font-weight: 900; }
.hero-section h2 span { color: var(--orange); }
.hero-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; }
.lead { font-size: clamp(18px, 2.3vw, 28px); line-height: 1.45; font-weight: 620; letter-spacing: -.025em; margin: 15px 0 0; }
.score-card { border-top: 2px solid var(--ink); }
.score-card div { display: grid; grid-template-columns: 1fr 50px; align-items: center; border-bottom: 1px solid var(--line); padding: 11px 0; }
.score-card span { font-size: 11px; color: var(--muted); }
.score-card b { font: 800 20px monospace; text-align: right; }
.thesis-strip { margin-top: 50px; padding: 18px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); display: grid; grid-template-columns: 120px 1fr; align-items: center; }
.thesis-strip span { font: 700 10px monospace; color: var(--orange); }
.thesis-strip b { font-size: 16px; }
.section-heading { display: grid; grid-template-columns: 165px 1fr; margin-bottom: 55px; }
.section-heading .heading-index { display: flex; gap: 10px; align-items: flex-start; }
.section-heading .heading-index span { font: 800 13px monospace; background: var(--ink); color: var(--acid); padding: 4px; }
.section-heading .heading-index p { font: 700 10px monospace; letter-spacing: .14em; margin: 5px 0; }
.section-heading .heading-copy { min-width: 0; }
.section-heading h3 { font-size: clamp(29px, 4.3vw, 54px); line-height: 1.08; letter-spacing: -.045em; margin: 0; }
.section-heading h3 em { color: var(--orange); font-style: normal; }
.section-heading .section-subtitle { max-width: 760px; margin: 16px 0 0; color: var(--muted); font-size: clamp(14px, 1.5vw, 18px); line-height: 1.65; letter-spacing: 0; }
.loop-diagram { display: grid; grid-template-columns: 1fr 24px 1fr 24px 1fr 24px 1fr; align-items: stretch; }
.loop-diagram > i { display: grid; place-items: center; font-style: normal; color: var(--muted); }
.loop-node { border: 1px solid var(--line); padding: 20px 16px; min-height: 134px; background: rgba(255,255,255,.22); }
.loop-node.highlight { background: var(--acid); border-color: var(--ink); }
.loop-node small { font: 700 9px monospace; color: var(--orange); }
.loop-node b { display: block; font-size: 17px; margin: 24px 0 5px; }
.loop-node p { color: var(--muted); font-size: 10px; margin: 0; }
.insight-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 36px; }
.insight-card { position: relative; border-top: 2px solid var(--ink); padding: 21px 5px 10px 42px; }
.insight-card .card-index { position: absolute; left: 5px; top: 24px; font: 800 13px monospace; color: var(--orange); }
.insight-card h4 { margin: 0 0 10px; font-size: 14px; }
.insight-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.dark-section { background: var(--panel); color: #f2f1eb; }
.section-heading.light .heading-index span { background: var(--acid); color: var(--ink); }
.section-heading.light h3 em { color: var(--acid); }
.section-heading.light .section-subtitle { color: rgba(242,241,235,.72); }
.system-map { width: min(660px, 100%); aspect-ratio: 1.55; margin: 20px auto; position: relative; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.system-map::before, .system-map::after { content: ""; position: absolute; inset: 12%; border: 1px dashed rgba(255,255,255,.18); border-radius: 50%; }
.system-map::after { inset: 27%; }
.system-core, .system-orbit { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; z-index: 2; }
.system-core { width: 155px; height: 155px; border-radius: 50%; background: var(--acid); color: var(--ink); left: calc(50% - 77px); top: calc(50% - 77px); }
.system-core small, .system-orbit span { font: 700 9px monospace; color: #74786d; }
.system-core b { font-size: 20px; margin: 3px 0; }
.system-orbit { width: 142px; min-height: 72px; background: #292d2a; border: 1px solid rgba(255,255,255,.25); padding: 10px; }
.system-orbit b { margin-bottom: 6px; font-size: 14px; }
.system-orbit span { color: #a2a79e; }
.orbit-a { top: -24px; left: calc(50% - 71px); }
.orbit-b { left: -34px; top: calc(50% - 36px); }
.orbit-c { right: -34px; top: calc(50% - 36px); }
.orbit-d { bottom: -24px; left: calc(50% - 71px); }
.map-caption { display: grid; grid-template-columns: 130px 1fr; border-top: 1px solid rgba(255,255,255,.25); margin-top: 60px; padding-top: 22px; }
.map-caption span { font: 700 10px monospace; color: var(--acid); }
.map-caption p { margin: 0; color: #b6bbb2; line-height: 1.7; font-size: 13px; }
.economy-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 36px; }
.economy-flow { border-left: 2px solid var(--ink); }
.economy-flow div { padding: 5px 0 25px 25px; position: relative; }
.economy-flow div::before { content: ""; width: 9px; height: 9px; background: var(--orange); border: 4px solid var(--paper); position: absolute; left: -9px; top: 5px; }
.economy-flow span, .value-card > span { font: 700 9px monospace; color: var(--orange); }
.economy-flow b { display: block; font-size: 19px; margin: 5px 0; }
.economy-flow p { color: var(--muted); font-size: 11px; line-height: 1.5; margin: 0; }
.decision-matrix { border-top: 2px solid var(--ink); }
.decision-matrix > div { display: grid; grid-template-columns: 90px 80px 80px 1fr; border-bottom: 1px solid var(--line); align-items: center; min-height: 48px; gap: 6px; }
.decision-matrix .matrix-head { min-height: 31px; color: var(--muted); font: 700 9px monospace; }
.decision-matrix b { font: 800 11px monospace; }
.decision-matrix span { font-size: 10px; font-weight: 800; }
.decision-matrix p { color: var(--muted); font-size: 10px; }
.high { color: #328654; } .mid { color: #bc7914; } .low { color: #c74e36; }
blockquote { margin: 42px 0 0; padding: 24px 28px; border: 0; background: var(--acid); display: grid; grid-template-columns: 130px 1fr; }
blockquote span { font: 800 10px monospace; }
blockquote p { margin: 0; font-size: 15px; line-height: 1.65; font-weight: 650; }
.mastery-layers { border-top: 2px solid var(--ink); }
.mastery-layers > div { display: grid; grid-template-columns: 70px 1fr 110px; align-items: center; padding: 19px 10px; border-bottom: 1px solid var(--line); }
.mastery-layers b { font: 900 28px monospace; color: var(--orange); }
.mastery-layers strong { display: inline-block; width: 90px; font-size: 14px; }
.mastery-layers span { color: var(--muted); font-size: 12px; }
.mastery-layers em { font: 700 10px monospace; text-align: right; font-style: normal; }
.two-column-note { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 32px; }
.two-column-note div { padding: 20px; border: 1px solid var(--line); }
.two-column-note span { color: var(--orange); font: 700 10px monospace; }
.two-column-note p { font-size: 13px; margin: 12px 0 0; }
.commercial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.value-card { border: 1px solid var(--line); padding: 22px; min-height: 190px; }
.value-card b { display: block; font-size: 19px; margin: 35px 0 9px; }
.value-card p { color: var(--muted); font-size: 12px; line-height: 1.7; margin: 0; }
.value-card.risk { background: var(--ink); color: white; }
.value-card.risk p { color: #aeb2aa; }
.disclaimer, .retrieved { color: var(--muted); font-size: 9px; margin-top: 14px; }
.evaluation-board { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.eval-column { border-top: 4px solid #4d9a68; background: rgba(255,255,255,.25); padding: 20px; }
.eval-column.risk-col { border-color: var(--orange); }
.eval-column h4 { margin: 0 0 20px; }
.eval-column h4 span { float: right; font: 700 9px monospace; color: var(--muted); }
.eval-column ul { padding: 0; margin: 0; list-style: none; }
.eval-column li { padding: 13px 0; border-top: 1px solid var(--line); }
.eval-column li b { font-size: 13px; }
.eval-column li p { color: var(--muted); font-size: 11px; margin: 5px 0 0; }
.proposal { margin-top: 35px; background: var(--orange); color: white; padding: 28px; }
.proposal > span { font: 700 9px monospace; letter-spacing: .12em; }
.proposal h4 { font-size: 23px; line-height: 1.3; margin: 22px 0 12px; max-width: 700px; }
.proposal p { font-size: 12px; line-height: 1.7; margin: 0; max-width: 700px; color: rgba(255,255,255,.8); }
.sources-section { background: var(--paper-2); }
.legend { display: flex; gap: 22px; margin-bottom: 25px; font: 700 10px monospace; }
.source-fact { color: #3e7253; } .source-infer { color: #9a6922; } .source-opinion { color: #a34231; } .source-method { color: #436b9e; }
.source-list { border-top: 2px solid var(--ink); }
.source-list > * { color: inherit; text-decoration: none; display: grid; grid-template-columns: 1fr 1.5fr; gap: 20px; padding: 17px 5px; border-bottom: 1px solid var(--line); }
.source-list b { font-size: 12px; }
.source-list span { color: var(--muted); font-size: 11px; line-height: 1.5; }
.source-list a:hover span { color: var(--orange); }

/* Analysis methodology */
.methodology-section { background: #e7e4dc; }
.method-framework { width: min(760px,100%); aspect-ratio:1.7; margin:0 auto 50px; position:relative; border:1px solid var(--line); border-radius:50%; }
.method-framework::before, .method-framework::after { content:""; position:absolute; border:1px dashed var(--line); border-radius:50%; }.method-framework::before { inset:13%; }.method-framework::after { inset:27%; }
.method-center { position:absolute; z-index:2; left:calc(50% - 110px); top:calc(50% - 55px); width:220px; height:110px; background:var(--ink); color:white; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.method-center small { color:var(--acid); font:800 8px monospace; }.method-center b { font-size:15px; margin-top:8px; }
.method-node { position:absolute; z-index:3; width:165px; min-height:90px; background:var(--paper); border:1px solid var(--ink); padding:13px; }.method-node span { color:var(--orange); font:800 9px monospace; }.method-node b { display:block; font-size:11px; margin:8px 0 4px; }.method-node p { color:var(--muted); font-size:8px; line-height:1.45; margin:0; }
.method-node.m1 { left:calc(50% - 82px); top:-18px; }.method-node.m2 { right:-20px; top:22%; }.method-node.m3 { right:9%; bottom:-24px; }.method-node.m4 { left:9%; bottom:-24px; }.method-node.m5 { left:-20px; top:22%; }
.system-canvas { display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid var(--ink); border-left:1px solid var(--line); }.system-canvas > div { min-height:145px; padding:18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.system-canvas .canvas-title { grid-column:1/-1; min-height:auto; display:flex; justify-content:space-between; align-items:center; background:var(--ink); color:white; }.canvas-title span { color:var(--acid); font:800 9px monospace; }.system-canvas small { color:var(--orange); font:800 9px monospace; }.system-canvas b { display:block; margin:24px 0 7px; font-size:14px; }.system-canvas p { color:var(--muted); font-size:10px; line-height:1.55; }
.reverse-depth { display:grid; grid-template-columns:150px repeat(4,1fr); margin-top:36px; align-items:stretch; }.reverse-heading { background:var(--orange); color:white; padding:18px; }.reverse-heading span { display:block; font:800 8px monospace; }.reverse-heading b { display:block; margin-top:15px; font-size:13px; }.depth-step { border:1px solid var(--line); border-left:0; padding:15px; display:flex; gap:11px; align-items:center; }.depth-step i { min-width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:#d5d2ca; font:800 9px monospace; font-style:normal; }.depth-step span { color:var(--muted); font-size:9px; line-height:1.45; }.depth-step span b { display:block; color:var(--ink); font-size:11px; }.depth-step.active { background:var(--acid); }.depth-step.active i { background:var(--ink); color:white; }
.reference-note { display:grid; grid-template-columns:120px 1fr; border-left:3px solid #6488b7; padding:12px 15px; margin-top:24px; background:rgba(100,136,183,.08); }.reference-note span { color:#436b9e; font:800 9px monospace; }.reference-note p { margin:0; color:var(--muted); font-size:10px; line-height:1.6; }.reference-note.compact { margin-top:18px; }.reference-note.dark-note { background:rgba(131,174,233,.08); border-color:#83aee9; }.reference-note.dark-note span { color:#83aee9; }.reference-note.dark-note p { color:#aeb3ab; }

/* Deep-dive modules */
.combat-thesis { display: grid; grid-template-columns: 1fr 1.4fr; gap: 35px; padding: 24px; border: 1px solid var(--ink); margin-bottom: 28px; }
.combat-thesis div { display: flex; flex-direction: column; gap: 8px; }
.combat-thesis span, .mini-heading span, .proposal-tag { font: 800 9px monospace; color: var(--orange); letter-spacing: .12em; }
.combat-thesis b { font-size: 21px; line-height: 1.3; }
.combat-thesis p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.combat-pipeline { display: grid; grid-template-columns: 1fr 20px 1fr 20px 1fr 20px 1fr 20px 1fr; align-items: stretch; margin: 28px 0 42px; }
.combat-pipeline > div { min-height: 110px; border: 1px solid var(--line); padding: 15px 13px; display: flex; flex-direction: column; }
.combat-pipeline > div.accent { background: var(--orange); color: white; border-color: var(--orange); }
.combat-pipeline i { display: grid; place-items: center; color: var(--muted); font-style: normal; }
.combat-pipeline small { font: 700 8px monospace; color: var(--orange); }
.combat-pipeline .accent small { color: white; }
.combat-pipeline b { font-size: 13px; margin: 18px 0 6px; }
.combat-pipeline span { color: var(--muted); font-size: 9px; line-height: 1.4; }
.combat-pipeline .accent span { color: rgba(255,255,255,.75); }
.weapon-workbench { margin:0 0 42px; padding:26px; border:2px solid var(--ink); background:#e7e4dc; }
.workbench-head { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:stretch; }.workbench-head > div:first-child span { color:var(--orange); font:800 9px monospace; }.workbench-head h4 { font-size:25px; margin:12px 0 0; }.ttk-formula { background:var(--ink); color:white; padding:18px; }.ttk-formula small { color:var(--acid); font:800 8px monospace; }.ttk-formula b { display:block; font:800 16px monospace; margin:15px 0 7px; }.ttk-formula p { color:#9ea49c; font-size:9px; margin:0; }
.ttk-visual { display:grid; grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr 22px 1.1fr; align-items:stretch; margin:20px 0; }.ttk-visual > div { background:var(--paper); border:1px solid var(--line); padding:14px 10px; min-height:80px; }.ttk-visual > i { display:grid; place-items:center; font-style:normal; color:var(--orange); font-weight:900; }.ttk-visual span { color:var(--muted); font:700 8px monospace; }.ttk-visual b { display:block; font-size:11px; margin-top:13px; }.ttk-visual .ttk-base { border-color:var(--ink); }.ttk-visual .ttk-result { background:var(--acid); border-color:var(--ink); }
.breakpoint-layout { display:grid; grid-template-columns:1.45fr .55fr; gap:14px; }.breakpoint-chart { border:1px solid var(--line); background:var(--paper); }.bp-title { display:flex; justify-content:space-between; padding:14px; border-bottom:1px solid var(--line); }.bp-title b { font-size:12px; }.bp-title span { color:var(--orange); font:800 8px monospace; }.breakpoint-chart svg { display:block; width:100%; }.breakpoint-chart svg text { font:700 10px "Microsoft YaHei",sans-serif; fill:var(--ink); }.breakpoint-chart > p { color:var(--muted); font-size:8px; padding:0 14px 12px; margin:0; }
.parameter-stack { display:flex; flex-direction:column; gap:8px; }.parameter-stack > div { flex:1; background:var(--paper); border-left:3px solid var(--orange); padding:12px; }.parameter-stack span { color:var(--orange); font:800 8px monospace; }.parameter-stack b { display:block; font-size:11px; margin:6px 0 3px; }.parameter-stack p { color:var(--muted); font-size:8px; line-height:1.4; margin:0; }
.weapon-design-table { margin-top:20px; border-top:2px solid var(--ink); }.weapon-design-table > div { display:grid; grid-template-columns:.8fr 1.1fr 1.2fr 1.1fr 1.2fr; gap:12px; min-height:58px; align-items:center; border-bottom:1px solid var(--line); }.weapon-design-table .wd-head { min-height:32px; color:var(--muted); font:700 8px monospace; }.weapon-design-table b { font-size:10px; }.weapon-design-table p { color:var(--muted); font-size:8px; line-height:1.4; }
.deep-dive-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mechanic-card { border: 1px solid var(--line); padding: 24px; background: rgba(255,255,255,.22); overflow: hidden; }
.mechanic-card.wide { grid-column: 1 / -1; }
.card-kicker { color: var(--orange); font: 800 9px monospace; letter-spacing: .12em; }
.mechanic-card h4 { font-size: 20px; margin: 11px 0 24px; }
.mechanic-card > p { color: var(--muted); font-size: 12px; line-height: 1.75; }
.counter-strafe-visual { background: #dfddd6; border: 1px solid var(--line); }
.counter-strafe-visual svg { display: block; width: 100%; }
.counter-strafe-visual text { font: 700 10px "Microsoft YaHei", sans-serif; fill: var(--ink); }
.mechanic-points { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 18px; }
.mechanic-points p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.mechanic-points b { display: block; color: var(--ink); font-size: 11px; margin-bottom: 5px; }
.lethality-figure { height: 230px; display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; background: var(--ink); padding: 20px; }
.target-body { position: relative; width: 88px; height: 185px; margin: auto; }
.target-body i { display: block; position: absolute; left: 50%; transform: translateX(-50%); background: var(--paper); }
.target-body .head { top: 0; width: 46px; height: 46px; border-radius: 50%; background: var(--orange); }
.target-body .torso { top: 52px; width: 82px; height: 84px; clip-path: polygon(10% 0,90% 0,78% 100%,22% 100%); }
.target-body .legs { top: 140px; width: 68px; height: 45px; clip-path: polygon(0 0,42% 0,50% 100%,58% 0,100% 0,83% 100%,17% 100%); background: #8f948d; }
.damage-zones { display: flex; flex-direction: column; gap: 14px; }
.damage-zones span { color: #aeb2aa; font-size: 9px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.13); }
.damage-zones b { color: var(--acid); display: block; font: 800 10px monospace; margin-bottom: 4px; }
.weapon-map { height: 230px; background-image: linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size: 25% 25%; border-left: 2px solid var(--ink); border-bottom: 2px solid var(--ink); position: relative; }
.axis-y, .axis-x { position: absolute; font: 700 8px monospace; color: var(--muted); }
.axis-y { left: 5px; top: 5px; }.axis-x { right: 5px; bottom: 5px; }
.wp { position: absolute; min-width: 86px; padding: 9px; background: var(--paper); border: 1px solid var(--ink); font-size: 11px; }
.wp small { display: block; color: var(--muted); font: 700 8px monospace; margin-top: 4px; }.shotgun { left: 8%; bottom: 18%; }.smg { left: 27%; top: 27%; }.rifle { left: 52%; top: 15%; background: var(--acid); }.sniper { right: 5%; bottom: 30%; }
.utility-stage { background: #dfddd6; }.utility-stage svg { width: 100%; display: block; }.utility-stage text { font: 700 11px "Microsoft YaHei", sans-serif; }
.utility-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }
.utility-grid > div { padding: 18px; border-right: 1px solid var(--line); }.utility-grid > div:last-child { border-right: 0; }
.utility-grid b { display: block; font-size: 13px; }.utility-grid span { color: var(--orange); font: 700 9px monospace; }.utility-grid p { color: var(--muted); font-size: 10px; line-height: 1.6; }
.combat-team-layer { margin-top: 40px; border-top: 2px solid var(--ink); padding-top: 28px; }
.mini-heading { display: grid; grid-template-columns: 150px 1fr; align-items: baseline; margin-bottom: 24px; }.mini-heading h4 { font-size: 21px; margin: 0; }
.trade-diagram { display: grid; grid-template-columns: 1fr 65px 1fr 65px 1fr; align-items: center; gap: 6px; margin: 20px 0; }.trade-diagram > i { font: 700 9px monospace; color: var(--muted); text-align: center; font-style: normal; }
.player-dot { min-height: 80px; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid; font: 900 15px monospace; }.player-dot.t { background: rgba(255,92,53,.12); border-color: var(--orange); }.player-dot.ct { background: rgba(131,174,233,.18); border-color: #5d8ccc; }.player-dot small { color: var(--muted); margin-top: 6px; }
.cause-table { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }.cause-table > div { padding: 17px; border-right: 1px solid var(--line); }.cause-table > div:last-child { border: 0; }.cause-table b { font-size: 12px; }.cause-table p { color: var(--muted); font-size: 10px; line-height: 1.55; }

.level-intro { display: grid; grid-template-columns: 1.5fr 1fr; gap: 35px; align-items: end; margin-bottom: 28px; }.level-intro p { color: #b6bbb2; font-size: 14px; line-height: 1.75; }.level-intro span { color: var(--acid); font: 700 9px monospace; border-left: 2px solid var(--acid); padding-left: 12px; }
.game-theory-panel { margin:0 0 34px; border:1px solid rgba(255,255,255,.18); padding:24px; background:#252a26; }.balance-thesis { display:grid; grid-template-columns:135px 1fr; gap:10px 20px; align-items:start; }.balance-thesis > span { color:var(--acid); font:800 9px monospace; }.balance-thesis h4 { font-size:22px; margin:0; }.balance-thesis p { grid-column:2; color:#aeb3ab; font-size:11px; line-height:1.7; margin:0; }
.isp-loop { display:grid; grid-template-columns:1fr 28px 1fr 28px 1fr 28px; align-items:stretch; margin:28px 0; }.isp-loop > div { background:#303530; padding:16px; border-top:3px solid var(--acid); }.isp-loop > i { display:grid; place-items:center; color:var(--acid); font-style:normal; }.isp-loop small { color:var(--acid); font:800 8px monospace; }.isp-loop b { display:block; font-size:13px; margin:12px 0 5px; }.isp-loop span { color:#999f97; font-size:9px; }
.solvable-imbalance { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.solvable-imbalance > div { border:1px solid rgba(255,255,255,.15); padding:15px; }.solvable-imbalance span { color:#83aee9; font:800 8px monospace; }.solvable-imbalance b { display:block; font-size:12px; margin:11px 0 5px; }.solvable-imbalance p { color:#989e96; font-size:9px; line-height:1.55; }
.phase-balance { margin-top:28px; border-top:1px solid rgba(255,255,255,.18); padding-top:18px; }.phase-axis { display:flex; justify-content:space-between; margin-left:130px; color:#7f857e; font:700 8px monospace; }.phase-line { display:grid; grid-template-columns:120px 1fr; gap:10px; margin:14px 0; align-items:center; }.phase-line b { font-size:9px; }.phase-line i { display:block; height:13px; position:relative; background:#333833; overflow:hidden; }.phase-line i::after { content:""; position:absolute; inset:0; clip-path:polygon(0 15%,35% 18%,58% 55%,100% 82%,100% 100%,0 100%); }.ct-line i::after { background:#83aee9; }.t-line i::after { background:#ff805e; clip-path:polygon(0 82%,35% 80%,58% 45%,100% 12%,100% 100%,0 100%); }.phase-line span { grid-column:2; color:#90968f; font-size:8px; margin-top:-10px; }.phase-balance > p { color:#747a73; font-size:8px; margin-left:130px; }
.map-figure { border: 1px solid rgba(255,255,255,.18); background: #202421; }.figure-bar { display: flex; justify-content: space-between; padding: 13px 16px; border-bottom: 1px solid rgba(255,255,255,.15); }.figure-bar b { font-size: 11px; }.figure-bar span { font: 700 8px monospace; color: #92978f; }
.map-figure > svg { display: block; width: 100%; }.map-figure .zone { fill: #2b302c; stroke: #656b64; stroke-width: 3; }.map-figure .wall { fill: none; stroke: #b9bcb5; stroke-width: 15; stroke-linecap: square; }.t-route { fill: none; stroke: #ff805e; stroke-width: 5; }.t-route.secondary { stroke-width: 3; stroke-dasharray: 8 6; }.ct-route { fill: none; stroke: #83aee9; stroke-width: 5; }.map-node text { text-anchor: middle; fill: #111312; font: 800 12px "Microsoft YaHei",sans-serif; }.map-node.t-node circle { fill: #ff805e; }.map-node.ct-node circle { fill: #83aee9; }.map-node.site rect { fill: var(--acid); }.map-node.control circle { fill: #eeeae0; }.map-label text { fill: #c2c6bf; font: 700 11px "Microsoft YaHei",sans-serif; }.contact circle { fill: var(--acid); stroke: #111312; stroke-width: 3; }.contact text { fill: var(--acid); font: 700 10px "Microsoft YaHei",sans-serif; }
.figure-legend { display: flex; gap: 28px; padding: 13px 16px; border-top: 1px solid rgba(255,255,255,.15); font: 700 9px monospace; }.figure-legend span::before { content:""; display:inline-block; width:18px; height:3px; vertical-align:middle; margin-right:7px; }.legend-t::before { background:#ff805e; }.legend-ct::before { background:#83aee9; }.legend-contact::before { background:var(--acid); }
.level-layers { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 26px 0 48px; }.level-layers > div { background: #292d2a; padding: 22px; border-top: 3px solid var(--acid); }.level-layers span { color: var(--acid); font: 800 9px monospace; }.level-layers b { display: block; font-size: 18px; margin: 18px 0 8px; }.level-layers p { color: #aeb3aa; font-size: 11px; line-height: 1.65; min-height: 55px; }.level-layers em { color: #f0eee8; font-size: 10px; font-style: normal; }
.choke-analysis { border-top: 1px solid rgba(255,255,255,.2); padding-top: 30px; }.choke-analysis .mini-heading h4 { color: white; }.choke-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; }.choke-visual svg { width: 100%; display: block; border: 1px solid rgba(255,255,255,.18); }.choke-visual text { font: 700 10px "Microsoft YaHei",sans-serif; }.choke-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.choke-notes > div { padding: 15px; border: 1px solid rgba(255,255,255,.16); }.choke-notes b { color: var(--acid); font-size: 11px; }.choke-notes p { color: #9fa49c; font-size: 10px; line-height: 1.55; }
.level-metrics { margin-top: 42px; border-top: 2px solid var(--acid); }.level-metrics > div { display: grid; grid-template-columns: 1fr 1fr 1.2fr 1.2fr; min-height: 52px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.15); gap: 15px; }.level-metrics .metric-head { min-height: 34px; color: #8f958d; font: 700 8px monospace; }.level-metrics b { font-size: 11px; }.level-metrics span, .level-metrics p { color: #aeb3aa; font-size: 10px; }.map-case-study { display: grid; grid-template-columns: 120px repeat(3,1fr); gap: 1px; background: rgba(255,255,255,.15); margin-top: 34px; }.map-case-study > * { background: #252a26; padding: 16px; }.map-case-study > span { color: var(--acid); font: 800 9px monospace; grid-row:span 2; }.map-case-study b { font-size: 11px; }.map-case-study p { color: #9da39b; font-size: 9px; line-height: 1.55; }

.growth-definition { display: grid; grid-template-columns: 130px 1fr; background: var(--acid); padding: 23px; margin-bottom: 35px; }.growth-definition > span { font: 800 9px monospace; }.growth-definition p { margin: 0; font-size: 13px; line-height: 1.65; }.learning-loop { margin-top: 45px; }.learning-cycle { display: grid; grid-template-columns: 1fr 22px 1fr 22px 1fr 22px 1fr 22px; align-items: stretch; }.learning-cycle > div { border: 1px solid var(--line); padding: 17px; }.learning-cycle b { display: block; font-size: 12px; }.learning-cycle span { color: var(--muted); font-size: 9px; }.learning-cycle i { display: grid; place-items: center; color: var(--orange); font-style: normal; }
.growth-roadmap { margin-top: 38px; border-top: 2px solid var(--ink); }.roadmap-axis { margin-left: 90px; display: flex; justify-content: space-between; padding: 10px 0; color: var(--muted); font: 700 8px monospace; }.roadmap-row { display: grid; grid-template-columns: 75px 1fr 2fr; gap: 15px; align-items: center; border-top: 1px solid var(--line); padding: 15px 0; }.roadmap-row b { font-size: 12px; }.roadmap-row i { display: block; height: 7px; background: #d2d0c9; position: relative; }.roadmap-row i::after { content:""; position:absolute; left:0; top:0; bottom:0; width:var(--w); background:linear-gradient(90deg,var(--orange),var(--acid)); }.roadmap-row span { color: var(--muted); font-size: 10px; }
.growth-friction { margin-top: 42px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.growth-friction h4, .growth-friction .solution { grid-column: 1 / -1; }.growth-friction h4 { font-size: 22px; margin: 0 0 12px; }.growth-friction > div { border: 1px solid var(--line); padding: 18px; }.growth-friction b { font-size: 12px; }.growth-friction p { color: var(--muted); font-size: 10px; line-height: 1.6; }.growth-friction .solution { background: var(--ink); color: white; padding: 18px; margin: 0; }.solution span { color: var(--acid); font: 800 9px monospace; margin-right: 14px; }

.matching-overview { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 35px; padding: 24px 0; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }.matching-overview > div:first-child { display:flex; flex-direction:column; gap:8px; }.matching-overview span { color: var(--acid); font: 800 9px monospace; }.matching-overview b { font-size: 18px; }.constraint-chips { display: flex; flex-wrap: wrap; gap: 7px; }.constraint-chips i { font-style: normal; font-size: 9px; padding: 6px 8px; border: 1px solid rgba(255,255,255,.25); color: #b8bdb5; }
.journey-map { margin: 36px 0; border: 1px solid rgba(255,255,255,.17); }.journey-track { display: grid; grid-template-columns: 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr; padding: 22px 15px; }.journey-track > i { display: grid; place-items: center; color: #737a72; font-style: normal; }.journey-step { position: relative; min-height: 145px; padding: 14px 10px; background: #292e2a; border-top: 3px solid #555b55; display:flex; flex-direction:column; }.journey-step.accent { border-color: var(--acid); background: #343a31; }.journey-step small { color: var(--acid); font: 800 9px monospace; }.journey-step b { font-size: 12px; margin: 17px 0 7px; }.journey-step span { color: #a6aba3; font-size: 9px; line-height: 1.5; }.journey-step em { margin-top:auto; color:#6f756e; font:700 8px monospace; font-style:normal; }
.match-state-machine { margin-top: 50px; }.match-state-machine .mini-heading h4 { color: white; }.match-state-machine > svg { width: 100%; display:block; background:#202421; border:1px solid rgba(255,255,255,.17); }.state-main rect { fill:#303631; stroke:#d9ff43; }.state-main text { fill:white; text-anchor:middle; font:700 11px "Microsoft YaHei",sans-serif; }.state-main text:first-of-type { fill:#d9ff43; font-family:monospace; font-size:9px; }.state-line path { stroke:#d9ff43; stroke-width:2; fill:none; }.state-edge rect { fill:#2a2421; stroke:#ff805e; }.state-edge text { fill:#ffcabd; text-anchor:middle; font:700 10px "Microsoft YaHei",sans-serif; }.state-edge text:nth-of-type(even) { fill:#a99d98; font-size:9px; }.state-edge path { stroke:#ff805e; stroke-width:2; fill:none; }
.veto-layout { display:grid; grid-template-columns:1.35fr .65fr; gap:22px; margin-top:40px; }.veto-board { border:1px solid rgba(255,255,255,.17); padding:20px; }.veto-title span { color:var(--acid); font:800 9px monospace; }.veto-title b { display:block; margin:8px 0 20px; }.map-pool { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }.map-pool div { height:125px; background:#323732; display:flex; flex-direction:column; justify-content:flex-end; padding:9px; font:800 9px monospace; position:relative; overflow:hidden; }.map-pool div::before { content:""; position:absolute; inset:0; background:linear-gradient(150deg,transparent 40%,rgba(255,255,255,.08)); }.map-pool small { color:#8c928b; font-size:7px; margin-top:4px; }.map-pool .banned { opacity:.55; background:#4d2b23; text-decoration:line-through; }.map-pool .banned.blue { background:#26394c; }.map-pool .picked { background:var(--acid); color:var(--ink); }.map-pool .picked small { color:#575b51; }.veto-analysis { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.veto-analysis > div { border:1px solid rgba(255,255,255,.17); padding:12px; }.veto-analysis b { color:var(--acid); font-size:10px; }.veto-analysis p { color:#9fa59d; font-size:9px; line-height:1.55; }
.rank-ecosystem { display:grid; grid-template-columns:1fr 100px 1fr; align-items:stretch; margin:45px 0; }.rank-card { padding:24px; border:1px solid rgba(255,255,255,.2); }.rank-card > span { color:var(--acid); font:800 9px monospace; }.rank-card h4 { font:900 30px monospace; margin:24px 0 9px; }.rank-card p { color:#aeb3ab; font-size:11px; line-height:1.65; }.rank-card > b { display:block; margin-top:20px; color:white; font-size:11px; }.rank-card.competitive { border-color:#7298ca; }.rank-card.competitive > span { color:#83aee9; }.rank-bridge { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.rank-bridge i { font-style:normal; color:var(--acid); font-size:10px; }.rank-bridge span { color:#747a73; font-size:8px; margin-top:5px; }
.edge-case-table { border-top:2px solid var(--acid); }.edge-case-table > div { display:grid; grid-template-columns:.55fr 1.5fr 1.25fr 1.25fr; gap:15px; min-height:64px; align-items:center; border-bottom:1px solid rgba(255,255,255,.14); }.edge-case-table .edge-head { min-height:34px; color:#858b84; font:700 8px monospace; }.edge-case-table b { color:var(--acid); font-size:11px; }.edge-case-table p { color:#aab0a8; font-size:9px; line-height:1.5; }.system-boundary { color:#858b84; font-size:9px; margin-top:15px; }

.retention-loop { width:min(700px,100%); aspect-ratio:1.75; margin:10px auto 65px; position:relative; border:1px dashed var(--line); border-radius:50%; }.retention-loop::after { content:""; position:absolute; inset:18%; border:1px dashed var(--line); border-radius:50%; }.retention-core { position:absolute; left:calc(50% - 115px); top:calc(50% - 55px); width:230px; height:110px; background:var(--ink); color:white; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; z-index:2; }.retention-core small { color:var(--acid); font:800 8px monospace; }.retention-core b { margin-top:9px; font-size:14px; }.retention-orbit { position:absolute; z-index:3; width:150px; background:var(--paper); border:1px solid var(--ink); padding:12px; }.retention-orbit span { color:var(--orange); font:800 8px monospace; }.retention-orbit b { display:block; font-size:11px; margin:5px 0; }.retention-orbit p { color:var(--muted); font-size:8px; margin:0; }.r1 { left:2%; top:10%; }.r2 { right:2%; top:10%; }.r3 { left:2%; bottom:8%; }.r4 { right:2%; bottom:8%; }
.frustration-model { border-top:2px solid var(--ink); padding-top:28px; }.frustration-equation { display:grid; grid-template-columns:1fr 30px 1fr 30px 1fr 1.2fr; align-items:center; gap:6px; margin:20px 0; }.frustration-equation span { background:#ddd9d0; padding:18px; text-align:center; font-size:12px; font-weight:800; }.frustration-equation b { text-align:center; color:var(--orange); }.frustration-equation i { background:var(--orange); color:white; padding:18px; text-align:center; font-style:normal; font-weight:800; font-size:12px; }.guardrail-row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.guardrail-row > div { border:1px solid var(--line); padding:18px; }.guardrail-row b { font-size:12px; }.guardrail-row p { color:var(--muted); font-size:10px; line-height:1.6; }
.loss-journey { display:grid; grid-template-columns:1fr 30px 1fr 30px 1fr; align-items:stretch; margin:45px 0; }.loss-journey > i { display:grid; place-items:center; color:var(--orange); font-style:normal; }.loss-stage { border-top:3px solid var(--ink); background:rgba(255,255,255,.25); padding:18px; }.loss-stage.danger { border-color:var(--orange); }.loss-stage span { color:var(--orange); font:800 8px monospace; }.loss-stage b { display:block; margin:14px 0 7px; }.loss-stage p { color:var(--muted); font-size:10px; line-height:1.55; }
.protection-matrix { border-top:2px solid var(--ink); }.protection-matrix > div { display:grid; grid-template-columns:.8fr 1.3fr 1.2fr 1.3fr; gap:15px; min-height:68px; align-items:center; border-bottom:1px solid var(--line); }.protection-matrix .matrix-head { min-height:35px; color:var(--muted); font:700 8px monospace; }.protection-matrix b { font-size:11px; }.protection-matrix p { color:var(--muted); font-size:9px; line-height:1.5; }
.anti-tilt-proposal { margin-top:42px; background:var(--ink); color:white; padding:28px; }.anti-tilt-proposal h4 { font-size:26px; margin:20px 0 8px; }.anti-tilt-proposal > p { color:#b4b9b1; font-size:12px; max-width:720px; line-height:1.7; }.review-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:25px 0 15px; }.review-cards > div { background:#292e2a; border-top:3px solid; padding:18px; }.review-cards .positive { border-color:#63a879; }.review-cards .warning { border-color:var(--orange); }.review-cards .target { border-color:var(--acid); }.review-cards span { font:800 8px monospace; color:#a7aca4; }.review-cards b { display:block; margin:16px 0 7px; font-size:12px; }.review-cards p { color:#929890; font-size:9px; }.anti-tilt-proposal > small { color:#7f857e; font-size:8px; }

.editable[contenteditable="true"], [contenteditable="true"] { outline: 1px dashed var(--orange); outline-offset: 5px; background: rgba(255,92,53,.05); }
.hidden { display: none !important; }
.empty-state { min-height: calc(100vh - 132px); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 50px; }
.empty-state span { font: 700 10px monospace; letter-spacing: .14em; color: var(--orange); }
.empty-state h2 { font-size: 40px; margin: 14px 0; }
.empty-state p { max-width: 520px; color: var(--muted); line-height: 1.7; }
.scanner { width: 90px; height: 90px; border: 1px solid var(--line); border-radius: 50%; margin-bottom: 30px; position: relative; }
.scanner::after { content: ""; position: absolute; width: 50%; height: 1px; background: var(--orange); left: 50%; top: 50%; transform-origin: left; animation: scan 1.6s linear infinite; }
@keyframes scan { to { transform: rotate(360deg); } }
.toast { position: fixed; bottom: 24px; left: 50%; z-index: 30; transform: translate(-50%, 30px); background: var(--ink); color: white; padding: 11px 16px; font-size: 12px; opacity: 0; pointer-events: none; transition: .25s; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1050px) {
  .workspace { grid-template-columns: 300px minmax(0,1fr); }
  .control-panel { padding-left: 20px; padding-right: 20px; }
  .report-section { padding-left: 36px; padding-right: 36px; }
  .loop-diagram { grid-template-columns: 1fr 1fr; gap: 10px; }
  .loop-diagram > i { display: none; }
  .economy-layout { grid-template-columns: 1fr; }
  .combat-pipeline { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }.combat-pipeline > i { display:none; }
  .journey-track { grid-template-columns:repeat(4,1fr); gap:8px; }.journey-track > i { display:none; }
  .map-pool { grid-template-columns:repeat(4,1fr); }
  .map-case-study { grid-template-columns:1fr 1fr; }.map-case-study > span { grid-column:1/-1; grid-row:auto; }
  .ttk-visual { grid-template-columns:repeat(3,1fr); gap:8px; }.ttk-visual > i { display:none; }
}
@media (max-width: 760px) {
  .topbar { height: auto; min-height: 62px; padding: 12px 15px; }
  .brand small, .status, .ghost-button { display: none; }
  .workspace { display: block; }
  .control-panel { position: relative; top: auto; height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .report-toolbar { top: 62px; padding: 0 16px; grid-template-columns: 1fr 43px; }
  .report-id { display: none; }
  .report-section { padding: 52px 20px; scroll-margin-top: 126px; }
  .hero-grid, .section-heading, .insight-grid, .commercial-grid, .evaluation-board { grid-template-columns: 1fr; }
  .hero-section h2 { margin: 45px 0; }
  .section-heading { gap: 24px; }
  .loop-diagram { grid-template-columns: 1fr; }
  .system-map { transform: scale(.88); margin: -10px auto; }
  .decision-matrix > div { grid-template-columns: 75px 60px 60px 1fr; }
  .two-column-note { grid-template-columns: 1fr; }
  blockquote, .map-caption, .source-list > * { grid-template-columns: 1fr; gap: 9px; }
  .combat-thesis, .deep-dive-grid, .level-intro, .choke-grid, .matching-overview, .veto-layout, .workbench-head, .breakpoint-layout, .balance-thesis { grid-template-columns:1fr; }
  .mechanic-card.wide { grid-column:auto; }.mechanic-points, .utility-grid, .cause-table, .level-layers, .growth-friction, .guardrail-row, .review-cards { grid-template-columns:1fr; }
  .utility-grid > div, .cause-table > div { border-right:0; border-bottom:1px solid var(--line); }
  .mini-heading, .growth-definition { grid-template-columns:1fr; gap:9px; }
  .trade-diagram { grid-template-columns:1fr; }.trade-diagram > i { padding:5px; }
  .learning-cycle { grid-template-columns:1fr; gap:7px; }.learning-cycle > i { min-height:15px; }
  .roadmap-row { grid-template-columns:55px 1fr; }.roadmap-row span { grid-column:1/-1; }.roadmap-axis { margin-left:70px; }
  .journey-track { grid-template-columns:1fr 1fr; }.rank-ecosystem { grid-template-columns:1fr; }.rank-bridge { padding:16px; }
  .edge-case-table > div, .protection-matrix > div, .level-metrics > div { grid-template-columns:1fr 1fr; padding:12px 0; }.edge-case-table .edge-head, .protection-matrix .matrix-head, .level-metrics .metric-head { display:none; }
  .frustration-equation { grid-template-columns:1fr; }.frustration-equation b { padding:3px; }
  .loss-journey { grid-template-columns:1fr; gap:8px; }.loss-journey > i { min-height:15px; }
  .retention-loop { transform:scale(.86); margin-left:-4%; width:108%; }
  .method-framework { transform:scale(.82); width:118%; margin-left:-9%; }.system-canvas { grid-template-columns:1fr; }.system-canvas .canvas-title { grid-column:auto; }.reverse-depth { grid-template-columns:1fr; }.depth-step { border-left:1px solid var(--line); }
  .balance-thesis p { grid-column:auto; }.weapon-design-table > div { grid-template-columns:1fr 1fr; padding:10px 0; }.weapon-design-table .wd-head { display:none; }.isp-loop, .solvable-imbalance { grid-template-columns:1fr; }.isp-loop > i { min-height:14px; }.phase-axis { margin-left:0; }.phase-line { grid-template-columns:1fr; }.phase-line span { grid-column:auto; margin:0; }.phase-balance > p { margin-left:0; }.reference-note { grid-template-columns:1fr; gap:6px; }
}

@media print {
  .topbar, .control-panel, .report-toolbar, .noise, .toast { display: none !important; }
  .workspace { display: block; }
  .report-section { break-inside: avoid; padding: 38px; }
  .dark-section { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
