:root{color-scheme:dark;--ink:#eef1dc;--muted:#a8b1a0;--gold:#f1c16c;--green:#a7dcb2;--bg:#101b22}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 30%,#233c40,transparent 60%),var(--bg);color:var(--ink);font-family:system-ui,-apple-system,sans-serif;font-size:18px;min-height:100vh}header{max-width:1040px;margin:auto;padding:42px 28px 20px}h1{font-size:44px;margin:12px 0}h2{font-size:26px;line-height:1.5;margin:16px 0}p{line-height:1.7;color:var(--muted)}.eyebrow{font-size:18px;letter-spacing:2px;color:var(--gold)}header button{float:right}main{max-width:1040px;margin:auto;display:grid;grid-template-columns:360px 1fr;gap:48px;padding:20px 28px 60px}.device-column{text-align:center}.device{border:1px solid #536163;background:#24343a;border-radius:38px;padding:28px 24px 20px;box-shadow:0 25px 70px #0008;width:290px;margin:0 auto}.screen{width:240px;height:320px;background:#10202b;border-radius:16px;overflow:hidden;text-align:left;display:flex;flex-direction:column;box-shadow:0 0 0 4px #0e171c}#title{height:26px;flex-shrink:0;padding:2px 12px;font-size:18px;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}canvas{display:block;width:216px;height:80px;margin:0 12px;flex-shrink:0;image-rendering:pixelated}#stats{height:26px;flex-shrink:0;font-size:18px;padding:1px 12px;color:var(--green)}#prose{height:88px;flex-shrink:0;font-size:18px;line-height:22px;padding:0 12px;white-space:pre-wrap;overflow:hidden}#choices{height:78px;flex-shrink:0;padding:0 8px}.choice{height:26px;font-size:18px;line-height:26px;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px}.choice.selected{background:var(--gold);color:#162027}.choice.disabled{opacity:.5}#footer{height:22px;font-size:16px;text-align:center;color:var(--muted);line-height:22px}.keys{display:flex;justify-content:space-around;margin-top:24px}.keys button{border-radius:50%;width:54px;height:46px;background:#101a22;border-bottom:4px solid #03090d;font-size:20px;touch-action:none}.keys button:active{transform:translateY(2px)}button{font:inherit;color:var(--ink);background:#24363d;border:1px solid #617174;border-radius:9px;padding:10px 16px;cursor:pointer}button:hover{border-color:var(--gold)}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--gold);color:#17242a;border:0;display:block;width:100%;margin:24px 0}.desk{border-top:1px solid #53605a;padding-top:24px}label{font-size:18px;color:var(--muted);display:block;margin:18px 0 8px}input{font:inherit;width:100%;padding:12px;color:var(--ink);border:1px solid #64706b;border-radius:8px;background:#11222a;margin-bottom:10px}.toolbar{display:flex;flex-wrap:wrap;gap:8px}#details{min-height:42px;color:var(--green);white-space:pre-line}#network{font-size:18px}#keyhint{font-size:18px}#log p{border-left:2px solid #697e77;padding-left:12px;font-size:18px}.attribution{font-size:18px;margin-top:34px}.attribution strong{font-size:20px;color:var(--ink)}[hidden]{display:none!important}@media(max-width:760px){header{padding-top:24px}h1{font-size:32px}main{grid-template-columns:1fr;gap:24px}.desk{max-width:480px;width:100%;margin:auto}.device{margin:auto}}

.screen{position:relative}.screen.credits #title,.screen.credits #scene,.screen.credits #stats,.screen.credits #prose{visibility:hidden}.screen.credits #choices{position:absolute;left:0;right:0;bottom:26px;height:30px}.screen.credits #footer{position:absolute;bottom:0;left:0;right:0}#creditCard{position:absolute;inset:24px 14px 60px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px}#creditCard span{font-size:18px;color:var(--muted)}#creditCard strong{font-size:28px;line-height:1.15;white-space:pre-line;color:var(--gold);font-weight:500}#creditCard b{font-size:36px;line-height:1.1;font-weight:500}

@media(max-width:760px){body:not(.in-game) .desk{order:-1}}

#savedAdventures button{display:block;width:100%;margin-top:10px;text-align:left}#inviteExpiry{font-size:18px}.choice.selected{overflow-x:auto;text-overflow:clip;scrollbar-width:none}.choice.selected::-webkit-scrollbar{display:none}

.choice span{display:inline-block;white-space:nowrap}.choice .marquee{animation:choice-read 8s linear infinite}@keyframes choice-read{0%,20%{transform:translateX(0)}75%,100%{transform:translateX(var(--shift))}}@media(prefers-reduced-motion:reduce){.choice .marquee{animation:none}}
