:root{
  --bg:#0b1210;
  --bg2:#12201a;
  --panel:#15261f;
  --line:rgba(163,230,53,.18);
  --text:#e8f0ea;
  --muted:#9db5a7;
  --accent:#a3e635;
  --accent2:#34d399;
  --warn:#fbbf24;
  --danger:#fb7185;
  --radius:14px;
  --font:"Source Sans 3",system-ui,sans-serif;
  --display:"Syne",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font);color:var(--text);
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(52,211,153,.18), transparent 55%),
    radial-gradient(900px 500px at 100% 0%, rgba(163,230,53,.12), transparent 50%),
    linear-gradient(180deg,var(--bg), #07100d 40%, var(--bg2));
  min-height:100vh;
}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.04;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.site-header,main,.site-footer{position:relative;z-index:1}
.site-header{
  display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;
  padding:1rem clamp(1rem,3vw,2.5rem);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
  position:sticky;top:0;background:rgba(11,18,16,.82);
}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--text)}
.brand-mark{font-family:var(--mono);color:var(--accent);font-weight:600}
.brand-name{font-family:var(--display);font-weight:800;letter-spacing:-.02em;font-size:1.25rem}
.nav{display:flex;gap:.2rem;flex-wrap:wrap}
.nav a{color:var(--muted);text-decoration:none;padding:.45rem .75rem;border-radius:999px;font-weight:600}
.nav a:hover,.nav a.active{color:var(--bg);background:var(--accent)}
.search-mini{margin-left:auto}
.search-mini input{
  background:var(--panel);border:1px solid var(--line);color:var(--text);
  border-radius:999px;padding:.55rem 1rem;min-width:min(260px,70vw);font:inherit
}
main{padding:0 clamp(1rem,3vw,2.5rem) 3rem}
.hero{
  min-height:78vh;display:grid;align-content:end;gap:1.2rem;
  padding:4rem 0 3rem;border-bottom:1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(163,230,53,.05) 1px, transparent 1px) 0 0/48px 48px,
    linear-gradient(rgba(163,230,53,.05) 1px, transparent 1px) 0 0/48px 48px;
  animation:fadeUp .8s ease both;
}
.hero h1{
  font-family:var(--display);font-weight:800;line-height:.95;
  font-size:clamp(2.6rem,8vw,5.6rem);letter-spacing:-.04em;max-width:12ch;margin:0;
}
.hero p{max-width:38rem;color:var(--muted);font-size:1.15rem;margin:0}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.5rem}
.btn{
  display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;font-weight:700;
  border-radius:999px;padding:.8rem 1.2rem;border:1px solid transparent;transition:transform .2s ease, background .2s;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:#102012}
.btn-ghost{border-color:var(--line);color:var(--text);background:transparent}
.stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1rem;color:var(--muted)}
.stats strong{color:var(--accent);font-family:var(--mono);display:block;font-size:1.3rem}
.section{padding:3rem 0 1rem}
.section h2{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 .4rem;letter-spacing:-.02em}
.section .lead{color:var(--muted);margin:0 0 1.5rem;max-width:40rem}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.item{
  display:block;text-decoration:none;color:inherit;padding:1.1rem 1.2rem;
  border:1px solid var(--line);border-radius:var(--radius);background:rgba(21,38,31,.55);
  transition:border-color .2s, transform .2s;
}
.item:hover{border-color:var(--accent);transform:translateY(-3px)}
.item h3{margin:.1rem 0 .35rem;font-family:var(--display);font-size:1.15rem}
.item .meta{font-family:var(--mono);font-size:.78rem;color:var(--accent2)}
.item p{margin:0;color:var(--muted);font-size:.95rem}
.letters{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.5rem}
.letters a{
  width:2.4rem;height:2.4rem;display:grid;place-items:center;text-decoration:none;
  border:1px solid var(--line);border-radius:10px;color:var(--text);font-family:var(--mono);font-weight:600;
}
.letters a:hover,.letters a.active{background:var(--accent);color:#102012;border-color:transparent}
.os-switch{display:flex;gap:.5rem;margin:1rem 0}
.cmd-title{font-family:var(--mono);color:var(--accent);font-size:clamp(1.8rem,4vw,2.6rem);margin:0}
.synopsis{font-family:var(--mono);background:var(--panel);border:1px solid var(--line);padding:.9rem 1rem;border-radius:12px;overflow:auto}
.prose{max-width:48rem;line-height:1.7;color:#d7e5db}
.prose pre,.examples{
  font-family:var(--mono);background:#07140f;border:1px solid var(--line);
  padding:1rem;border-radius:12px;overflow:auto;white-space:pre-wrap;color:#d9f99d
}
.news-hero-list .item h3{font-family:var(--display)}
.pager{display:flex;gap:.6rem;margin-top:1.5rem}
.pager a{color:var(--accent);text-decoration:none;font-weight:700}
.site-footer{
  margin-top:2rem;padding:2rem clamp(1rem,3vw,2.5rem);
  border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted)
}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap}
.footer-links a{color:var(--accent2);text-decoration:none}
.empty{padding:2rem;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.reveal{animation:fadeUp .7s ease both}
@media (max-width:800px){
  .search-mini{order:3;width:100%;margin-left:0}
  .search-mini input{width:100%}
  .hero{min-height:70vh}
}
