:root{--bg:#eceff4;--surface:#fff;--sunk:#dfe4ec;--fg:#101b2d;--muted:#55627a;--line:#c3cbd8;--accent:#2b4bff;--on-accent:#fff;--sev-low:#b38f00;--sev-med:#d96c00;--sev-high:#d2331f;--sev-crit:#a1123e;--k-cve:#2b4bff;--k-tech:#d2331f;--k-ctrl:#0f8a6a;--k-tool:#7a3fd1;--k-ops:#d96c00;--k-liab:#6b7385;--good:#0f8a6a;--bad:#d2331f;--display:"Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;--body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d131f;--surface:#161e2e;--sunk:#0a0f19;--fg:#e8edf6;--muted:#97a3ba;--line:#2c3850;--accent:#7d93ff;--on-accent:#0b1020;--sev-low:#e0bc2e;--sev-med:#ff9433;--sev-high:#ff6652;--sev-crit:#ff5c8d;--k-cve:#7d93ff;--k-tech:#ff6652;--k-ctrl:#3cc9a3;--k-tool:#b18cff;--k-ops:#ff9433;--k-liab:#97a3ba;--good:#3cc9a3;--bad:#ff6652;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.5}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.1}h1{letter-spacing:-.02em;font-size:1.6rem;font-weight:800}h2{font-size:1.35rem;font-weight:700}h3{font-size:1.05rem;font-weight:700}p{margin:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.mono,.label{font-family:var(--mono);font-variant-numeric:tabular-nums}.label{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:.72rem}.note{color:var(--muted);font-size:.9rem}.wrap{flex-direction:column;gap:16px;max-width:920px;margin:0 auto;padding:16px 16px 48px;display:flex}.wrap>*{min-width:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:auto}.btn{background:var(--surface);border:2px solid var(--fg);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:background .12s,color .12s}.btn:hover:not(:disabled){background:var(--sunk)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){filter:brightness(1.1);background:var(--accent)}.btn.small{padding:4px 10px;font-size:.75rem}.btn:disabled{opacity:.45;cursor:not-allowed}.hud{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 16px;display:grid}.hud>div{flex-direction:column;gap:2px;min-width:0;display:flex}.hud .val{font-family:var(--display);font-size:1.5rem;font-weight:800;line-height:1.1}.meter{background:var(--sunk);border:1px solid var(--line);border-radius:999px;height:10px;overflow:hidden}.meter i{background:var(--sev-high);height:100%;transition:width .2s;display:block}.meter.prog i{background:var(--accent)}.meter.prog.done i{background:var(--good)}.tools{flex-wrap:wrap;gap:4px;display:flex}.tool{font-family:var(--mono);border:1px solid var(--k-tool);color:var(--k-tool);border-radius:4px;padding:1px 6px;font-size:.72rem}.arsenal{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);border-left:4px solid var(--sev);background:var(--bg);border-radius:4px;flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;max-width:100%;padding:4px 8px;font-size:.8rem;display:flex}.chip .sev{font-family:var(--display);color:var(--sev);font-size:1rem;font-weight:800}.chip .id{font-family:var(--mono);color:var(--muted);font-size:.68rem}.chip b{font-weight:600}.chip .meta{font-family:var(--mono);color:var(--muted);font-size:.68rem}.sev-low{--sev:var(--sev-low)}.sev-med{--sev:var(--sev-med)}.sev-high{--sev:var(--sev-high)}.sev-crit{--sev:var(--sev-crit)}.pill{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:1px solid;border-radius:999px;padding:1px 7px;font-size:.66rem;display:inline-block}.age-zero-day{color:var(--sev-crit)}.age-n-day{color:var(--sev-med)}.age-patched{color:var(--muted)}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.card{--k:var(--k-tech);background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:0 2px 0 var(--line);text-align:left;border-radius:10px;flex-direction:column;width:100%;padding:0;transition:transform .1s,box-shadow .1s,opacity .1s;display:flex;overflow:hidden}.card.k-technique{--k:var(--k-tech)}.card.k-ops{--k:var(--k-ops)}.card.k-liability{--k:var(--k-liab)}.card.k-cve{--k:var(--k-cve)}.card.k-tool{--k:var(--k-tool)}button.card:hover:not([aria-disabled=true]){transform:translateY(-2px)}.card .top{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:color-mix(in srgb, var(--k) 16%, var(--surface));border-bottom:1px solid color-mix(in srgb, var(--k) 45%, var(--surface));justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:.64rem;display:flex}.card .cost{background:var(--k);width:22px;height:22px;color:var(--surface);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:600;display:grid}.card .mid{flex-direction:column;flex:1;gap:6px;min-height:90px;padding:10px;display:flex}.card .name{font-family:var(--display);font-size:1rem;font-weight:700;line-height:1.1}.card .text{font-size:.78rem;line-height:1.35}.card .foot{border-top:1px dashed var(--line);font-family:var(--mono);color:var(--muted);padding:6px 10px;font-size:.64rem}.card.big .name{font-size:1.2rem}.card.big .sevnum{font-family:var(--display);color:var(--sev);font-size:2.8rem;font-weight:800;line-height:1}.card.dim>.top,.card.dim>.foot,.card.dim .name,.card.dim .text{opacity:.5}.card.dim .why{font-weight:600}.card[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:1px}.card .why{font-family:var(--mono);color:var(--bad);font-size:.68rem}.card .upg{color:var(--good)}.card-wrap{flex-direction:column;gap:6px;min-width:0;display:flex}.board{grid-template-rows:repeat(5,auto);grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;max-width:560px;margin:0 auto;display:grid}.sp{--k:var(--k-liab);aspect-ratio:1;border:1px solid var(--line);background:color-mix(in srgb, var(--k) 13%, var(--surface));border-radius:4px;flex-direction:column;justify-content:space-between;min-width:0;padding:4px;transition:opacity .15s;display:flex;position:relative}.sp .n{font-family:var(--mono);color:var(--muted);font-size:.6rem}.sp .t{font-family:var(--display);overflow-wrap:anywhere;font-size:clamp(.6rem,2.4vw,.9rem);font-weight:700;line-height:1.05}.sp.corner{background:var(--fg);color:var(--bg);border-color:var(--fg)}.sp.corner .n{color:inherit;opacity:.7}.sp.visited{opacity:.45}.sp.here{outline:3px solid var(--accent);outline-offset:1px;opacity:1;z-index:1}.token{background:var(--accent);color:var(--on-accent);font-family:var(--mono);letter-spacing:.04em;border-radius:999px;padding:0 5px;font-size:.55rem;font-weight:700;position:absolute;top:3px;right:3px}.center{text-align:center;border:1px dashed var(--line);border-radius:4px;flex-direction:column;grid-area:2/2/5/5;justify-content:center;align-items:center;gap:4px;min-width:0;padding:8px;display:flex}.center.here{border:3px solid var(--accent)}.center .bossname{font-family:var(--display);font-size:clamp(.9rem,3.4vw,1.4rem);font-weight:800;line-height:1.05}.fight-head{flex-direction:column;gap:6px;display:flex}.stats{font-family:var(--mono);flex-wrap:wrap;gap:6px 16px;font-size:.8rem;display:flex}.stats b{font-weight:600}.layers{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tag{font-family:var(--mono);border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:.68rem}.tag.weak{border-color:var(--good);color:var(--good)}.tag.blocked{border-color:var(--bad);color:var(--bad)}.chain{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.link{background:var(--surface);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:3px;min-width:0;min-height:84px;padding:8px;display:flex}.link.empty{background:var(--sunk);border-style:dashed}.link .stage{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);overflow-wrap:anywhere;font-size:.62rem}.link b{font-family:var(--display);overflow-wrap:anywhere;font-size:.92rem;line-height:1.1}.link .pts{font-family:var(--mono);font-size:.78rem}.link .sub{font-family:var(--mono);color:var(--muted);overflow-wrap:anywhere;font-size:.66rem}@media (width<=640px){.chain{grid-template-columns:minmax(0,1fr)}.link{flex-flow:wrap;align-items:baseline;gap:2px 10px;min-height:0}.link .stage{flex:0 0 100%}}.score{background:var(--bg);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.score .eq{font-family:var(--mono);font-size:.9rem}.score .total{font-family:var(--display);font-size:1.8rem;font-weight:800;line-height:1}.score ul{font-family:var(--mono);color:var(--muted);flex-direction:column;gap:2px;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.scoreline{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.picker{border:2px solid var(--accent);background:var(--surface);border-radius:6px;flex-direction:column;gap:8px;padding:12px;display:flex}.picker .opt{text-align:left;background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--sev);border-radius:4px;flex-wrap:wrap;align-items:center;gap:4px 10px;width:100%;padding:8px 10px;display:flex}.picker .opt:hover{background:var(--sunk)}.opt .val{font-family:var(--display);margin-left:auto;font-size:1.2rem;font-weight:800}.decklist{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;display:grid}.deckrow{background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--k,var(--k-tech));text-align:left;border-radius:4px;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.deckrow .c{font-family:var(--mono);background:var(--k);color:var(--surface);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:.72rem;display:grid}.deckrow .d{color:var(--muted);font-size:.72rem;display:block}.shop{flex-direction:column;gap:4px;display:flex}.price{font-family:var(--mono);font-weight:600}.toolcard{border:1px solid var(--k-tool);background:var(--surface);border-radius:8px;flex-direction:column;gap:4px;min-width:0;padding:10px;display:flex}.toolcard b{font-family:var(--display)}.toolcard .text{font-size:.8rem}.sold{opacity:.4;min-height:80px;font-family:var(--mono);border-style:dashed;place-items:center;font-size:.75rem;display:grid}.result{text-align:center;align-items:center}.result h2{font-size:2rem}.win{color:var(--good)}.lose{color:var(--bad)}details.log{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:10px 14px}details.log summary{cursor:pointer;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}details.log ol{flex-direction:column;gap:3px;max-height:260px;margin:10px 0 0;padding:0;font-size:.82rem;list-style:none;display:flex;overflow-y:auto}details.log li{border-bottom:1px dashed var(--line);overflow-wrap:anywhere;padding-bottom:3px}footer{font-family:var(--mono);color:var(--muted);font-size:.72rem}.toast{background:var(--sev-high);color:#fff;max-width:560px;font-family:var(--mono);z-index:30;overflow-wrap:anywhere;border-radius:6px;margin:0 auto;padding:10px 14px;font-size:.82rem;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 4px 16px #0000004d}.overlay{z-index:20;background:#0000008c;justify-content:center;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:12px;width:100%;max-width:720px;padding:14px;display:flex}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}
