:root {
  --bg: #070912;
  --surface: #090c16;
  --panel: #0d101c;
  --raised: #121625;
  --text: #e3e1e8;
  --muted: #8490aa;
  --dim: #596278;
  --border: #4f3b68;
  --quiet-border: #2d2740;
  --accent: #bd7cff;
  --accent-bright: #d5a6ff;
  --selection: #3a2455;
  --mono: "DM Mono", "Cascadia Mono", Consolas, monospace;
  --sans: Inter, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--bg); color: var(--text); font: 400 15px/1.65 var(--sans); }
body::before { content: ""; position: fixed; inset: 0; z-index: -2; opacity: .2; background-image: linear-gradient(rgba(189,124,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(189,124,255,.025) 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(to bottom, black, transparent 72%); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: var(--selection); color: var(--text); }
:focus-visible { outline: 1px solid var(--accent); outline-offset: 4px; }

.ambient { position: fixed; z-index: -1; border-radius: 50%; filter: blur(140px); pointer-events: none; }
.ambient-one { width: 560px; height: 560px; top: -280px; left: 8%; background: rgba(108,52,159,.22); }
.ambient-two { width: 480px; height: 480px; top: 38%; right: -260px; background: rgba(62,48,118,.13); }

.site-header, main, footer { width: min(1480px, calc(100% - 40px)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 20; min-height: 66px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; background: rgba(7,9,18,.82); border-bottom: 1px solid var(--quiet-border); backdrop-filter: blur(18px); font-family: var(--mono); font-size: 12px; }
.brand { display: inline-flex; align-items: center; color: var(--accent); font-weight: 600; letter-spacing: -.025em; }
nav { display: flex; align-items: center; gap: 7px; color: var(--muted); }
nav a { padding: 7px 11px; border: 1px solid transparent; border-radius: 6px; }
nav a:hover, nav a:focus-visible { color: var(--accent-bright); background: var(--surface); border-color: var(--quiet-border); }
.header-status { display: flex; align-items: center; gap: 8px; padding: 6px 9px; color: var(--accent); }
.header-status span, .beta-note span, .sim-ready i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 12px rgba(189,124,255,.9); }

.hero { min-height: calc(100vh - 66px); display: flex; align-items: center; padding: 76px max(18px, 7vw) 100px; }
.hero-copy { width: min(880px, 100%); }
.eyebrow, .section-index { margin: 0 0 22px; color: var(--accent); font: 500 11px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before, .section-index::before { content: "[ "; color: var(--dim); }
.eyebrow::after, .section-index::after { content: " ]"; color: var(--dim); }
h1, h2, h3, blockquote { margin: 0; font-family: var(--sans); font-weight: 500; letter-spacing: -.045em; line-height: 1.04; }
h1 { max-width: 720px; font-size: clamp(54px,6.3vw,96px); }
h2 { font-size: clamp(40px,4.4vw,68px); }
em { color: var(--accent-bright); font-style: normal; }
.lede { max-width: 780px; margin: 28px 0 0; color: var(--muted); font-size: 18px; line-height: 1.75; }
.lede strong { color: var(--text); font-weight: 500; }
.lede-detail { max-width: 780px; margin: 14px 0 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; padding: 0 20px; border: 1px solid var(--border); border-radius: 8px; background: linear-gradient(180deg, var(--raised), var(--panel)); color: var(--text); font: 500 12px var(--mono); box-shadow: 0 8px 28px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.04); transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.button-primary { background: var(--accent); border-color: var(--accent); color: #0b0711; font-weight: 600; }
.button:hover { transform: translateY(-2px); border-color: var(--accent); }
.button-primary:hover { background: var(--accent-bright); }
.hero-proof { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; color: var(--dim); font: 400 10px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.hero-proof span::before { content: "+"; margin-right: 6px; color: var(--accent); }
.alpha-disclosure { max-width: 560px; margin: 13px 0 0; color: var(--dim); font: 400 10px/1.6 var(--mono); }

.simulation-shell { overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); box-shadow: 0 30px 90px rgba(0,0,0,.58), 0 0 50px rgba(98,51,145,.1); transform: perspective(1600px) rotateY(-1.25deg); }
.sim-topbar { height: 48px; display: flex; align-items: center; gap: 22px; padding: 0 16px; background: linear-gradient(180deg, var(--raised), var(--panel)); border-bottom: 1px solid var(--quiet-border); font: 500 9px var(--mono); letter-spacing: .055em; white-space: nowrap; }
.sim-brand { color: var(--accent); font-size: 11px; }.sim-brand b { color: var(--muted); font-weight: 400; }.sim-location { flex: 1; color: var(--muted); }.sim-ready { display: flex; align-items: center; gap: 7px; color: var(--accent); }
.sim-workspace { display: grid; grid-template-columns: 148px 1fr; gap: 8px; padding: 8px; background: var(--bg); }
.sim-rail { display: flex; flex-direction: column; gap: 7px; padding: 10px 8px; border: 1px solid var(--quiet-border); border-radius: 8px; background: var(--panel); }
.rail-label { margin: 2px 4px 5px; color: var(--muted); font: 500 8px var(--mono); letter-spacing: .15em; }
.party-card { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 8px; padding: 8px; border: 1px solid transparent; border-radius: 7px; background: linear-gradient(145deg, var(--raised), var(--panel)); }
.party-card.active { border-color: var(--border); }.party-avatar { width: 32px; height: 38px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--accent); font: 500 9px var(--mono); }.muted-avatar { color: var(--muted); border-color: var(--quiet-border); }.party-card b { display: block; font: 500 9px var(--mono); }.party-card small { display: block; margin-top: 3px; color: var(--accent); font: 400 7px var(--mono); letter-spacing: .08em; }
.world-state { margin-top: auto; padding: 10px 8px; border: 1px solid var(--quiet-border); border-radius: 7px; background: var(--surface); font-family: var(--mono); }.world-state span,.world-state small { display: block; color: var(--dim); font-size: 7px; }.world-state b { display: block; margin: 4px 0 2px; color: var(--accent); font-size: 9px; }
.scene { position: relative; overflow: hidden; min-height: 510px; border: 1px solid var(--quiet-border); border-radius: 8px; background: radial-gradient(circle at 70% 16%, rgba(202,135,99,.14), transparent 25%), linear-gradient(120deg,#100b16 0 26%,#21121d 26% 39%,#0c0a12 39% 61%,#25131d 61% 63%,#110b14 63%); }
.scene-grid { position: absolute; inset: 0; opacity: .08; background-image: linear-gradient(rgba(189,124,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(189,124,255,.12) 1px,transparent 1px); background-size: 24px 24px; }.scene-light { position: absolute; inset: 20% 10% 0; background: radial-gradient(ellipse at center bottom,rgba(147,72,78,.28),transparent 63%); }
.portrait { position: absolute; left: 51%; top: 40px; width: 210px; height: 385px; transform: translateX(-50%); filter: saturate(.7) contrast(1.05); }.portrait i { display: block; }.portrait-face { position:absolute;top:36px;left:65px;width:80px;height:102px;border-radius:48% 48% 44% 44%;background:linear-gradient(100deg,#8d5f50,#d09b7e 48%,#795047);box-shadow:inset -12px -4px 20px rgba(40,20,24,.4);}.portrait-hair{position:absolute;z-index:2;top:22px;left:52px;width:106px;height:60px;border-radius:60% 45% 30% 30%;background:linear-gradient(100deg,#25232d,#796d7b 58%,#29232c);}.portrait-neck{position:absolute;top:124px;left:86px;width:38px;height:54px;background:#976554}.portrait-body{position:absolute;top:158px;left:20px;width:170px;height:225px;clip-path:polygon(26% 0,74% 0,100% 100%,0 100%);background:linear-gradient(90deg,#17131f,#4b2138 48%,#17131e);border-radius:40px 40px 0 0}
.dialogue { position:absolute;z-index:5;left:14px;right:14px;bottom:14px;min-height:142px;padding:20px 22px 36px;border:1px solid var(--border);border-radius:9px;background:rgba(9,12,22,.94);box-shadow:0 12px 40px rgba(0,0,0,.34);backdrop-filter:blur(14px);font-size:15px;line-height:1.7}.dialogue p{margin:0}.speaker-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dialogue .speaker{color:var(--accent);font:600 10px var(--mono);letter-spacing:.08em}.speaker-row span,.frame{color:var(--dim);font:400 8px var(--mono)}.frame{position:absolute;right:20px;bottom:12px}
.sim-input { margin: 0 8px 8px; min-height: 42px; display: flex; align-items: center; gap: 10px; padding: 4px 6px 4px 12px; border: 1px solid var(--quiet-border); border-radius: 8px; background: linear-gradient(180deg,var(--raised),var(--panel)); box-shadow: 0 0 18px rgba(189,124,255,.05); font: 400 9px var(--mono); }.sim-input>span { color: var(--accent); font-weight: 600; }.sim-input p { flex: 1; margin: 0; color: var(--dim); }.sim-input button { width: 31px; height: 29px; border: 1px solid var(--quiet-border); border-radius: 6px; background: transparent; color: var(--text); }
.sim-nav { min-height: 36px; display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 10px;border-top:1px solid var(--quiet-border);color:var(--muted);font:400 8px var(--mono)}.sim-nav span{padding:4px 7px;border:1px solid transparent;border-radius:5px}.sim-nav .selected{color:var(--accent);background:var(--surface);border-color:var(--quiet-border)}

.statement,.principle,.beta{display:grid;grid-template-columns:.4fr 1fr;gap:60px;padding:120px 18px;border-top:1px solid var(--quiet-border)}.statement>div{max-width:900px}.statement>div>p{max-width:760px;margin:30px 0 0;color:var(--muted);font-size:17px;line-height:1.85}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 18px 140px}.feature-grid article{position:relative;min-height:330px;padding:28px;border:1px solid var(--quiet-border);border-radius:10px;background:linear-gradient(145deg,var(--raised),var(--panel) 55%,var(--surface));box-shadow:inset 0 1px rgba(255,255,255,.025)}.feature-grid article:hover{border-color:var(--border);transform:translateY(-3px)}.feature-number{color:var(--accent);font:500 10px var(--mono);letter-spacing:.08em}h3{margin:92px 0 16px;font-size:29px}.feature-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
.worlds{padding:120px 18px;border-top:1px solid var(--quiet-border)}.worlds-heading{display:grid;grid-template-columns:.4fr 1fr;gap:60px;margin-bottom:58px}.world-list{display:grid;gap:9px}.world-card{position:relative;overflow:hidden;min-height:175px;display:grid;grid-template-columns:.25fr 1fr auto;gap:44px;align-items:center;padding:24px 28px;border:1px solid var(--quiet-border);border-radius:10px;background:linear-gradient(110deg,var(--panel),var(--surface));transition:.2s ease}.world-card::before{content:"";position:absolute;inset:0;opacity:0;transition:.2s ease}.world-western::before{background:linear-gradient(90deg,rgba(158,91,28,.13),transparent 60%)}.world-blackmoor::before{background:linear-gradient(90deg,rgba(43,99,71,.13),transparent 60%)}.world-curtains::before{background:linear-gradient(90deg,rgba(130,25,48,.14),transparent 60%)}.world-card:hover{border-color:var(--border);transform:translateX(4px)}.world-card:hover::before{opacity:1}.world-card>*{position:relative}.world-number,.world-tag{color:var(--dim);font:400 9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.world-copy h3{margin:0 0 8px;font-size:clamp(32px,3.6vw,52px)}.world-copy p{max-width:650px;margin:0;color:var(--muted)}.world-tag{text-align:right}
.capabilities{padding:120px 18px 0;border-top:1px solid var(--quiet-border)}.capabilities-heading{display:grid;grid-template-columns:.4fr 1fr;gap:60px;margin-bottom:58px}.capability-grid{margin-inline:0}
.principle blockquote{font-size:clamp(42px,5.4vw,78px)}.principle .section-index{grid-column:1}.principle blockquote,.principle-copy{grid-column:2}.principle-copy{max-width:800px;display:grid;grid-template-columns:1fr 1fr;gap:36px;color:var(--muted);font-size:15px}.beta{align-items:end}.beta-copy{max-width:650px;color:var(--muted)}.beta-copy>p:first-child{margin:0 0 28px;font-size:17px;line-height:1.8}.beta-note{display:flex;align-items:center;gap:9px;margin-top:24px;color:var(--text);font:400 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}
footer{min-height:120px;display:flex;align-items:center;justify-content:space-between;padding-inline:14px;border-top:1px solid var(--quiet-border);color:var(--dim);font:400 10px var(--mono)}

.header-play{padding:8px 12px;border:1px solid var(--border);border-radius:6px;color:var(--accent);font:500 10px var(--mono)}
.proof-section,.manifesto,.how-section,.outcomes,.faq{padding:120px 18px;border-top:1px solid var(--quiet-border)}
.proof-heading{display:grid;grid-template-columns:.36fr 1fr;gap:54px}.proof-heading h2{max-width:900px}.proof-heading>p:last-child{grid-column:2;max-width:680px;margin:18px 0 48px;color:var(--muted);font-size:17px}
.proof-board{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.proof-turn,.state-stack>div{border:1px solid var(--quiet-border);border-radius:10px;background:linear-gradient(145deg,var(--raised),var(--panel) 60%,var(--surface));box-shadow:inset 0 1px rgba(255,255,255,.025)}.proof-turn{padding:34px}.proof-turn p{margin:14px 0 38px;font-size:clamp(18px,1.8vw,27px);line-height:1.55}.proof-turn p:last-child{margin-bottom:0;color:var(--muted)}.proof-label{color:var(--accent);font:500 9px var(--mono);letter-spacing:.14em}.world-answer{display:block;margin-top:32px}.state-stack{display:grid;grid-template-columns:1fr 1fr;gap:10px}.state-stack>div{display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;padding:22px}.state-stack span{color:var(--accent);font:500 8px var(--mono);letter-spacing:.12em}.state-stack b{margin-top:auto;padding-top:34px;font-size:15px}.state-stack small{margin-top:5px;color:var(--dim);font:400 9px var(--mono)}.proof-caption{margin:18px 0 0;color:var(--muted);text-align:center;font:400 10px var(--mono)}
.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.scenario{position:relative;overflow:hidden;min-height:520px;display:flex;flex-direction:column;padding:28px;border:1px solid var(--quiet-border);border-radius:11px;background:linear-gradient(155deg,var(--raised),var(--panel) 52%,var(--surface))}.scenario::before{content:"";position:absolute;inset:0;opacity:.7;pointer-events:none}.scenario.western::before{background:radial-gradient(circle at 80% 0,rgba(166,91,30,.2),transparent 42%)}.scenario.blackmoor::before{background:radial-gradient(circle at 80% 0,rgba(34,111,74,.18),transparent 42%)}.scenario.curtains::before{background:radial-gradient(circle at 80% 0,rgba(151,29,65,.2),transparent 42%)}.scenario>*{position:relative}.scenario-meta{display:flex;justify-content:space-between;color:var(--dim);font:500 8px var(--mono);letter-spacing:.1em}.scenario h3{margin:100px 0 18px;font-size:clamp(28px,2.4vw,40px)}.scenario p{margin:0;color:var(--muted);line-height:1.8}.scenario ul{display:grid;gap:8px;margin:28px 0;padding:0;list-style:none;color:var(--dim);font:400 9px var(--mono)}.scenario li::before{content:"+";margin-right:8px;color:var(--accent)}.scenario a{margin-top:auto;padding-top:24px;border-top:1px solid var(--quiet-border);color:var(--accent);font:500 10px var(--mono)}
.manifesto{display:grid;grid-template-columns:.36fr 1fr;gap:54px}.manifesto h2,.manifesto-copy{grid-column:2}.manifesto-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:900px;color:var(--muted);font-size:16px;line-height:1.8}
.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 18px 140px}.feature-strip article{min-height:260px;padding:24px;border:1px solid var(--quiet-border);border-radius:9px;background:var(--panel)}.feature-strip span{color:var(--accent);font:500 9px var(--mono)}.feature-strip h3{margin:70px 0 14px;font-size:23px}.feature-strip p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.how-section{display:grid;grid-template-columns:.36fr 1fr;gap:54px}.how-section h2,.how-section .steps{grid-column:2}.steps{display:grid;gap:8px;margin-top:26px}.steps article{display:grid;grid-template-columns:70px 1fr;gap:20px;align-items:center;padding:25px;border:1px solid var(--quiet-border);border-radius:9px;background:linear-gradient(100deg,var(--panel),var(--surface))}.steps b{color:var(--accent);font:500 26px var(--mono)}.steps h3{margin:0 0 7px;font-size:24px}.steps p{margin:0;color:var(--muted)}
.outcomes{display:grid;grid-template-columns:.36fr 1fr;gap:54px}.outcome-cloud{display:flex;flex-wrap:wrap;gap:10px}.outcome-cloud span{padding:16px 19px;border:1px solid var(--quiet-border);border-radius:99px;background:var(--panel);color:var(--muted);font-size:13px}.outcome-cloud span:nth-child(2n){color:var(--text);border-color:var(--border)}
.faq{display:grid;grid-template-columns:.36fr 1fr;gap:54px}.faq>div{display:grid}.faq details{padding:22px 0;border-bottom:1px solid var(--quiet-border)}.faq summary{cursor:pointer;font-size:20px;font-weight:500}.faq details p{max-width:760px;margin:14px 0 0;color:var(--muted);line-height:1.8}

@media(max-width:1120px){.proof-heading,.manifesto,.how-section,.outcomes,.faq{grid-template-columns:1fr}.proof-heading>p:last-child,.manifesto h2,.manifesto-copy,.how-section h2,.how-section .steps{grid-column:1}.proof-board{grid-template-columns:1fr}.scenario-grid{grid-template-columns:1fr}.scenario{min-height:390px}.scenario h3{margin-top:65px}.feature-strip{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.header-play{font-size:0}.header-play::after{content:"ENTER";font-size:9px}.proof-section,.manifesto,.how-section,.outcomes,.faq{padding:82px 8px}.proof-board,.state-stack,.manifesto-copy{grid-template-columns:1fr}.feature-strip{grid-template-columns:1fr;margin:0 8px 100px}.feature-strip article{min-height:220px}.scenario{padding:22px}.steps article{grid-template-columns:40px 1fr}.outcome-cloud span{border-radius:8px;width:100%}}

@media(max-width:1120px){nav{display:none}.hero{padding-top:68px}.hero-copy{max-width:820px}.statement,.principle,.beta,.worlds-heading,.capabilities-heading{grid-template-columns:1fr;gap:26px}.principle .section-index,.principle blockquote,.principle-copy{grid-column:1}.world-card{grid-template-columns:100px 1fr}.world-tag{grid-column:2;text-align:left}}
@media(max-width:720px){.site-header,main,footer{width:min(100% - 20px,1480px)}.site-header{min-height:58px}.header-status{font-size:0}.hero{padding:54px 8px 76px}.hero-actions .button{width:100%}h1{font-size:clamp(48px,15vw,68px)}.statement,.principle,.beta,.worlds,.capabilities{padding:82px 8px}.feature-grid{grid-template-columns:1fr;margin:0 8px 100px}.capability-grid{margin-inline:0}.feature-grid article{min-height:260px}h3{margin-top:56px}.world-card{grid-template-columns:1fr;gap:8px;padding:26px 20px}.world-tag{grid-column:1}.principle-copy{grid-template-columns:1fr}footer{padding:30px 8px;align-items:flex-start;flex-direction:column;justify-content:center;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
