:root{
  --bg:#0E0E10; --panel:#161618; --panel-2:#1D1D20; --line:#26262A;
  --text:#F2F2F4; --dim:#9C9CA3; --dim-2:#65656C; --accent:#D9D9DE;
  --hero-tint-a:#2A3140; --positive:#5FD98A; --negative:#F2726F;
  --r-tight:6px; --r-soft:18px;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--bg); color:var(--text);
  font-family:'Bricolage Grotesque', sans-serif;
  -webkit-font-smoothing:antialiased; min-height:100vh; position:relative; overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025) 1px, transparent 1px) 0 0/100% 44px,
    radial-gradient(70% 50% at 8% -6%, var(--hero-tint-a) 0%, transparent 58%);
  mask-image:linear-gradient(180deg, black, transparent 88%);
}
body::after{
  content:""; position:fixed; inset:0; z-index:300; pointer-events:none;
  opacity:0.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{ color:inherit; }

.topbar{
  position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between;
  padding:26px 34px; max-width:900px; margin:0 auto;
}
.brand-word{ font-family:'Instrument Serif', serif; font-size:22px; letter-spacing:0.005em; text-decoration:none; }
.brand-word em{ font-style:italic; color:var(--dim); }
.back-link{
  font-family:'Martian Mono', monospace; font-size:10.5px; letter-spacing:0.04em;
  color:var(--dim); text-decoration:none;
  padding:8px 13px; border:1px solid var(--line); border-radius:var(--r-tight);
  transition:all .15s ease;
}
.back-link:hover{ color:var(--text); border-color:rgba(255,255,255,0.24); }

.wrap{ position:relative; z-index:2; max-width:760px; margin:0 auto; padding:20px 34px 90px; }

.eyebrow{
  font-family:'Martian Mono', monospace; font-size:10.5px; letter-spacing:0.09em;
  color:var(--dim); text-transform:uppercase; margin-bottom:14px;
}
h1{
  font-family:'Instrument Serif', serif; font-weight:400; font-size:40px;
  letter-spacing:-0.015em; margin-bottom:10px;
}
.updated{ font-family:'Martian Mono', monospace; font-size:10px; color:var(--dim-2); margin-bottom:34px; }

.callout{
  border:1px solid rgba(242,114,111,0.3); border-radius:10px;
  padding:16px 18px; margin-bottom:34px; font-size:13px; line-height:1.6; color:var(--dim);
}
.callout b{ color:var(--text); font-weight:600; }

h2{
  font-family:'Instrument Serif', serif; font-weight:400; font-size:23px;
  margin:38px 0 12px; padding-top:14px; border-top:1px solid var(--line);
}
h3{ font-size:14.5px; font-weight:700; margin:22px 0 8px; }
p{ font-size:14.5px; line-height:1.75; color:var(--dim); margin-bottom:14px; }
p strong, li strong{ color:var(--text); font-weight:600; }
ul{ margin:0 0 16px 20px; }
li{ font-size:14.5px; line-height:1.75; color:var(--dim); margin-bottom:7px; }

.spec-block{ border:1px solid var(--line); border-radius:10px; overflow:hidden; margin:18px 0 24px; }
.spec-row{ display:grid; grid-template-columns:170px 1fr; padding:14px 16px; gap:16px; }
.spec-row + .spec-row{ border-top:1px solid var(--line); }
.spec-row .k{
  font-family:'Martian Mono', monospace; font-size:9.5px; letter-spacing:0.05em;
  text-transform:uppercase; color:var(--dim-2); padding-top:3px;
}
.spec-row .v{ font-size:13.5px; line-height:1.6; color:var(--text); }
.spec-row .v span{ color:var(--dim); }

.toc{ border:1px solid var(--line); border-radius:10px; padding:18px 20px; margin-bottom:34px; }
.toc-title{
  font-family:'Martian Mono', monospace; font-size:9.5px; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--dim-2); margin-bottom:12px;
}
.toc ol{ margin:0 0 0 18px; }
.toc li{ margin-bottom:5px; font-size:13.5px; }
.toc a{ color:var(--dim); text-decoration:none; }
.toc a:hover{ color:var(--text); text-decoration:underline; }

footer{
  position:relative; z-index:2; max-width:760px; margin:0 auto;
  padding:24px 34px 50px; border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-family:'Martian Mono', monospace; font-size:9.5px; letter-spacing:0.04em;
  color:var(--dim-2); text-transform:uppercase;
}
footer a{ text-decoration:none; }
footer a:hover{ color:var(--text); }
footer .links{ display:flex; gap:18px; }

@media (max-width:640px){
  .wrap, footer{ padding-left:20px; padding-right:20px; }
  .topbar{ padding:20px; }
  h1{ font-size:32px; }
  .spec-row{ grid-template-columns:1fr; gap:5px; }
}
