:root{
  --blue:#3848DD;--blue-soft:#E8EBFA;--orange:#FF4D00;--orange-soft:#FFE9DD;--green:#14A668;--green-soft:#DCF5E8;
  --yellow:#C28800;--yellow-soft:#FFF4D9;--red:#DC2626;--red-soft:#FEE2E2;--gray:#64748B;--gray-soft:#F1F5F9;
  --bg:#FAFAF7;--bg-card:#FFFFFF;--bg-well:#F3F3EE;--ink:#0F1419;--ink-2:#1E293B;--ink-3:#475569;--ink-4:#94A3B8;
  --line:#CBD5E1;--line-2:#E2E8F0;--mark-bg:#0F1419;--mark-ink:#FAFAF7;--focus:#3848DD;
  --font-sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--font-mono:'IBM Plex Mono',Consolas,'Courier New',monospace;
  --dur:160ms;--ease:cubic-bezier(.4,0,.2,1);--radius:6px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --blue:#7C88F5;--blue-soft:#1C2247;--orange:#FF7A3D;--orange-soft:#3A1E10;--green:#3DCB8C;--green-soft:#0F2F22;
  --yellow:#E0A62E;--yellow-soft:#33290F;--red:#F06A6A;--red-soft:#3D1616;--gray:#94A3B8;--gray-soft:#1C2430;
  --bg:#0F1419;--bg-card:#161C24;--bg-well:#121820;--ink:#E6EAF0;--ink-2:#CBD3DE;--ink-3:#9AA6B8;--ink-4:#6B7789;
  --line:#33405A;--line-2:#273040;--mark-bg:#E6EAF0;--mark-ink:#0F1419;--focus:#7C88F5;
}}
:root[data-theme="dark"]{
  --blue:#7C88F5;--blue-soft:#1C2247;--orange:#FF7A3D;--orange-soft:#3A1E10;--green:#3DCB8C;--green-soft:#0F2F22;
  --yellow:#E0A62E;--yellow-soft:#33290F;--red:#F06A6A;--red-soft:#3D1616;--gray:#94A3B8;--gray-soft:#1C2430;
  --bg:#0F1419;--bg-card:#161C24;--bg-well:#121820;--ink:#E6EAF0;--ink-2:#CBD3DE;--ink-3:#9AA6B8;--ink-4:#6B7789;
  --line:#33405A;--line-2:#273040;--mark-bg:#E6EAF0;--mark-ink:#0F1419;--focus:#7C88F5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
code,pre,.mono{font-family:var(--font-mono)}
h1,h2,h3{text-wrap:balance;margin:0}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
.wrap.wide{max-width:1400px}
main.wrap{flex:1;padding-bottom:64px}
.skip{position:absolute;left:-999px;top:8px;background:var(--bg-card);padding:8px 12px;border:1px solid var(--line);border-radius:4px;z-index:100}
.skip:focus{left:8px}
.muted{color:var(--ink-4)}
.small{font-size:12px}
.tabular{font-variant-numeric:tabular-nums}

/* header */
header.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-2)}
.top-inner{display:flex;align-items:center;gap:20px;height:56px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand:hover{text-decoration:none}
.mark{font-family:var(--font-mono);font-size:14px;font-weight:600;letter-spacing:.06em;padding:5px 10px;background:var(--mark-bg);color:var(--mark-ink);border-radius:4px}
.mark .tld{opacity:.62;font-weight:500}
.nav{display:flex;gap:4px;margin-left:8px}
.nav a{padding:6px 10px;border-radius:4px;color:var(--ink-2);font-weight:500}
.nav a:hover{background:var(--bg-well);text-decoration:none}
.nav a[aria-current=page]{background:var(--blue-soft);color:var(--blue)}
.top-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.lang{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--ink-3);border:1px solid var(--line);border-radius:4px;padding:3px 7px}
.acct{color:var(--ink-2);font-weight:500;display:flex;align-items:center;gap:6px}
.acct.admin{font-family:var(--font-mono);font-size:11px;color:var(--orange)}
.dot-on{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block}

/* generic blocks */
section{margin-top:40px}
section > h2, .h2{font-size:12px;font-family:var(--font-mono);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px}
.card{background:var(--bg-card);border:1px solid var(--line-2);border-radius:var(--radius);padding:16px 18px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.flash{margin:16px 0 0;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-card)}
.flash.ok{border-color:var(--green);background:var(--green-soft)}.flash.error{border-color:var(--red);background:var(--red-soft)}.flash.warn{border-color:var(--yellow);background:var(--yellow-soft)}
.ok-line{color:var(--green);margin:0}
.pill{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;line-height:1.5;white-space:nowrap}
.pill.red{background:var(--red-soft);color:var(--red)}.pill.green{background:var(--green-soft);color:var(--green)}.pill.gray{background:var(--gray-soft);color:var(--ink-3)}.pill.yellow{background:var(--yellow-soft);color:var(--yellow)}.pill.blue{background:var(--blue-soft);color:var(--blue)}.pill.orange{background:var(--orange-soft);color:var(--orange)}
.chip{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg-well);color:var(--ink-3);font-family:var(--font-mono);white-space:nowrap}
.chip.src{color:var(--ink-2)}.chip.src:hover{text-decoration:none;border-color:var(--blue);color:var(--blue)}
.grade{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;font-family:var(--font-mono);font-weight:600;font-size:14px;color:#fff;flex:none}
.grade.big{width:56px;height:56px;font-size:28px;border-radius:10px}
.grade.green{background:var(--green)}.grade.blue{background:var(--blue)}.grade.yellow{background:var(--yellow)}.grade.orange{background:var(--orange)}.grade.red{background:var(--red)}.grade.gray{background:var(--gray)}
.sev{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:3px;color:#fff}
.sev.critical{background:var(--red)}.sev.high{background:var(--orange)}.sev.medium{background:var(--yellow)}.sev.low{background:var(--gray)}
.bar{display:inline-flex;align-items:center;gap:8px;min-width:120px}
.bar.small{min-width:90px}
.bar .track{flex:1;height:8px;background:var(--gray-soft);border-radius:2px;overflow:hidden;position:relative}
.bar .fill{position:absolute;left:0;top:0;bottom:0;border-radius:2px}
.bar .fill.green{background:var(--green)}.bar .fill.blue{background:var(--blue)}.bar .fill.yellow{background:var(--yellow)}.bar .fill.orange{background:var(--orange)}.bar .fill.red{background:var(--red)}
.bar .num{font-family:var(--font-mono);font-size:12px;width:26px;text-align:right;color:var(--ink-2)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden}
.kpi{background:var(--bg-card);padding:12px 14px;min-width:0}
.kpi .l{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4);line-height:1.3;min-height:2.6em}
.kpi .v{font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:2px;font-variant-numeric:tabular-nums}
.kpi .s{font-size:12px;color:var(--ink-3)}
.kpi.orange .v{color:var(--orange)}.kpi.red .v{color:var(--red)}.kpi.green .v{color:var(--green)}.kpi.blue .v{color:var(--blue)}

/* buttons & forms */
.btn{display:inline-flex;align-items:center;gap:8px;font:500 14px var(--font-sans);padding:9px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-card);color:var(--ink);cursor:pointer;text-decoration:none;line-height:1.2}
.btn:hover{border-color:var(--ink-4);text-decoration:none}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{filter:brightness(1.08)}
.btn.accent{background:var(--orange);border-color:var(--orange);color:#fff}
.btn.small{font-size:12px;padding:5px 10px}
.btn.ghost{background:transparent}
.btn[disabled],.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
label{font-size:12px;color:var(--ink-3);display:block;margin-bottom:4px}
input[type=text],input[type=email],input[type=url],input[type=search],input[type=number],select,textarea{font:14px var(--font-sans);padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-card);color:var(--ink);width:100%}
textarea{font-family:var(--font-mono);font-size:12.5px;line-height:1.45;min-height:260px;resize:vertical}
select{width:auto}
input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px var(--blue-soft)}
.field{margin-bottom:14px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.help{font-size:12px;color:var(--ink-4);margin-top:4px}
fieldset{border:0;padding:0;margin:0}
.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.radio-card{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;cursor:pointer;background:var(--bg-card);display:block}
.radio-card:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}
.radio-card input{margin-right:8px}
.radio-card .t{font-weight:600;font-size:14px;color:var(--ink)}
.radio-card .d{font-size:12px;color:var(--ink-3);margin-top:4px;line-height:1.45}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line-2);margin-bottom:14px}
.tabs button,.tabs a{font:500 13px var(--font-sans);background:none;border:0;border-bottom:2px solid transparent;padding:8px 12px;color:var(--ink-3);cursor:pointer;margin-bottom:-1px}
.tabs [aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue)}
.tabpanel[hidden]{display:none}
.drop{border:1px dashed var(--line);border-radius:var(--radius);padding:24px;text-align:center;color:var(--ink-3);background:var(--bg-well)}
.drop.over{border-color:var(--blue);background:var(--blue-soft)}
.drop input{display:block;margin:10px auto 0}

/* tables */
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-weight:500;white-space:nowrap}
td{padding:9px 10px;border-bottom:1px solid var(--line-2);vertical-align:middle}
th.num,td.num{text-align:right}
tbody tr:hover td{background:var(--bg-well)}
.table-wrap{overflow-x:auto;background:var(--bg-card);border:1px solid var(--line-2);border-radius:var(--radius)}
.table-wrap table{min-width:720px}
td.skill{max-width:420px}
.skill .name{font-weight:600;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.skill .name a{color:var(--ink)}
.skill .desc{font-size:12px;color:var(--ink-3);margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2}
.rank{font-family:var(--font-mono);color:var(--ink-4);font-size:12px;width:36px}
.pop{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);white-space:nowrap}
.pop span+span{margin-left:8px}
th a{color:inherit}
th a.active{color:var(--blue)}

/* toolbar */
.toolbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end;padding:12px 14px;background:var(--bg-card);border:1px solid var(--line-2);border-radius:var(--radius);margin-bottom:12px}
.toolbar .field{margin:0}
.toolbar input[type=search]{min-width:220px}
.toolbar .check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);padding-bottom:8px}
.toolbar .count{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--ink-3);padding-bottom:8px}
.pagination{display:flex;gap:4px;margin:16px 0;flex-wrap:wrap}
.pg{font-family:var(--font-mono);font-size:12px;padding:5px 9px;border:1px solid var(--line-2);border-radius:4px;color:var(--ink-2);background:var(--bg-card)}
.pg.cur{background:var(--blue);border-color:var(--blue);color:#fff}
.pg.gap{border:0;background:none}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:32px;align-items:start;margin-top:36px}
.hero h1{font-size:clamp(26px,3.4vw,38px);line-height:1.12;font-weight:600;letter-spacing:-.02em;margin-bottom:12px}
.hero h1 b{color:var(--orange);font-weight:600}
.hero p.lead{color:var(--ink-3);max-width:60ch;font-size:15px;margin:0 0 18px}
.hero .cta{display:flex;gap:10px;flex-wrap:wrap}
.quick{background:var(--bg-card);border:1px solid var(--line-2);border-radius:var(--radius);padding:16px 18px}
.quick h2{font-size:14px;font-weight:600;font-family:var(--font-sans);text-transform:none;letter-spacing:0;color:var(--ink);margin-bottom:10px}
.quota-line{font-size:12px;color:var(--ink-3);margin-top:10px}
.quota-line b{color:var(--ink)}

/* skill page */
.skill-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;margin-top:28px}
.skill-head h1{font-size:26px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.skill-head .desc{color:var(--ink-2);max-width:72ch;margin:8px 0 10px;font-size:15px}
.meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-3);font-family:var(--font-mono)}
.meta a{color:var(--blue)}
.score-tile{background:var(--bg-card);border:1px solid var(--line-2);border-radius:var(--radius);padding:16px 18px;min-width:300px}
.score-tile .total{display:flex;gap:14px;align-items:center}
.score-tile .total .v{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1}
.score-tile .total .of{font-size:14px;color:var(--ink-4);font-weight:400}
.score-tile .total .l{font-size:12px;color:var(--ink-3);margin-top:4px}
.score-tile .subs{margin:14px 0 0;display:grid;gap:8px}
.score-tile .subs div{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:8px}
.score-tile dt{font-size:12px;color:var(--ink-3)}.score-tile dt .w{color:var(--ink-4);font-family:var(--font-mono);font-size:10px;margin-left:4px}
.score-tile dd{margin:0}
.score-tile .verified{margin-top:12px;padding-top:10px;border-top:1px solid var(--line-2);font-size:12px;color:var(--ink-3);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.score-tile.compact{min-width:0}
.flist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.finding{background:var(--bg-card);border:1px solid var(--line-2);border-left:3px solid var(--gray);border-radius:var(--radius);padding:10px 12px}
.finding.critical{border-left-color:var(--red)}.finding.high{border-left-color:var(--orange)}.finding.medium{border-left-color:var(--yellow)}
.f-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px}
.f-head .cat{font-weight:500;color:var(--ink-2)}
.rid{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);background:var(--bg-well);padding:1px 6px;border-radius:3px}
.loc{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}
.f-msg{margin-top:6px;color:var(--ink-2)}
.snip{margin:8px 0 0;font-size:12px;background:var(--bg-well);border:1px solid var(--line-2);border-radius:4px;padding:6px 10px;white-space:pre-wrap;word-break:break-word;color:var(--ink-2);max-height:120px;overflow:auto}
.ctx{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}
.ctx span{font-size:11px;padding:1px 8px;border-radius:999px;background:var(--gray-soft);color:var(--ink-3)}
.lint{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.lint li{display:flex;gap:10px;align-items:baseline;font-size:13px;color:var(--ink-2)}
.lint .k{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;width:120px;flex:none}
.lint li.error .k{color:var(--red)}.lint li.warn .k{color:var(--yellow)}.lint li.info .k{color:var(--ink-4)}
.improve{margin:0;padding-left:20px;color:var(--ink-2)}
.improve li{margin:6px 0}
.files{columns:2;font-family:var(--font-mono);font-size:12px;color:var(--ink-3);margin:0;padding-left:18px}
.hist td{font-size:13px}
details{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--bg-card);padding:8px 12px;margin-top:8px}
summary{cursor:pointer;font-weight:500;color:var(--ink-2)}
.ext{display:flex;gap:10px;align-items:flex-start;font-size:13px}

/* check page */
.stages{display:flex;gap:0;margin:16px 0;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:var(--bg-card)}
.stage{flex:1;padding:10px 12px;border-right:1px solid var(--line-2);font-size:12px;color:var(--ink-4);display:flex;gap:8px;align-items:center}
.stage:last-child{border-right:0}
.stage .n{font-family:var(--font-mono);font-size:10px;width:18px;height:18px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;flex:none}
.stage.done{color:var(--ink-2)}.stage.done .n{background:var(--green);border-color:var(--green);color:#fff}
.stage.active{color:var(--blue);font-weight:500}.stage.active .n{border-color:var(--blue);color:var(--blue)}
.stage.failed{color:var(--red)}.stage.failed .n{background:var(--red);border-color:var(--red);color:#fff}
.progress-log{font-family:var(--font-mono);font-size:11.5px;background:var(--bg-well);border:1px solid var(--line-2);border-radius:var(--radius);padding:8px 12px;max-height:220px;overflow:auto;color:var(--ink-3);white-space:pre-wrap;word-break:break-word}
.progress-log .t{color:var(--ink-4);margin-right:8px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.compare .box{background:var(--bg-card);border:1px solid var(--line-2);border-radius:var(--radius);padding:14px 16px}
.compare .big{font-size:34px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.compare .big.green{color:var(--green)}.compare .big.gray{color:var(--ink-4)}
.uplift{font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}
.cases td{font-size:13px}
.cases .prompt{max-width:520px;color:var(--ink-2)}
.pass{color:var(--green);font-weight:600}.fail{color:var(--red);font-weight:600}
.share{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.share input{max-width:420px;font-family:var(--font-mono);font-size:12px}
.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spinner{animation:none}html{scroll-behavior:auto}}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.plan{background:var(--bg-card);border:1px solid var(--line-2);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px}
.plan.free{border-color:var(--green)}
.plan .name{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}
.plan .price{font-size:28px;font-weight:600;letter-spacing:-.02em}
.plan .price small{font-size:13px;color:var(--ink-3);font-weight:400}
.plan ul{margin:6px 0 10px;padding-left:18px;color:var(--ink-2);font-size:13px}
.plan .btn{margin-top:auto;justify-content:center}
.faq details{margin-top:8px}

/* account / admin */
.ledger td,.ledger th{font-size:13px}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.admin form.inline{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.admin form.inline .field{margin:0;min-width:140px}
.log{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);white-space:pre-wrap;max-height:200px;overflow:auto;background:var(--bg-well);padding:8px;border-radius:4px}

/* method */
.prose{max-width:72ch;color:var(--ink-2);font-size:15px}
.prose h2{font-size:18px;font-family:var(--font-sans);text-transform:none;letter-spacing:-.01em;color:var(--ink);margin:28px 0 8px}
.prose h3{font-size:15px;margin:18px 0 6px}
.prose p{margin:8px 0}
.prose ul{padding-left:20px}
.prose code{font-size:12.5px;background:var(--bg-well);padding:1px 5px;border-radius:3px}
.prose pre{background:var(--bg-well);border:1px solid var(--line-2);border-radius:var(--radius);padding:12px 14px;overflow-x:auto;font-size:12.5px}
.prose table{font-size:13px;margin:8px 0}
.formula{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.formula .card b{display:block;font-size:20px;letter-spacing:-.02em}

.error-page{text-align:center;padding:80px 0}
.error-page .code{font-family:var(--font-mono);font-size:64px;color:var(--ink-4);letter-spacing:-.04em}
.error-page h1{font-size:22px;margin:8px 0}

footer.wrap{padding:16px 24px 28px;border-top:1px solid var(--line-2);font-family:var(--font-mono);font-size:11px;color:var(--ink-4);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

@media (max-width:960px){.hero,.cols,.grid-2,.grid-3,.compare,.radio-cards{grid-template-columns:1fr}.skill-head{grid-template-columns:1fr}.files{columns:1}.nav{display:none}.stages{flex-wrap:wrap}.stage{flex-basis:50%;border-bottom:1px solid var(--line-2)}}
@media (max-width:600px){.wrap{padding:0 14px}.kpi .v{font-size:20px}.mark{font-size:13px;padding:4px 8px}}
@media (prefers-reduced-motion:no-preference){.btn,.chip,.nav a{transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease)}}

/* risks */
.risk{border:1px solid var(--line-2);border-left:4px solid var(--yellow);border-radius:var(--radius);padding:14px 18px;background:var(--bg-card)}
.risk.critical,.risk.high{border-left-color:var(--red)}
.risk > h2{margin-bottom:6px}
.risk-lead{margin:0 0 12px;color:var(--ink-2);max-width:72ch}
.risk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.risk-card{background:var(--bg-well);border:1px solid var(--line-2);border-radius:var(--radius);padding:10px 12px}
.risk-cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);margin-bottom:6px}
.risk-row{margin-top:6px}
.risk-row b{display:block;font-size:12px;color:var(--ink);margin-bottom:2px}
.risk-row p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.45}
/* platforms */
.platforms{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}
.chip.plat{background:var(--bg-card);color:var(--ink-2);font-family:var(--font-sans);font-size:12px;padding:3px 9px}
.chip.plat.made{background:var(--blue-soft);border-color:var(--blue);color:var(--blue);font-weight:500}
.chip.plat:hover{text-decoration:none;border-color:var(--blue)}
/* signals */
.signals ul{list-style:none;margin:0;padding:0;columns:2;column-gap:24px}
.signals li{break-inside:avoid;display:flex;gap:10px;align-items:baseline;font-size:13px;padding:3px 0;color:var(--ink-2)}
.signals li.miss{color:var(--ink-3)}
.signals .pts{font-family:var(--font-mono);font-size:11px;width:32px;flex:none;text-align:right;color:var(--green)}
.signals li.miss .pts{color:var(--ink-4)}
.signals li.miss .pts:has(+ span){}
/* updated block */
.updated .upd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden}
.updated .upd-grid > div{background:var(--bg-card);padding:12px 14px}
.updated .l{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4)}
.updated .v{font-size:15px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums}
.updated .s{font-size:12px;color:var(--ink-3)}
.updated details{margin-top:10px}
.dates div{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px solid var(--line-2)}
.dates div:last-child{border-bottom:0}
/* chart */
.chart-sec .chart{background:var(--bg-card);border:1px solid var(--line-2);border-radius:var(--radius);padding:8px 12px 4px}
.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.chart-modes{display:flex;gap:4px;margin-bottom:10px}
.chart-modes button{font:12px var(--font-sans);padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg-card);color:var(--ink-2);cursor:pointer}
.chart-modes button[aria-pressed=true]{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}
.chart-modes .last{font-family:var(--font-mono);font-size:11px;margin-left:4px;color:var(--ink-3)}
.chart-sec .area.green{fill:var(--green-soft)}.chart-sec .area.orange{fill:var(--orange-soft)}.chart-sec .area.blue{fill:var(--blue-soft)}
.chart-sec .line.green{stroke:var(--green)}.chart-sec .line.orange{stroke:var(--orange)}.chart-sec .line.blue{stroke:var(--blue)}
.chart-sec .dot.green{fill:var(--green)}.chart-sec .dot.orange{fill:var(--orange)}.chart-sec .dot.blue{fill:var(--blue)}
th a[aria-sort]{cursor:pointer}th[title],th a[title]{cursor:help}
.chart-sec svg{width:100%;height:auto;display:block;overflow:visible}
.chart-sec .grid{stroke:var(--line-2);stroke-width:1}
.chart-sec .axis{font-family:var(--font-mono);font-size:11px;fill:var(--ink-4)}
.chart-sec .axis.c{fill:var(--blue)}
.chart-sec .area{fill:var(--blue-soft);opacity:.7}
.chart-sec .line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart-sec .line.cum{stroke:var(--blue)}
.chart-sec .line.new{stroke:var(--orange)}
.chart-sec .dot.new{fill:var(--orange)}
.chart-legend{display:flex;gap:16px;align-items:center;margin-top:8px;font-size:12px;color:var(--ink-3)}
.chart-legend .lg::before{content:"";display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:3px}
.chart-legend .lg.new::before{background:var(--orange)}
.chart-legend .lg.cum::before{background:var(--blue)}
@media (max-width:700px){.signals ul{columns:1}}
.prose .lede{font-size:17px;line-height:1.55;color:var(--ink-2);max-width:68ch;margin:12px 0 20px}
.prose h2{margin-top:32px}

/* admin texts */
.texts{display:flex;flex-direction:column;gap:8px}
.text-row{background:var(--bg-card);border:1px solid var(--line-2);border-radius:var(--radius);padding:8px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:start}
.text-row.changed{border-left:3px solid var(--blue)}
.text-row .key{grid-column:1 / -1;font-size:11px;color:var(--ink-4);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word}
.text-row .pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.text-row textarea{min-height:44px;font-family:var(--font-sans);font-size:13px}
@media (max-width:800px){.text-row{grid-template-columns:1fr}.text-row .pair{grid-template-columns:1fr}}
.chart-pane[hidden],.chart-sec svg[hidden]{display:none!important}
.verdict{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 12px;font-size:13px}
.hero h1 .plus,h1 .plus{color:var(--orange)}
.kinds{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0}

/* Type chips: dark ink on a pale ground, one hue per type, so the kind of skill reads at a glance. */
.chip.kind{border:1px solid transparent;font-weight:500;color:#0F1419}
.chip.kind.t-workflow{background:#DCE7FF;border-color:#B6CDF7}
.chip.kind.t-generator{background:#DCF5E8;border-color:#A8E3C7}
.chip.kind.t-analyzer{background:#FFE4D6;border-color:#FFC3A4}
.chip.kind.t-reference{background:#EDE6FB;border-color:#D6C8F2}
.chip.kind.t-integration{background:#D8F1F5;border-color:#AEDFE7}
.chip.kind.t-template{background:#FFF0C7;border-color:#F3DC94}
.chip.kind.t-persona{background:#FBDDE8;border-color:#F3BBCE}
.chip.app{background:var(--bg-card);border:1px solid var(--line);color:var(--ink-2);font-weight:500}
.chip.app:hover{border-color:var(--blue);text-decoration:none}
.chip.topic{background:transparent;border:1px solid var(--line-2);color:var(--ink-3)}
.chip.topic:hover{border-color:var(--blue);text-decoration:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chip.kind{color:#F2F5FA}
  :root:not([data-theme="light"]) .chip.kind.t-workflow{background:#22305C;border-color:#33457C}
  :root:not([data-theme="light"]) .chip.kind.t-generator{background:#13402F;border-color:#1D5A43}
  :root:not([data-theme="light"]) .chip.kind.t-analyzer{background:#4A2717;border-color:#6B3A22}
  :root:not([data-theme="light"]) .chip.kind.t-reference{background:#2F2450;border-color:#443470}
  :root:not([data-theme="light"]) .chip.kind.t-integration{background:#123A42;border-color:#1B535E}
  :root:not([data-theme="light"]) .chip.kind.t-template{background:#463714;border-color:#64501F}
  :root:not([data-theme="light"]) .chip.kind.t-persona{background:#4A1F30;border-color:#6B2E46}}
:root[data-theme="dark"] .chip.kind{color:#F2F5FA}
:root[data-theme="dark"] .chip.kind.t-workflow{background:#22305C;border-color:#33457C}
:root[data-theme="dark"] .chip.kind.t-generator{background:#13402F;border-color:#1D5A43}
:root[data-theme="dark"] .chip.kind.t-analyzer{background:#4A2717;border-color:#6B3A22}
:root[data-theme="dark"] .chip.kind.t-reference{background:#2F2450;border-color:#443470}
:root[data-theme="dark"] .chip.kind.t-integration{background:#123A42;border-color:#1B535E}
:root[data-theme="dark"] .chip.kind.t-template{background:#463714;border-color:#64501F}
:root[data-theme="dark"] .chip.kind.t-persona{background:#4A1F30;border-color:#6B2E46}

.reviews{display:grid;gap:12px;margin-top:12px}
.review{background:var(--bg-card);border:1px solid var(--line-2);border-radius:10px;padding:14px 16px}
.review h3 a{color:var(--ink)}
.review-findings{margin:0 0 8px;padding-left:18px;font-size:13.5px;color:var(--ink-2)}
.review-findings li{margin:3px 0}

.summary{font-size:15px;color:var(--ink-2);margin:8px 0 2px;max-width:70ch}
.quick-topics{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 4px}
.quick-topics .chip.on{border-color:var(--blue);color:var(--blue)}
