:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#eee8df;background:#0b0b0c;
  --paper:#eee8df;--muted:#9d9891;--line:#343238;--panel:#151518;--accent:#d8c08a;
}
*{box-sizing:border-box}
html{min-height:100%;background:#0b0b0c}
body{margin:0;min-height:100vh;background:
 radial-gradient(circle at 75% 18%,rgba(115,91,53,.18),transparent 28rem),
 radial-gradient(circle at 15% 80%,rgba(77,58,91,.16),transparent 30rem),#0b0b0c}
body,.choice{font-feature-settings:"ss01"}
.grain{position:fixed;inset:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.shell{width:min(1000px,calc(100% - 40px));margin:0 auto;padding:38px 0 24px;position:relative}
.masthead{display:flex;justify-content:space-between;gap:32px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:30px}
.eyebrow{margin:0 0 10px;color:var(--muted);font-size:11px;letter-spacing:.2em;font-weight:700}
h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(46px,7vw,88px);line-height:.92;letter-spacing:-.045em;margin:0}
.dek{max-width:650px;color:#bdb7ae;font-size:17px;line-height:1.55;margin:20px 0 0}
.status{border:1px solid var(--line);padding:9px 12px;font-size:10px;letter-spacing:.16em;color:var(--muted);white-space:nowrap}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9cae8c;margin-right:8px;box-shadow:0 0 12px #9cae8c}
.game{position:relative;min-height:560px;margin-top:18px;border:1px solid var(--line);padding:34px;background:
 linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
 linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),#111114;
background-size:72px 72px}
.game:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,rgba(215,192,138,.10),transparent 32%);pointer-events:none}
.story-line,.choices,.ending,.error,.loading{position:relative;z-index:1}
.story-line{max-width:720px;font-family:Georgia,serif;font-size:clamp(24px,3.4vw,38px);line-height:1.35;margin:0 0 24px}
.story-line:first-child{margin-top:15px}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:52px}
.choice{appearance:none;border:1px solid #3a383d;background:rgba(9,9,11,.78);color:var(--paper);padding:18px;text-align:left;cursor:pointer;min-height:94px;transition:.2s}
.choice:hover,.choice:focus-visible{border-color:var(--accent);transform:translateY(-2px);background:#19181b}
.choice small{display:block;color:var(--muted);font-size:10px;letter-spacing:.15em;margin-bottom:8px}
.choice span{font-size:17px;line-height:1.4}
.ending{color:var(--muted);font-size:16px}
.error{border-left:2px solid #b77;padding:18px;color:#ecc}
.loading{padding:40px;color:var(--muted)}
footer{display:flex;justify-content:space-between;color:#68656a;font-size:9px;letter-spacing:.16em;padding:16px 2px}
@media(max-width:700px){
 .shell{width:min(100% - 24px,1000px);padding-top:22px}.masthead{display:block}.status{display:inline-block;margin-top:22px}
 .game{padding:22px;min-height:600px}.choices{grid-template-columns:1fr}
 footer{display:block;line-height:2}
}

.room-card{position:relative;z-index:1;border-top:1px solid var(--line);margin:34px 0 0;padding:24px 0 0}
.room-label{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.18em}
.room-card h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,52px);font-weight:400;margin:8px 0}
.room-card p{max-width:720px;color:#bdb7ae;line-height:1.6;margin:8px 0}
.media-note{font-size:10px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)!important}
.room-media{position:relative;z-index:1;margin:24px 0 6px;aspect-ratio:16/9;background:#080809;border:1px solid var(--line);overflow:hidden}
.room-media iframe,.room-media video,.room-media img{display:block;width:100%;height:100%;border:0;object-fit:cover}
.room-media iframe{background:#000}

.video-link{display:inline-block;padding:12px 0;color:inherit;font-size:10px;letter-spacing:.14em;text-decoration:underline;text-underline-offset:4px}

.room-links{display:flex;flex-wrap:wrap;gap:18px;padding:14px 0 4px}.room-links a{color:inherit;font-size:10px;letter-spacing:.14em;text-decoration:underline;text-underline-offset:4px}.room-links a:hover{opacity:.7}
