:root{
  --green:#00FF41; --green-dim:#008F23; --amber:#FFAA00;
  --danger:#FF3333; --ground:#020804; --surface:#0A140C;
  --surface-alt:#102014; --line:#0E3A1C;
  --paper:#D9F7E2; --paper-dim:#7FA98C;
  --display:'Rajdhani', 'DIN Condensed', 'Arial Narrow', sans-serif; --mono:'Share Tech Mono', 'Courier New', monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ground);color:var(--paper);font-family:var(--display);
     font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
h1,h2,h3{font-family:var(--display);line-height:1.12;text-wrap:balance;font-weight:700}
h1{font-size:clamp(2.4rem,6vw,4.1rem);letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.6rem}
h3{font-size:1.18rem;margin-bottom:.35rem}
p{margin-bottom:1rem;max-width:62ch;overflow-wrap:break-word}
/* long unbreakable strings (font stacks, URLs) must wrap rather than push the page wide */
td,li,code,.mono{overflow-wrap:anywhere}
.wrap{max-width:74rem;margin-inline:auto;padding-inline:1.5rem}
.narrow{max-width:46rem}
.mono{font-family:var(--mono)}
.dim{color:var(--paper-dim)}
.kicker{font-family:var(--mono);font-size:.78rem;letter-spacing:.22em;
        text-transform:uppercase;color:var(--green);margin-bottom:.9rem}
.rule{border:0;border-top:1px solid var(--line);margin:2.6rem 0}

/* skip link, because a keyboard user should not tab the whole nav every page */
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:var(--green);color:var(--ground);
            padding:.6rem 1rem;z-index:99;font-family:var(--mono)}

header{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;
       background:rgba(2,8,4,.94);backdrop-filter:blur(6px)}
.nav{display:flex;align-items:center;gap:1.6rem;padding-block:.9rem;flex-wrap:wrap}
.brandmark{display:inline-flex;align-items:center;gap:.62rem;
           font-family:var(--mono);font-size:1.06rem;letter-spacing:.30em;color:var(--green);
           text-decoration:none;white-space:nowrap}
/* the mark carries its own clear space, a quarter of its height, so nothing crowds it */
.mark{width:1.5em;height:1.5em;flex:0 0 auto;display:block;overflow:visible}
.brandmark .mark{width:1.62rem;height:1.62rem;margin-inline-end:.06rem}
.brandmark:hover{text-decoration:none}
.logo-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin:1.2rem 0}
/* cells sit on surface, not ground, so the primary variant's ground square is visible
   against them. On ground they would be indistinguishable from the bare variant. */
.logo-cell{background:var(--surface);border:1px solid var(--line);border-radius:4px;
           padding:1.3rem;text-align:center}
.logo-cell svg{width:5.2rem;height:5.2rem;margin:0 auto}
.logo-cell p{margin:.75rem 0 0;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;
             text-transform:uppercase;color:var(--paper-dim)}
.logo-cell.on-light{background:#fff}
.logo-sizes{display:flex;align-items:flex-end;gap:1.4rem;flex-wrap:wrap;margin:1.2rem 0}
.logo-sizes figure{margin:0;text-align:center}
.logo-sizes figcaption{font-family:var(--mono);font-size:.72rem;color:var(--paper-dim);margin-top:.5rem}
.logo-files{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-family:var(--mono);font-size:.85rem;
            list-style:none;padding:0;margin:1rem 0}
.logo-files li{white-space:nowrap}
.nav ul{list-style:none;display:flex;gap:1.15rem;margin-left:auto;flex-wrap:wrap}
.nav a{font-family:var(--mono);font-size:.83rem;letter-spacing:.10em;
       text-transform:uppercase;color:var(--paper-dim)}
.nav a:hover,.nav a[aria-current=page]{color:var(--green);text-decoration:none}

main{padding-block:3.2rem 4.2rem}
.hero{padding-block:4rem 3rem;border-bottom:1px solid var(--line)}
.hero p.lede{font-size:1.22rem;max-width:52ch;color:var(--paper)}

.grid{display:grid;gap:1.5rem;margin-block:1.6rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}

.card{border:1px solid var(--line);background:var(--surface);padding:1.5rem;border-radius:2px}
.card h3{color:var(--green)}
.card .meta{font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;
            text-transform:uppercase;color:var(--paper-dim);margin-bottom:.7rem}
.card p{margin-bottom:.7rem;font-size:.97rem}

.btn{display:inline-block;font-family:var(--mono);font-size:.83rem;letter-spacing:.13em;
     text-transform:uppercase;padding:.78rem 1.5rem;border:1px solid var(--green);
     color:var(--green);border-radius:2px;margin-top:.4rem}
.btn:hover{background:var(--green);color:var(--ground);text-decoration:none}
.btn.solid{background:var(--green);color:var(--ground)}
.btn.solid:hover{background:transparent;color:var(--green)}

.tag{display:inline-block;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;
     text-transform:uppercase;border:1px solid var(--line);color:var(--paper-dim);
     padding:.2rem .55rem;border-radius:2px;margin-right:.4rem}
.tag.on{border-color:var(--green);color:var(--green)}
.tag.soon{border-color:var(--amber);color:var(--amber)}

.scroll-x{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:.86rem}
th,td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--green);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;white-space:nowrap}

ul.ticks{list-style:none;margin-block:.8rem 1.2rem}
ul.ticks li{padding-left:1.5rem;position:relative;margin-bottom:.5rem;max-width:62ch}
ul.ticks li::before{content:"▸";position:absolute;left:0;color:var(--green);font-family:var(--mono)}

.swatch{display:flex;align-items:center;gap:.8rem;margin-bottom:.5rem;flex-wrap:wrap;
        font-family:var(--mono);font-size:.85rem}
.chip{width:2.4rem;height:2.4rem;border:1px solid var(--line);flex:none;border-radius:2px}

footer{border-top:1px solid var(--line);padding-block:2.6rem 3.4rem;margin-top:3rem}
.fgrid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
footer h4{font-family:var(--mono);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;
          color:var(--green);margin-bottom:.7rem}
footer ul{list-style:none}
footer li{margin-bottom:.35rem}
footer a{font-family:var(--mono);font-size:.85rem;color:var(--paper-dim)}
footer a:hover{color:var(--green)}
.colophon{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line);
          font-family:var(--mono);font-size:.76rem;color:var(--paper-dim)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:#fff;color:#000}header,footer,.btn{display:none}}
