@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,600&family=Inter:wght@400;500;600&display=swap');

:root { color-scheme: dark; --ink:#11161c; --ink-soft:#19212a; --paper:#e8ddc5; --muted:#a9a69d; --brass:#bd9251; --line:#403b32; --blood:#713d38; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Inter,system-ui,sans-serif; line-height:1.6; }
a { color:inherit; }
.masthead { min-height:86px; padding:14px clamp(20px,5vw,76px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(17,22,28,.95); position:sticky; top:0; z-index:10; backdrop-filter:blur(12px); }
.wordmark { display:flex; flex-direction:column; text-decoration:none; font:600 24px/1.05 'Cormorant Garamond',serif; letter-spacing:.04em; }
.eyebrow,.kicker { color:var(--brass); font:600 11px/1.2 Inter,sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.wordmark .eyebrow { font-size:8px; margin-bottom:5px; }
nav { display:flex; gap:clamp(16px,3vw,38px); }
nav a { color:var(--muted); text-decoration:none; font-size:13px; }
nav a:hover,nav a:focus-visible { color:var(--paper); }
.hero { min-height:680px; padding:clamp(88px,13vw,170px) clamp(22px,10vw,150px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; position:relative; overflow:hidden; border-bottom:1px solid var(--line); background:radial-gradient(circle at 78% 38%,rgba(117,96,67,.23),transparent 28%),linear-gradient(115deg,#10151b 0%,#1b242c 55%,#15191e 100%); }
.hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background-image:repeating-linear-gradient(100deg,transparent 0 80px,rgba(230,215,186,.06) 81px 82px); }
h1,h2,h3 { font-family:'Cormorant Garamond',Georgia,serif; line-height:.98; margin:0; }
h1 { max-width:820px; font-size:clamp(58px,9vw,126px); font-weight:500; letter-spacing:-.04em; position:relative; z-index:1; }
h1 em { color:var(--brass); }
.lede { max-width:680px; margin:30px 0 34px; color:#c6c3ba; font-size:clamp(16px,2vw,20px); position:relative; z-index:1; }
.button { display:inline-flex; min-height:48px; padding:0 20px; align-items:center; justify-content:center; text-decoration:none; font-weight:600; font-size:13px; letter-spacing:.04em; border:1px solid var(--brass); position:relative; z-index:1; }
.primary { background:var(--brass); color:#12171d; }
.secondary { background:transparent; color:var(--paper); }
.play-section,.principles,.contribute { padding:clamp(72px,9vw,128px) clamp(20px,6vw,90px); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:34px; }
.section-heading h2,.principles>h2,.contribute h2 { font-size:clamp(44px,6vw,78px); font-weight:500; }
.section-heading>p { max-width:470px; color:var(--muted); }
.game-frame { width:100%; aspect-ratio:16/9; max-height:80vh; background:#080b0e; border:1px solid #6c5a3d; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.game-frame iframe { width:100%; height:100%; display:block; border:0; }
.game-note { color:var(--muted); font-size:12px; text-align:center; }
.principles { border-block:1px solid var(--line); background:var(--ink-soft); }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:44px; border:1px solid var(--line); }
.principle-grid article { padding:36px; background:var(--ink-soft); }
.principle-grid span { color:var(--brass); font-size:12px; }
.principle-grid h3 { font-size:32px; margin:22px 0 12px; }
.principle-grid p { color:var(--muted); margin:0; }
.contribute { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr); gap:clamp(46px,8vw,120px); }
.contribute-intro>p,.contribute li { color:var(--muted); }
.contribute ol { padding-left:22px; margin:28px 0; }
.link-row { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.text-link { color:var(--brass); text-decoration:none; font-size:13px; }
.prompt-card { align-self:start; border:1px solid var(--line); background:#0b0f14; min-width:0; box-shadow:0 24px 70px rgba(0,0,0,.28); }
.prompt-header { min-height:56px; display:flex; justify-content:space-between; align-items:center; padding:0 18px; border-bottom:1px solid var(--line); color:var(--muted); font-size:12px; }
.signal { width:8px; height:8px; display:inline-block; margin-right:9px; border-radius:50%; background:var(--brass); box-shadow:0 0 10px var(--brass); }
.prompt-header button { border:1px solid #62563f; background:#1a2026; color:var(--paper); padding:8px 13px; cursor:pointer; }
pre { max-height:620px; overflow:auto; white-space:pre-wrap; margin:0; padding:24px; color:#c9c3b5; font:13px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace; }
footer { min-height:100px; padding:26px clamp(20px,6vw,90px); border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:20px; color:var(--muted); font-size:12px; }
footer a { color:var(--brass); }
@media (max-width:850px) { .masthead nav a:not(:first-child) { display:none; } .hero { min-height:600px; } .section-heading { display:block; } .principle-grid,.contribute { grid-template-columns:1fr; } .game-frame { aspect-ratio:4/3; } }
@media (max-width:540px) { .masthead { min-height:70px; } .wordmark { font-size:20px; } h1 { font-size:54px; } .hero { min-height:530px; } .play-section,.principles,.contribute { padding-inline:18px; } .principle-grid article { padding:26px; } footer { align-items:flex-start; flex-direction:column; } }
