  /* ---- Fortitude Omnis --ds-* token system (light :root + dark), three-state theme-aware ---- */
  :root{
    --ds-bg:248 250 252; --ds-surface:255 255 255; --ds-surface2:241 245 249;
    --ds-border:226 232 240; --ds-border2:203 213 225;
    --ds-accent:13 118 110; --ds-bright:13 148 136;
    --ds-text:12 20 38; --ds-muted:51 65 85; --ds-dim:100 116 139;
    --ds-good:5 122 85; --ds-warn:180 83 9;
    --glow:.28; --gridline:0 0 0;
  }
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
    --ds-bg:8 12 20; --ds-surface:14 20 32; --ds-surface2:20 30 47;
    --ds-border:30 45 69; --ds-border2:37 54 80;
    --ds-accent:45 212 191; --ds-bright:94 234 212;
    --ds-text:241 245 249; --ds-muted:166 180 200; --ds-dim:124 141 166;
    --ds-good:52 211 153; --ds-warn:251 191 36;
    --glow:.5; --gridline:255 255 255;
  }}
  :root[data-theme="dark"]{
    --ds-bg:8 12 20; --ds-surface:14 20 32; --ds-surface2:20 30 47;
    --ds-border:30 45 69; --ds-border2:37 54 80;
    --ds-accent:45 212 191; --ds-bright:94 234 212;
    --ds-text:241 245 249; --ds-muted:166 180 200; --ds-dim:124 141 166;
    --ds-good:52 211 153; --ds-warn:251 191 36;
    --glow:.5; --gridline:255 255 255;
  }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{animation:none!important;transition:none!important} }
  body{
    margin:0; background:rgb(var(--ds-bg)); color:rgb(var(--ds-text));
    font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif; font-weight:400;
    line-height:1.6; -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px}
  a{color:inherit}
  .mono{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}
  .skip-link{position:absolute;left:-999px;top:0;background:rgb(var(--ds-accent));color:rgb(var(--ds-bg));padding:8px 14px;border-radius:8px;z-index:100}
  .skip-link:focus{left:12px;top:12px}
  :focus-visible{outline:2px solid rgb(var(--ds-bright));outline-offset:3px;border-radius:4px}

  /* nav */
  header.nav{position:sticky;top:0;z-index:40;backdrop-filter:blur(12px);
    background:rgb(var(--ds-bg)/.72);border-bottom:1px solid rgb(var(--ds-border)/.7)}
  .nav-inner{display:flex;align-items:center;gap:16px;height:60px}
  .brand{display:flex;flex-direction:column;line-height:1.15;text-decoration:none}
  .brand b{font-weight:800;letter-spacing:-.01em;font-size:1.05rem}
  .brand .byl{font-size:.66rem;color:rgb(var(--ds-dim));font-weight:500}
  .brand .byl a{color:rgb(var(--ds-accent));text-decoration:none;font-weight:600}
  .nav-spacer{flex:1}
  .nav a.navlink{text-decoration:none;color:rgb(var(--ds-muted));font-size:.85rem;font-weight:500;padding:6px 4px}
  .nav a.navlink:hover{color:rgb(var(--ds-text))}
  @media(max-width:720px){ .nav a.navlink{display:none} }
  .theme-btn{background:rgb(var(--ds-surface2));border:1px solid rgb(var(--ds-border2));color:rgb(var(--ds-muted));
    width:36px;height:36px;border-radius:9px;cursor:pointer;font-size:1rem;display:grid;place-items:center}
  .theme-btn:hover{color:rgb(var(--ds-text));border-color:rgb(var(--ds-accent))}

  /* eyebrow */
  .eyebrow{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:.7rem;font-weight:600;
    text-transform:uppercase;letter-spacing:.18em;color:rgb(var(--ds-accent));
    background:rgb(var(--ds-accent)/.1);border:1px solid rgb(var(--ds-accent)/.28);
    padding:5px 11px;border-radius:999px}

  /* hero */
  .hero{position:relative;overflow:hidden;padding:72px 0 40px}
  .hero .glow{position:absolute;top:-160px;left:50%;transform:translateX(-50%);width:760px;height:520px;
    background:radial-gradient(closest-side,rgb(var(--ds-accent)/var(--glow)),transparent 70%);
    filter:blur(30px);pointer-events:none;z-index:0}
  .bg-grid{position:absolute;inset:0;z-index:0;opacity:.5;pointer-events:none;
    background-image:radial-gradient(rgb(var(--gridline)/.06) 1px,transparent 1px);background-size:26px 26px;
    -webkit-mask-image:linear-gradient(180deg,#000,transparent 78%);mask-image:linear-gradient(180deg,#000,transparent 78%)}
  .hero-inner{position:relative;z-index:1}
  h1{font-size:clamp(2.5rem,6vw,4.6rem);line-height:1.02;font-weight:900;letter-spacing:-.03em;
    text-wrap:balance;margin:18px 0 0;max-width:16ch}
  .grad{background:linear-gradient(100deg,rgb(var(--ds-bright)),rgb(var(--ds-accent)));
    -webkit-background-clip:text;background-clip:text;color:transparent}
  .lede{font-size:1.2rem;color:rgb(var(--ds-muted));max-width:60ch;margin:22px 0 0}
  .hero-meta{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
  .chip{font-family:"JetBrains Mono",monospace;font-size:.74rem;color:rgb(var(--ds-muted));
    background:rgb(var(--ds-surface));border:1px solid rgb(var(--ds-border2));padding:5px 10px;border-radius:8px}

  /* stat band */
  .statband{background:rgb(var(--ds-surface));border-block:1px solid rgb(var(--ds-border));margin-top:44px}
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
  @media(max-width:720px){ .stats{grid-template-columns:repeat(2,1fr)} }
  .stat{padding:26px 22px;border-left:1px solid rgb(var(--ds-border))}
  .stat:first-child{border-left:0}
  @media(max-width:720px){ .stat:nth-child(odd){border-left:0} .stat:nth-child(n+3){border-top:1px solid rgb(var(--ds-border))} }
  .stat .num{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:2.1rem;letter-spacing:-.02em;
    color:rgb(var(--ds-text));font-variant-numeric:tabular-nums;line-height:1}
  .stat .num .u{color:rgb(var(--ds-accent));font-size:1.3rem}
  .stat .lbl{margin-top:8px;font-size:.8rem;color:rgb(var(--ds-dim));line-height:1.35}

  /* sections */
  section.blk{padding:56px 0}
  h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;letter-spacing:-.02em;margin:14px 0 0;text-wrap:balance}
  .sub{color:rgb(var(--ds-muted));max-width:65ch;margin:12px 0 0}

  .card{background:rgb(var(--ds-surface));border:1px solid rgb(var(--ds-border));border-radius:16px;padding:22px}
  .figwrap{overflow-x:auto}
  figure{margin:0}
  figcaption{color:rgb(var(--ds-dim));font-size:.8rem;margin-top:12px}
  svg{display:block;max-width:100%;height:auto}
  .axis{stroke:rgb(var(--ds-border2));stroke-width:1}
  .grid{stroke:rgb(var(--ds-border)/.8);stroke-width:1}
  .tick{fill:rgb(var(--ds-dim));font-family:"JetBrains Mono",monospace;font-size:11px}
  .axislbl{fill:rgb(var(--ds-muted));font-family:Inter,sans-serif;font-size:12px;font-weight:600}
  .ptlabel{fill:rgb(var(--ds-text));font-family:Inter,sans-serif;font-size:13px;font-weight:700}
  .ptsub{fill:rgb(var(--ds-dim));font-family:"JetBrains Mono",monospace;font-size:11px}
  .frontier{stroke:rgb(var(--ds-accent));stroke-width:1.5;stroke-dasharray:5 4;fill:none;opacity:.7}

  /* table */
  table{width:100%;border-collapse:collapse;font-size:.92rem}
  th,td{text-align:left;padding:12px 14px;border-bottom:1px solid rgb(var(--ds-border))}
  thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:rgb(var(--ds-dim));font-weight:600}
  td.num,th.num{text-align:right;font-family:"JetBrains Mono",monospace;font-variant-numeric:tabular-nums}
  tr.hi td{background:rgb(var(--ds-accent)/.07)}
  .tag{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:.68rem;padding:2px 8px;border-radius:999px;
    border:1px solid rgb(var(--ds-border2));color:rgb(var(--ds-muted))}
  .tag.front{color:rgb(var(--ds-accent));border-color:rgb(var(--ds-accent)/.4);background:rgb(var(--ds-accent)/.08)}

  /* bars */
  .barrow{display:grid;grid-template-columns:180px 1fr 92px;align-items:center;gap:14px;padding:7px 0}
  .barrow .bmodel{font-family:"JetBrains Mono",monospace;font-size:.82rem}
  .barrow .bmodel .prov{color:rgb(var(--ds-dim));font-size:.7rem}
  .bartrack{background:rgb(var(--ds-surface2));border-radius:6px;height:22px;overflow:hidden}
  .barfill{height:100%;background:linear-gradient(90deg,rgb(var(--ds-accent)),rgb(var(--ds-bright)));border-radius:6px;min-width:3px}
  .barval{font-family:"JetBrains Mono",monospace;font-size:.82rem;text-align:right;color:rgb(var(--ds-muted))}

  /* verify block */
  .verify{background:rgb(var(--ds-surface));border:1px solid rgb(var(--ds-border));border-radius:16px;padding:26px;
    position:relative;overflow:hidden}
  .verify .glow{position:absolute;right:-120px;top:-120px;width:320px;height:320px;
    background:radial-gradient(closest-side,rgb(var(--ds-accent)/.22),transparent 70%);filter:blur(20px);pointer-events:none}
  pre.term{position:relative;background:rgb(var(--ds-bg));border:1px solid rgb(var(--ds-border2));border-radius:12px;
    padding:16px 18px;overflow-x:auto;margin:16px 0 0;font-family:"JetBrains Mono",monospace;font-size:.82rem;line-height:1.7}
  pre.term .cmt{color:rgb(var(--ds-dim))}
  pre.term .ok{color:rgb(var(--ds-good));font-weight:600}
  pre.term b{color:rgb(var(--ds-accent))}

  .caveats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  @media(max-width:720px){ .caveats{grid-template-columns:1fr} }
  .caveats .card h3{margin:0 0 6px;font-size:1rem}
  .caveats .card p{margin:0;color:rgb(var(--ds-muted));font-size:.9rem}
  .caveats .k{font-family:"JetBrains Mono",monospace;color:rgb(var(--ds-accent));font-size:.85rem}

  /* footer */
  footer{border-top:1px solid rgb(var(--ds-border));margin-top:40px;padding:34px 0 48px;color:rgb(var(--ds-dim));font-size:.85rem}
  footer a{color:rgb(var(--ds-accent));text-decoration:none;font-weight:600}
  footer .frow{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

  /* reveal */
  .rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
  .rv.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){ .rv{opacity:1;transform:none} }

  /* tooltip */
  #tt{position:fixed;pointer-events:none;z-index:80;background:rgb(var(--ds-surface));color:rgb(var(--ds-text));
    border:1px solid rgb(var(--ds-border2));border-radius:10px;padding:8px 11px;font-size:.78rem;
    box-shadow:0 8px 24px rgb(0 0 0/.25);opacity:0;transition:opacity .12s;max-width:240px}
  #tt .tk{font-family:"JetBrains Mono",monospace;color:rgb(var(--ds-accent));font-weight:600}

  /* faq */
  summary{cursor:pointer;font-weight:700;font-size:1.02rem;list-style:none}
  summary::-webkit-details-marker{display:none}
  details.card{margin-bottom:12px}
  details[open] summary{color:rgb(var(--ds-accent))}
  details .ans{margin-top:10px;color:rgb(var(--ds-muted));font-size:.95rem}
