
:root{--bg:#0b1220;--surface:#111b30;--ink:#dbe4f3;--muted:#8ea3c2;--line:#223354;
--accent:#5aa2ff;--accent-soft:rgba(90,162,255,.12);--teal:#2dd4bf;--teal-soft:rgba(45,212,191,.10);
--amber:#f0a35e;--amber-soft:rgba(240,163,94,.10);--green:#3ecf8e;--green-soft:rgba(62,207,142,.10);
--red:#f47174;--purple:#b09af8;--purple-soft:rgba(176,154,248,.10);--orange:#f0a35e;--hy:#fde68a}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);line-height:1.65;font-size:16px;
font-family:ui-sans-serif,system-ui,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--accent)}a:hover{text-decoration:underline}
.topbar{position:sticky;top:0;z-index:50;background:rgba(11,18,32,.95);
border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.topbar .wrap{max-width:1200px;margin:0 auto;display:flex;gap:8px;align-items:center;
overflow-x:auto;padding:10px 20px}
.topbar .brand{font-weight:800;color:var(--teal);white-space:nowrap;margin-right:8px}
.topbar a.ch{white-space:nowrap;font-size:13px;font-weight:600;color:var(--muted);
border:1px solid var(--line);border-radius:99px;padding:5px 12px}
.topbar a.ch:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}
.hero{max-width:1200px;margin:0 auto;padding:46px 20px 6px}
.hero h1{font-size:clamp(26px,4.5vw,40px)}
.hero p{color:var(--muted);max-width:820px;margin-top:10px}
.mastertoc{max-width:1200px;margin:24px auto 0;padding:0 20px}
.mastertoc .panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 22px}
.mastertoc h2{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.mastertoc input{width:100%;max-width:420px;font:inherit;font-size:14px;padding:8px 12px;
border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);margin-bottom:12px}
.mastertoc details{margin:6px 0;border-top:1px dashed var(--line);padding-top:8px}
.mastertoc summary{cursor:pointer;font-weight:700}
.mastertoc ul{list-style:none;padding:6px 0 2px 18px}
.mastertoc li{padding:3px 0;font-size:14.5px}
.col{max-width:880px;margin:0 auto;padding:0 20px}
.sheet-head{border-bottom:1px solid var(--line);padding:26px 0 22px}
.crumb{font-size:13.5px;color:var(--muted);margin-bottom:14px}
h1{font-size:clamp(26px,4.5vw,36px);letter-spacing:-.01em;line-height:1.2}
.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.chip{font-size:12.5px;font-weight:700;padding:3px 11px;border-radius:99px}
.c1{background:var(--teal-soft);color:var(--teal)}
.c2{background:var(--purple-soft);color:var(--purple)}
.c3{background:#15213c;color:var(--muted);border:1px solid var(--line)}
.controls{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.controls button{font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;
border:1.5px solid var(--line);background:var(--surface);color:var(--ink);
border-radius:8px;padding:7px 13px}
.controls button:hover{border-color:var(--accent);color:var(--accent)}
nav.toc{background:var(--surface);border:1.5px solid var(--line);border-radius:12px;
padding:16px 20px;margin:22px 0}
nav.toc h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
nav.toc ol{list-style:none;columns:2;column-gap:28px}
nav.toc li{padding:3px 0;break-inside:avoid}
@media(max-width:640px){nav.toc ol{columns:1}}
section{margin:44px 0}
h2{font-size:24px;margin-bottom:14px;letter-spacing:-.01em}
h2 .no{color:var(--accent);margin-right:6px}
h3{font-size:14px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:6px}
p{margin-bottom:10px}
.q{background:var(--accent-soft);border-left:4px solid var(--accent);
padding:10px 14px;border-radius:0 10px 10px 0;font-weight:600;margin:14px 0}
.box{border:1.5px solid #24365c;border-radius:12px;padding:14px 18px;margin:12px 0;background:var(--surface)}
.box.intuition{border-color:rgba(90,162,255,.5);background:rgba(90,162,255,.07)}
.box.technical{border-color:rgba(176,154,248,.5);background:rgba(176,154,248,.08)}
.box.example{border-color:rgba(45,212,191,.5);background:rgba(45,212,191,.07)}
.box.mis{border-color:rgba(240,163,94,.5);background:rgba(240,163,94,.08)}
.box h3{margin-bottom:4px}
.box.intuition h3{color:var(--accent)}.box.technical h3{color:var(--purple)}
.box.example h3{color:var(--teal)}.box.mis h3{color:var(--amber)}
ul,ol{padding-left:22px;margin-bottom:10px}li{margin:4px 0}
.simpl{font-size:13.5px;color:var(--muted);font-style:italic}
figure{background:var(--surface);border:1.5px solid #24365c;border-radius:12px;padding:16px;margin:16px 0}
figure svg{width:100%;height:auto;display:block}
figcaption{font-size:13.5px;color:var(--muted);margin-top:10px;text-align:center}
svg text{font-family:ui-sans-serif,system-ui,sans-serif}
.math{font-family:Georgia,"Times New Roman",serif;background:#0e1730;border:1px solid var(--line);
border-radius:8px;padding:8px 14px;display:inline-block;margin:6px 0;font-size:15.5px}
code,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Menlo,monospace}
code{background:#182448;border-radius:5px;padding:1px 6px;font-size:.9em;color:#cfe0ff}
pre{background:#101828;color:#e5eaf3;padding:16px 18px;border-radius:12px;overflow-x:auto;
font-size:13.5px;line-height:1.6;margin:12px 0}
pre .cm{color:#8fa3bf}pre .kw{color:#7fb5ff}pre .fn{color:#ffd479}pre .st{color:#9adba5}
details{border:1.5px solid var(--line);border-radius:10px;background:var(--surface);
padding:10px 16px;margin:12px 0}
details summary{cursor:pointer;font-weight:700;color:var(--accent)}
details[open] summary{margin-bottom:8px}
details.check summary{color:var(--teal)}
table{width:100%;border-collapse:collapse;background:var(--surface);font-size:14.5px;
border:1.5px solid var(--line);border-radius:12px;overflow:hidden;margin:14px 0}
th,td{border-bottom:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
th{background:#15213c;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
tr:last-child td{border-bottom:0}
td b.ok{color:var(--green)}td b.bad{color:var(--red)}
.clist{list-style:none;padding:0}
.clist li{border-bottom:1px dashed var(--line);padding:8px 4px;display:flex;gap:10px;align-items:flex-start}
.clist input{margin-top:4px;accent-color:var(--green);width:16px;height:16px}
.hint{font-size:13.5px;color:var(--muted)}
.xlink{background:var(--teal-soft);border:1.5px dashed var(--teal);border-radius:10px;
padding:9px 14px;font-size:14px;margin:12px 0}
.steps{counter-reset:st;list-style:none;padding:0}
.steps li{counter-increment:st;border:1.5px solid var(--line);border-radius:10px;
background:var(--surface);padding:10px 14px 10px 52px;position:relative;margin:8px 0}
.steps li::before{content:counter(st);position:absolute;left:12px;top:12px;width:26px;height:26px;
border-radius:50%;background:var(--accent-soft);color:var(--accent);border:2px solid var(--accent);
display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.splitbar{display:flex;height:44px;border-radius:9px;overflow:hidden;border:1.5px solid var(--ink);margin:10px 0 4px}
.splitbar div{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px}
.tr{background:#2563eb;width:70%}.va{background:#0d9488;width:15%}.te{background:#b45309;width:15%}
.splitlegend{display:flex;gap:18px;font-size:13px;color:var(--muted);justify-content:center}
.bars{max-width:340px;margin:8px auto}
.brow{display:grid;grid-template-columns:74px 1fr 44px;gap:8px;align-items:center;margin:5px 0;font-size:12.5px}
.brow .tok{font-family:ui-monospace,Consolas,monospace;font-weight:700;text-align:right}
.brow .bar{height:13px;background:var(--orange);border:1.5px solid var(--line);border-radius:0 6px 6px 0}
.brow .val{font-family:ui-monospace,Consolas,monospace;font-size:11.5px}
.brow.correct .tok{color:var(--green)}
.brow .win{font-size:11px;color:var(--green);font-weight:700}
.iters{max-width:520px;margin:10px auto;display:flex;flex-direction:column;gap:4px}
.iter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1.8px solid var(--line);
background:var(--surface);border-radius:10px;padding:7px 12px;
font-family:ui-monospace,Consolas,monospace;font-size:13px}
.iter .new{background:var(--hy);border:1.5px solid #b39b22;border-radius:6px;padding:1px 7px;font-weight:700;color:#16233f}
.iter .lbl{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11.5px;color:var(--muted);margin-left:auto}
.template{background:var(--surface);border:2px solid var(--line);border-radius:12px;
padding:16px 20px;margin:14px 0;font-size:14px}
.template h3{color:var(--ink);letter-spacing:.02em;text-transform:none;font-size:15px;margin-bottom:8px}
.template .fill{color:var(--muted);font-style:italic}
.sheetfoot{border-top:1px solid var(--line);margin-top:40px;padding:20px 0 10px;
font-size:13.5px;color:var(--muted)}
.sheetfoot p{margin-bottom:6px}
.refs li{margin:7px 0}
.banner{max-width:1200px;margin:54px auto 0;padding:0 20px 8px}
.banner .batchno{font-family:ui-monospace,Consolas,monospace;font-size:11px;font-weight:700;
letter-spacing:.14em;color:var(--teal);border:1px solid var(--line);padding:5px 11px;border-radius:99px}
.banner h2{font-size:clamp(20px,3vw,25px);margin-top:8px}
.apph{max-width:960px;margin:34px auto 0;padding:0 20px;font-size:17px;color:var(--teal)}
iframe.appf{width:calc(100% - 40px);min-height:520px;border:1px solid var(--line);
border-radius:14px;background:#fff;margin:10px 20px;display:block}
footer.site{border-top:1px solid var(--line);margin-top:60px;padding:26px 20px 70px;
max-width:1200px;margin-left:auto;margin-right:auto;color:var(--muted);font-size:13.5px}
footer.site p{max-width:880px;margin-bottom:8px}
@media print{.topbar,.controls,.mastertoc{display:none}
body{background:#fff;color:#111;font-size:12.5px}
section{break-inside:avoid-page;margin:22px 0}
pre,figure,table,.box,.template{break-inside:avoid}
a{color:inherit;text-decoration:none}
:root{--bg:#fff;--surface:#fff;--ink:#111;--muted:#555;--line:#ccc}}
