@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#07100f;--panel:#0d1917;--line:#283b35;--ink:#e9f5ee;--muted:#93aca1;--lime:#d4fa6e;--teal:#7ed6b2;--dim:#142521;--warn:#ffcb92;--font:"Space Grotesk",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.55;overflow-x:hidden}
body::before{content:"";position:absolute;top:4rem;right:-21rem;width:85vw;height:65vw;max-width:1100px;max-height:750px;background:radial-gradient(ellipse,#173b2b70 0,transparent 67%);pointer-events:none}
a{color:inherit;text-decoration:none}
button{font:inherit}
.shell{width:min(1240px,calc(100% - 76px));margin:0 auto}
.noise{position:fixed;inset:0;opacity:.07;pointer-events:none;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E")}
.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #33413990;position:relative;z-index:2}
.brand{display:flex;gap:13px;align-items:center;font:700 18px var(--font);letter-spacing:-.07em}
.brand-glyph{display:grid;place-items:center;width:38px;height:38px;border:1px solid #9bcab0;border-radius:8px;background:#254a34;color:var(--lime);font-size:19px}
.brand-glyph span{color:var(--teal);font-size:12px}
.muted-brand{color:#658778;margin:0 3px}
nav{display:flex;gap:33px;align-items:center;font-size:13px;color:#afc4b8}
nav a:hover,nav .nav-current{color:var(--lime)}
nav .external-nav{border:1px solid #415349;padding:9px 13px;border-radius:3px;color:#d8e7dc}
nav .external-nav:hover{background:#243c30}
.intro{padding-top:92px;position:relative}
.eyebrow,.overline,.section-index,.metric-label,.panel-top,.panel-bottom,.telemetry-strip,.collection-note,.footer,.state-pill{font-family:var(--font);letter-spacing:.14em;font-size:10px;font-weight:600}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--lime)}
.pulse-dot{width:7px;height:7px;border-radius:100%;background:var(--lime);box-shadow:0 0 16px var(--lime);animation:pulse 2.3s infinite}
.eyebrow-line{width:57px;height:1px;background:#647e66;margin-left:7px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:85px;align-items:center;padding:28px 0 67px}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--font);font-weight:500;letter-spacing:-.075em;line-height:1.03}
h1{font-size:clamp(58px,7vw,105px);margin:24px 0}
h1 em,h2 em{font-style:normal;color:var(--lime)}
.lead{font-size:16px;color:#b2c8bc;max-width:495px;line-height:1.75}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:27px;margin-top:36px}
.primary-action{background:var(--lime);color:#0c1911;padding:15px 19px;font-weight:700;font-size:12px;border-radius:3px}
.primary-action span{padding-left:27px}
.primary-action:hover{background:#e5ff98}
.ghost-action{font-size:12px;color:#d2e8dc;white-space:nowrap}
.ghost-action span{margin-left:15px;color:var(--lime)}
.signal-panel{aspect-ratio:1.02;background:linear-gradient(145deg,#142c23,#0b1817 77%);border:1px solid #37513f;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 28px 120px #01080780}
.signal-panel::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#45624a25 1px,transparent 1px),linear-gradient(90deg,#45624a25 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse,#000,transparent 82%)}
.panel-top,.panel-bottom{position:absolute;left:24px;right:24px;display:flex;justify-content:space-between;gap:5px;color:#a5c3af;z-index:2;font-size:9px}
.panel-top{top:21px}.panel-bottom{bottom:22px;color:#7fa591}
.orb{position:absolute;width:57%;aspect-ratio:1;border:1px solid #9eeac764;border-radius:50%;left:21%;top:21%;transform:rotate(-21deg)}
.orb::before{content:"";position:absolute;inset:13%;border:1px dashed #93eb9f7d;border-radius:50%}
.orb-one{background:radial-gradient(circle at 42% 39%,#8ff09f31,#0a281b15 58%,transparent 77%);box-shadow:inset 12px 8px 30px #82ffaf1b,0 0 65px #72e09a12}
.orb-two{transform:rotate(56deg) scaleX(.37);border-color:#c4fdadcc}
.signal-lines{position:absolute;bottom:20%;left:15%;right:15%;height:45%;display:flex;align-items:center;gap:8px;justify-content:center;transform:rotate(-4deg)}
.signal-lines i{width:2px;height:12%;background:var(--lime);box-shadow:0 0 15px #c2eaa677;animation:wave 2s ease-in-out infinite alternate;border-radius:5px}
.signal-lines i:nth-child(3n){height:60%;animation-delay:.3s}.signal-lines i:nth-child(4n){height:30%;animation-delay:.6s}.signal-lines i:nth-child(5n){height:85%;animation-delay:.15s}
.telemetry-strip{padding:22px 0;border-top:1px solid #3552468a;border-bottom:1px solid #3552468a;display:flex;justify-content:space-between;gap:10px;color:#94afa0}
.tiny-square{display:inline-block;height:7px;width:7px;border:1px solid var(--lime);margin-right:8px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#2e4238;margin-top:50px;border:1px solid #2e4238}
.metric{background:#10201b;padding:27px 31px}
.metric-label{display:flex;justify-content:space-between;gap:10px;color:#c7dacd}
.metric-label span{font-size:9px;color:#708a7d}
.metric-value{font:500 72px/1.2 var(--font);letter-spacing:-.09em;color:var(--lime);margin-top:17px}
.metric p{color:#9aafa5;font-size:12px;max-width:280px;margin:8px 0 0;line-height:1.65}
.section-block{padding-top:112px;scroll-margin-top:50px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:31px}
.section-index{color:var(--lime);margin:0 0 17px}
h2{font-size:clamp(36px,4vw,60px);margin-bottom:14px}
.fullstop{color:var(--lime)}
.section-subtitle{color:#98b2a4;font-size:13px;margin-bottom:0}
.filter-group{display:flex;gap:5px;background:#152722;padding:5px;border:1px solid #304b3a;border-radius:6px}
.filter-group button{cursor:pointer;padding:9px 12px;border:0;background:transparent;color:#93b2a0;font-size:11px;border-radius:3px}
.filter-group button.selected{color:#0a170f;background:var(--lime);font-weight:700}
.filter-group button:focus-visible,.hero-actions a:focus-visible,nav a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.game-card{position:relative;background:#10221d;border:1px solid #365044;border-radius:6px;padding:24px;min-height:280px;display:flex;flex-direction:column;overflow:hidden}
.game-card::before{content:"";position:absolute;top:0;right:0;width:110px;height:110px;background:radial-gradient(circle at top right,#a5ff8b1e,transparent 70%)}
.game-card[data-state="observed_activity"]{border-color:#829d5c}
.game-header{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:#8faf9e;text-transform:uppercase;letter-spacing:.08em}
.game-pill{display:inline-flex;align-items:center;gap:6px;border-radius:2px;padding:6px 8px;border:1px solid #4b6356;color:#d2ddd5;font-size:9px;letter-spacing:.035em}
.game-pill::before{content:"";height:5px;width:5px;border-radius:50%;background:#8caa97}
.game-card[data-state="observed_activity"] .game-pill{color:var(--lime);border-color:#6c9359}.game-card[data-state="observed_activity"] .game-pill::before{background:var(--lime);box-shadow:0 0 8px var(--lime)}
.game-number{font:12px var(--font);color:#84ae8d;margin:34px 0 5px}
.game-card h3{font:500 28px var(--font);letter-spacing:-.055em;margin:0 0 12px}
.game-description{font-size:12px;color:#c0d0c4;line-height:1.75}
.game-metric{margin-top:auto;border-top:1px solid #365044;padding-top:14px;font-size:12px;color:var(--lime)}
.evidence-list{padding:0;margin:17px 0 0;list-style:none;display:grid;gap:5px}
.evidence-list li{font-size:10px;color:#8eac9b;line-height:1.5;padding-left:12px;position:relative}
.evidence-list li::before{content:"›";color:var(--lime);position:absolute;left:0}
.game-footer{font-family:var(--font);letter-spacing:.035em;font-size:10px;color:#789383;margin-top:18px}
.empty-state{grid-column:1/-1;border:1px dashed #546b5d;text-align:center;color:#afc7b6;padding:80px 18px}
.collection-note{margin-top:18px;color:#829c8f;letter-spacing:.02em;line-height:1.7;font:11px/1.6 var(--font)}.collection-note span{color:var(--lime);padding-right:6px}
.gen-card{border:1px solid #415345;border-radius:6px;background:linear-gradient(120deg,#152820,#10201c 55%,#0d1a16);display:grid;grid-template-columns:1fr auto;gap:28px;padding:30px}
.gen-status{display:flex;gap:22px;align-items:flex-start}
.gen-mark{display:grid;place-items:center;width:67px;height:67px;border:1px solid #65936c;color:var(--lime);font:500 33px var(--font);flex-shrink:0;border-radius:3px}
.gen-mark span{font-size:14px;margin-left:-12px}
.overline{color:var(--lime)}
.gen-status h3{font:500 29px var(--font);letter-spacing:-.06em;margin:7px 0}
.gen-status p{color:#9daf9f;font-size:12px;line-height:1.65;margin:0;max-width:475px}
.gen-right{justify-self:end;text-align:right;max-width:240px}.gen-right p{color:#9cac9e;font-size:11px;margin:17px 0 0}
.state-pill{padding:9px 12px;border:1px solid #8d7551;color:#ffe0a3;display:inline-block;border-radius:3px}
.check-list{padding:22px 0 0;border-top:1px solid #375344;margin:0;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:11px 30px;list-style:none}
.check-list li{font-size:11px;color:#adc4b7;padding-left:18px;position:relative}
.check-list li::before{content:"◌";position:absolute;left:0;color:var(--lime)}
.method{padding-bottom:125px;display:grid;grid-template-columns:.95fr 1.05fr;gap:12%}
.method h2{font-size:clamp(44px,5vw,68px)}.method-lead{color:#a2b9ac;font-size:13px;line-height:1.85;max-width:430px}
.method-steps{border-top:1px solid #375043}.method-step{padding:23px 0;display:flex;gap:24px;border-bottom:1px solid #375043}
.method-step>span{color:var(--lime);font:500 13px var(--font)}
.method-step h3{font:500 18px var(--font);margin-bottom:7px}
.method-step p{font-size:12px;line-height:1.75;color:#93aa9c;margin:0;max-width:400px}
.footer{border-top:1px solid #345041;padding:30px 0;display:flex;justify-content:space-between;gap:20px;color:#90ac9a}
.footer a{color:var(--lime)}
@keyframes pulse{50%{box-shadow:0 0 2px var(--lime);opacity:.5}}
@keyframes wave{from{transform:scaleY(.35);opacity:.5}to{transform:scaleY(1.05);opacity:1}}
@media(max-width:1000px){.hero-grid{gap:35px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method{gap:6%}}
@media(max-width:720px){.shell{width:calc(100% - 38px)}.topbar{height:72px}.topbar nav{gap:12px}.topbar nav a:not(.external-nav){display:none}.intro{padding-top:52px}.hero-grid{grid-template-columns:1fr;padding-bottom:37px;gap:30px}.signal-panel{max-height:340px}.telemetry-strip{flex-wrap:wrap;line-height:1.6}.metrics{grid-template-columns:1fr}.metric{padding:20px 23px}.metric-value{font-size:51px;margin-top:6px}.metric p{margin-top:0}.section-block{padding-top:73px}.section-heading{align-items:start;flex-direction:column}.game-grid{grid-template-columns:1fr}.game-card{min-height:220px}.gen-card{grid-template-columns:1fr}.gen-right{text-align:left;justify-self:start}.check-list{grid-template-columns:1fr}.method{grid-template-columns:1fr;gap:20px}.footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}