:root{--bg:#0f0e13;--panel:#17161d;--line:#2a2833;--ink:#f3efe6;--muted:#9a95a6;--acc:#ff7a45;--acc2:#ffc857;--ok:#5bd69b;--bad:#ff6b6b}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Inter,Roboto,sans-serif}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85em;color:var(--acc2)}
.top{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(15,14,19,.92);backdrop-filter:blur(6px);z-index:5}
.brand{font-weight:700;font-size:20px;letter-spacing:.2px}.brand small{font-weight:400;color:var(--muted);font-size:13px;margin-left:8px}
.logo{color:var(--acc)}
.modes .badge{margin-left:8px}
.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;border:1px solid var(--line)}
.badge.ok{color:var(--ok);border-color:#2f5d47}.badge.warn{color:var(--acc2);border-color:#5e4d22}
.banner{background:#2a2213;color:#f6deaa;border-bottom:1px solid #5e4d22;padding:10px 28px;font-size:13px}
.hidden{display:none!important}
main{max-width:1100px;margin:0 auto;padding:28px}
.hero h1{font-size:34px;line-height:1.15;margin:8px 0 10px;max-width:820px}
.lede{color:#cfc9d9;max-width:820px}
textarea{width:100%;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px;font:inherit;resize:vertical}
textarea:focus{outline:2px solid var(--acc);border-color:transparent}
.row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;flex-wrap:wrap}
.examples{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:transparent;color:var(--muted);border:1px dashed var(--line);border-radius:99px;padding:6px 12px;cursor:pointer;font:inherit;font-size:13px}
.chip:hover{color:var(--ink);border-color:var(--acc)}
button.primary{background:var(--acc);color:#1a0d06;border:0;border-radius:10px;padding:11px 20px;font-weight:700;font-size:15px;cursor:pointer}
button.primary:disabled{opacity:.6;cursor:wait}
button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 16px;cursor:pointer}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:18px 0}
.card h3{margin:0 0 4px;font-size:16px}
details summary{cursor:pointer;list-style:none}details summary h3{display:inline}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid2 .card{margin:0}
@media(max-width:800px){.grid2{grid-template-columns:1fr}.hero h1{font-size:26px}}
.muted{color:var(--muted)}.small{font-size:12.5px}
.trace{margin:6px 0 0;padding-left:20px;columns:2;font-size:13px}.trace li{margin:2px 0}.trace b{color:var(--acc2);font-weight:600}
.err{color:var(--bad)}
.warnbox{background:#2a1a1a;border:1px solid #5a2a2a;color:#f3c0c0;border-radius:10px;padding:8px 12px;margin:8px 0;font-size:13px}
.kv{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;margin:10px 0}.kv dt{color:var(--muted)}.kv dd{margin:0}
.seeds{display:flex;gap:6px;flex-wrap:wrap}.seed{background:#241f2e;border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:13px}
.bar{display:grid;grid-template-columns:150px 1fr 48px;gap:10px;align-items:center;margin:6px 0;font-size:13px}
.bt{background:#24222c;border-radius:99px;height:8px;overflow:hidden}.bt i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:99px}
.br{text-align:right;color:var(--muted)}
.section-title{margin:28px 0 6px;font-size:22px}
.concepts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.concept{background:linear-gradient(180deg,#1d1a24,#17161d);border:1px solid var(--line);border-radius:16px;padding:20px;position:relative}
.concept .num{position:absolute;top:14px;right:18px;color:#3b3746;font-size:34px;font-weight:800}
.concept h3{margin:0 40px 6px 0;font-size:18px}
.act{border-top:1px solid var(--line);padding:10px 0}
.act-h{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.aff{color:var(--acc2);font-size:12.5px}
.because{margin-top:6px}.because .bar{grid-template-columns:120px 1fr 40px}
.trend{font-size:12px}.trend.up{color:var(--ok)}.trend.down{color:var(--bad)}.trend.flat{color:var(--muted)}
.partner{border-top:1px solid var(--line);padding-top:10px;font-size:14px}
blockquote{margin:12px 0 0;padding:10px 14px;border-left:3px solid var(--acc);background:#1f1b16;border-radius:0 10px 10px 0;font-style:italic;color:#f1e3d3}
table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:500}
.base{border-top:1px solid var(--line);padding:10px 0}
footer{color:var(--muted);text-align:center;font-size:12px;padding:30px}

.between{justify-content:space-between;align-items:flex-end}
.memo-actions button{padding:7px 12px;font-size:13px}
.fit{background:#2a1d10;border:1px solid #6b4520;color:var(--acc2);border-radius:8px;padding:1px 8px;font-weight:800;font-size:14px}.fit small{font-weight:400;color:var(--muted);margin-left:2px;font-size:11px}
.fitbars{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0 2px}
.fb{position:relative;display:block;background:#24222c;border-radius:6px;height:18px;overflow:hidden}
.fb i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#5b3a1f,#a8642c)}
.fb em{position:relative;display:block;font-style:normal;font-size:10.5px;color:#f3e6d6;padding-left:6px;line-height:18px;white-space:nowrap}
.bridge-svg{width:100%;height:auto;margin-top:8px}
.sv-seed,.sv-cand{fill:var(--ink);font-size:13px}.sv-h{fill:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.sv-dot{fill:var(--acc2)}.sv-dot2{fill:var(--acc)}.sv-hs{fill:#fff;font-weight:800;font-size:13px}
.heatwrap{display:grid;grid-template-columns:420px 1fr;gap:20px;align-items:start;margin-top:10px}
.heat-svg{width:100%;max-width:420px;background:#121118;border:1px solid var(--line);border-radius:12px}
.hotspots{margin:0;padding-left:0;list-style:none}.hotspots li{padding:8px 0;border-bottom:1px solid var(--line)}
.hotspots a{color:var(--acc2)}.warnline{color:var(--acc2)}
@media(max-width:800px){.heatwrap{grid-template-columns:1fr}.fitbars{grid-template-columns:repeat(2,1fr)}}
@media print{.top,.banner,.hero,#progress,.memo-actions,details,#baseline,footer,.card:last-child{display:none!important}body{background:#fff;color:#000}.concept,.card{background:#fff;border-color:#ccc;color:#000}blockquote{background:#f6f6f6;color:#000}}
