:root{
  --bg:#f7f8fa;--surface:#fff;--ink:#0f172a;--muted:#5b6475;--line:#e3e6ec;
  --brand:#1d4ed8;--brand-ink:#fff;--hero:#0f172a;--hero-ink:#e8ecf3;--hero-muted:#a8b2c4;
  --ok:#15803d;--ok-bg:#ecfdf3;--info:#1d4ed8;--info-bg:#eff4ff;--warn:#b45309;--warn-bg:#fff8eb;--bad:#b91c1c;--bad-bg:#fff1f1;
  --code:#f1f3f7;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0b1020;--surface:#121a2e;--ink:#e7ebf3;--muted:#9aa4b8;--line:#243050;
  --brand:#5b8cff;--brand-ink:#0b1020;--hero:#070b16;
  --ok:#4ade80;--ok-bg:#0f2a1b;--info:#7aa2ff;--info-bg:#132042;--warn:#fbbf24;--warn-bg:#2d220b;--bad:#f87171;--bad-bg:#2e1214;
  --code:#1a2340;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif}
a{color:var(--brand)}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}
code{background:var(--code);padding:.1em .35em;border-radius:4px}
pre{background:var(--code);padding:14px 16px;border-radius:8px;overflow-x:auto;line-height:1.5}
pre code{background:none;padding:0}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.narrow{max-width:760px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{position:absolute;left:-9999px}

.top{background:var(--hero);color:var(--hero-ink);border-bottom:1px solid #1e293b}
.top-in{display:flex;align-items:center;justify-content:space-between;height:56px;gap:12px}
.brand{display:flex;align-items:center;gap:8px;color:var(--hero-ink);text-decoration:none;font-weight:700}
.top nav{display:flex;gap:18px;flex-wrap:wrap}
.top nav a{color:var(--hero-muted);text-decoration:none;font-size:.93rem}
.top nav a:hover{color:var(--hero-ink)}
@media (max-width:560px){.top nav a:nth-child(3){display:none}.top nav{gap:12px}}

.hero{background:var(--hero);color:var(--hero-ink);padding:40px 0 56px}
.eyebrow{display:inline-block;margin:0 0 12px;padding:4px 10px;border-radius:99px;background:#7f1d1d;color:#fecaca;font-size:.82rem;font-weight:600}
.hero h1{font-size:clamp(1.7rem,4.2vw,2.6rem);line-height:1.15;margin:0 0 14px;max-width:820px;letter-spacing:-.01em}
.lede{font-size:1.08rem;color:var(--hero-muted);max-width:760px;margin:0 0 26px}
.prose .lede{color:var(--muted)}

.tool{background:var(--surface);color:var(--ink);border-radius:14px;padding:18px;box-shadow:0 10px 40px rgba(0,0,0,.25);max-width:820px}
.tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:8px 12px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}
.tabs button[aria-selected=true]{color:var(--ink);border-color:var(--brand)}
.row{display:flex;gap:8px}
.row.end{justify-content:flex-end;margin-top:8px}
input,textarea{width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
textarea{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}
.btn{display:inline-block;background:var(--brand);color:var(--brand-ink);border:0;border-radius:10px;padding:12px 20px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{filter:brightness(1.08)}
.btn.full{width:100%}
.hint{color:var(--muted);font-size:.85rem;margin:8px 0 0}
.small{font-size:.82rem;color:var(--muted)}
.muted{color:var(--muted)}
.good{color:var(--ok)}
.bad{color:var(--bad)}

#result:empty{display:none}
#result{margin-top:16px}
.res{border:1px solid var(--line);border-radius:12px;padding:16px}
.res.load{display:flex;align-items:center;gap:10px;color:var(--muted)}
.res.err{background:var(--warn-bg);border-color:transparent}
.res.err p{margin:0}
.res-head{display:flex;gap:14px;align-items:flex-start}
.res-head h2{margin:0;font-size:1.15rem;word-break:break-all}
.res-head p{margin:2px 0 0;color:var(--muted)}
.badge{flex:none;padding:6px 10px;border-radius:8px;font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}
.v-ok{background:var(--ok-bg)}.v-ok .badge{background:var(--ok);color:var(--surface)}
.v-info{background:var(--info-bg)}.v-info .badge{background:var(--info);color:var(--surface)}
.v-warn{background:var(--warn-bg)}.v-warn .badge{background:var(--warn);color:var(--surface)}
.v-affected{background:var(--bad-bg)}.v-affected .badge{background:var(--bad);color:var(--surface)}
.findings{margin:14px 0 0;padding-left:20px}
.findings li{margin:4px 0}
.f-affected{color:var(--bad);font-weight:600}
.f-warn{color:var(--warn)}
.cta{margin:14px 0 0}
.chain{margin-top:14px}
.chain summary{cursor:pointer;font-weight:600}
.chain ol{list-style:none;padding:0;margin:10px 0 0}
.chain li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0}
.c-top{display:flex;gap:8px;align-items:baseline;word-break:break-all}
.c-n{flex:none;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.c-meta{color:var(--muted);font-size:.86rem;word-break:break-word}
.c-key{font-size:.88rem;margin-top:4px}
.share{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px;font-size:.88rem}
.share span{color:var(--muted)}
.share a,.share button{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px 10px;color:var(--ink);text-decoration:none;font:inherit;cursor:pointer}
.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:s .8s linear infinite;vertical-align:-2px}
@keyframes s{to{transform:rotate(360deg)}}

.cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;padding-top:40px;padding-bottom:40px}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.prose h2{font-size:1.45rem;margin:2em 0 .5em;letter-spacing:-.01em}
.prose h2:first-child{margin-top:0}
.prose h3{margin:1.6em 0 .4em}
.prose li{margin:.35em 0}
main.prose{padding-top:28px;padding-bottom:48px}
main.prose h1{font-size:clamp(1.6rem,3.6vw,2.2rem);line-height:1.2}
.crumbs{font-size:.88rem;color:var(--muted)}
.timeline{list-style:none;padding:0;border-left:2px solid var(--line);margin-left:6px}
.timeline li{position:relative;padding:0 0 12px 18px}
.timeline li::before{content:"";position:absolute;left:-7px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--brand)}
.timeline time{display:block;font-weight:700;font-size:.9rem}
details{border-bottom:1px solid var(--line);padding:10px 0}
details summary{cursor:pointer;font-weight:600}
details p{margin:8px 0 0;color:var(--muted)}
.sources li{word-break:break-word}
.steps li{margin:.6em 0}

.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}
.card h3{margin:0 0 6px}
.card p{margin:0 0 12px;color:var(--muted);font-size:.92rem}
.card input{margin-bottom:8px}
.sticky{position:sticky;top:16px}

.foot{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:.85rem}
.foot p{margin:6px 0}

.facts{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:12px;padding:16px 20px;margin-bottom:28px}
.facts h2{margin-top:0;font-size:1.2rem}
.facts ul{margin:0;padding-left:20px}
.facts .small{margin:10px 0 0}
.findings-live{margin-bottom:8px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}
.stats div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}
.stats b{display:block;font-size:1.7rem;line-height:1.1}
.stats span{color:var(--muted);font-size:.86rem}
@media (max-width:600px){.stats{grid-template-columns:1fr}}
