* { box-sizing: border-box; }
:root { color-scheme: dark; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--background); color: var(--text); font: 16px/1.6 "Segoe UI",system-ui,sans-serif; background-image: linear-gradient(rgba(105,255,147,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(105,255,147,.045) 1px,transparent 1px); background-size:42px 42px; }
body::before { content:""; position:fixed; inset:0; z-index:-1; background:radial-gradient(circle at 82% 12%,rgba(105,255,147,.16),transparent 24rem),linear-gradient(140deg,rgba(3,19,13,.3),var(--background) 65%); }
a { color:var(--accent); text-underline-offset:.25em; }
a:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid var(--accent-alt); outline-offset:3px; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:20; padding:.7rem 1rem; background:var(--text); color:var(--background); }
.skip-link:focus { top:1rem; }
.hero,main,footer { width:min(1180px,calc(100% - 2rem)); margin-inline:auto; }
.hero { min-height:82vh; padding:1.2rem 0 4.5rem; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto 1fr; gap:2rem; align-items:end; }
.hero nav { grid-column:1/-1; }
.hero-copy { max-width:850px; }
.signal { align-self:center; width:clamp(180px,24vw,300px); aspect-ratio:1; display:grid; place-items:center; border:1px solid var(--accent); border-radius:50%; box-shadow:0 0 0 22px rgba(105,255,147,.035),0 0 80px rgba(105,255,147,.12); text-align:center; }
.signal b { font:700 clamp(4rem,8vw,7rem)/.7 Georgia,serif; color:var(--accent-alt); }
.signal span { font-size:.66rem; font-weight:900; letter-spacing:.22em; color:var(--accent); }
nav { display:flex; gap:1.5rem; flex-wrap:wrap; justify-content:flex-end; border-bottom:1px solid rgba(105,255,147,.25); }
nav a { min-height:48px; display:inline-flex; align-items:center; text-decoration:none; font-size:.72rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.eyebrow,.kicker { color:var(--accent); font-size:.72rem; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
h1 { max-width:10ch; margin:.1em 0; font:clamp(4rem,10vw,8.6rem)/.84 Georgia,serif; letter-spacing:-.065em; text-shadow:0 0 40px rgba(105,255,147,.11); }
h2 { font:clamp(2.2rem,5vw,4.7rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.lede { max-width:55ch; color:var(--muted); font-size:clamp(1.08rem,2vw,1.42rem); }
dl { display:flex; gap:2rem; flex-wrap:wrap; }
dl div { display:grid; gap:.1rem; padding-left:.8rem; border-left:2px solid var(--accent); }
dt { color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.13em; }
dd { margin:0; font-weight:800; }
.disclosure { display:flex; justify-content:space-between; gap:1rem; padding:1.1rem 1.25rem; border:1px solid rgba(232,255,91,.55); background:#172b13; color:var(--muted); }
.disclosure strong { color:var(--accent-alt); text-transform:uppercase; letter-spacing:.11em; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:1rem; background:rgba(105,255,147,.28); border:1px solid rgba(105,255,147,.28); }
.metrics div { min-height:8.4rem; padding:1.2rem; display:grid; align-content:space-between; background:rgba(11,41,27,.96); }
.metrics strong { color:var(--accent-alt); font:2rem/1 ui-monospace,Consolas,monospace; }
.metrics span { color:var(--muted); }
.guide,.catalog { padding:7rem 0 1rem; }
.section-heading { max-width:800px; margin-bottom:2rem; }
.section-heading h2 { margin:.2rem 0 .7rem; }
.section-heading>p:last-child { color:var(--muted); }
.guide-grid { counter-reset:route; display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
.guide-card { counter-increment:route; position:relative; min-height:23rem; padding:1.4rem; border:1px solid rgba(105,255,147,.28); background:linear-gradient(180deg,rgba(16,57,37,.97),rgba(5,25,16,.98)); clip-path:polygon(0 0,calc(100% - 1.25rem) 0,100% 1.25rem,100% 100%,0 100%); }
.guide-card::after { content:"0" counter(route); position:absolute; right:1rem; bottom:.4rem; color:rgba(105,255,147,.1); font:700 4rem/1 ui-monospace,monospace; }
.guide-card h2 { margin:.3rem 0 1rem; font-size:clamp(1.7rem,2.6vw,2.5rem); }
.guide-card>p:not(.kicker) { color:var(--muted); }
.section-cards { padding-top:.8rem; border-top:1px solid rgba(105,255,147,.18); font-size:.83rem; }
.section-cards strong { color:var(--text); }
.catalog-controls { display:grid; grid-template-columns:1fr 1fr auto; gap:1rem; align-items:end; margin:2rem 0; padding:1rem; border:1px solid rgba(105,255,147,.3); background:rgba(3,19,13,.95); }
label { display:grid; gap:.35rem; color:var(--muted); font-weight:750; }
input,select { min-height:48px; width:100%; border:1px solid rgba(105,255,147,.35); border-radius:0; padding:.7rem .85rem; background:var(--surface); color:var(--text); font:inherit; }
#catalog-status { margin:0; color:var(--accent-alt); font:700 .8rem ui-monospace,monospace; }
.deck-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(105,255,147,.2); border:1px solid rgba(105,255,147,.2); }
.deck-card { min-width:0; padding:1rem; background:var(--surface); }
.deck-card div { display:grid; gap:.3rem; }
.deck-card strong { color:var(--text); }
.deck-card span,.deck-card p { margin:0; overflow-wrap:anywhere; color:var(--muted); font-size:.8rem; }
.deck-card p { color:var(--accent); }
.deck-card[hidden] { display:none; }
footer { margin-top:6rem; padding:2rem 0 4rem; border-top:1px solid rgba(105,255,147,.3); display:flex; justify-content:space-between; gap:1rem; color:var(--muted); }
@media (max-width:860px) { .hero { min-height:auto; grid-template-columns:1fr; padding-bottom:3rem; } .signal { grid-row:2; } .hero-copy { grid-row:3; } .guide-grid,.deck-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 720px) { nav { justify-content:flex-start; } .signal { width:180px; } h1 { font-size:clamp(3.2rem,17vw,5.2rem); } .disclosure,.metrics,.guide-grid,.deck-grid,.catalog-controls { display:grid; grid-template-columns:1fr; } .guide-card { min-height:auto; } .guide,.catalog { padding-top:4rem; } footer { display:grid; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
