:root{font-family:Arial,Helvetica,sans-serif;color:#253c38;background:#bed8d9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #db672e;outline-offset:4px}button{border:1px solid #c2c6ac;background:#faf6e9;border-radius:7px;padding:.65rem .8rem;color:#25463e}a{color:inherit}#world{display:block;width:100vw;height:100dvh;position:fixed;inset:0}#menu{border:0;margin:0;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;padding:0;background:linear-gradient(90deg,rgba(248,243,226,.98) 0%,rgba(248,243,226,.97) 32%,rgba(248,243,226,.86) 44%,rgba(248,243,226,0) 66%);color:inherit;overflow:auto}#menu::backdrop{background:transparent}.masthead{display:flex;justify-content:space-between;align-items:center;padding:28px 4vw;gap:20px}.wordmark{text-decoration:none;letter-spacing:.13em;font-size:11px;font-weight:800;display:flex;align-items:center;gap:12px}.wordmark span{font-size:36px;color:#ce5936;line-height:1}.edition{font-size:10px;letter-spacing:.15em;background:#fbf5e4d9;padding:10px 13px;border-radius:30px}.welcome{margin:38px 0 50px 6vw;width:min(440px,86vw)}.eyebrow{letter-spacing:.16em;font-size:9px;font-weight:bold;margin:0 0 24px;color:#5f7367}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(64px,7.4vw,106px);line-height:.93;letter-spacing:-.055em;margin:0 0 25px}h1 em{color:#c75e35;font-weight:400}.lead{font-size:20px;line-height:1.5;letter-spacing:-.035em}.description{font-size:13px;line-height:1.7;color:#667265;margin:18px 0 25px}.primary{font-size:13px;background:#2d5144;color:#fff6dc;border:0;border-radius:9px;padding:17px 21px;min-width:260px;text-align:left;box-shadow:0 6px 14px #29423213}.primary span{float:right;font-size:18px;margin-left:22px}#notice{font-size:11px;color:#657363;margin:15px 0 26px;max-width:360px;line-height:1.5}.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:15px 10px;font-size:10px;color:#516656}.controls span{white-space:nowrap}.controls span:nth-child(4){grid-column:span 1;font-size:9px}kbd{font:700 9px Arial;border:1px solid #b4bda8;border-bottom:2px solid #b4bda8;border-radius:3px;padding:3px 4px;margin-right:4px;color:#365346}.menu-links{display:flex;gap:25px;margin:27px 0 15px}.text-button{border:0;background:none;padding:0;font-size:11px;border-bottom:1px solid #90a08b;border-radius:0;padding-bottom:4px}details{font-size:12px;background:#fffaf0e6;border:1px solid #c5cebb;border-radius:8px;margin:15px 0;padding:14px}details:not([open]){display:none}summary{cursor:pointer;font-weight:bold;margin-bottom:12px}label{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:13px 0}input[type=range]{width:50%;accent-color:#b65e38}input[type=checkbox]{accent-color:#305843}textarea{display:block;width:100%;resize:vertical;min-height:60px;font-family:monospace;font-size:10px;background:#fffdf6;border:1px solid #a5b3a2;border-radius:5px;margin-top:8px;padding:8px}label:has(textarea){display:block}.button-row{display:flex;flex-wrap:wrap;gap:7px}.button-row button{font-size:11px}.fine{font-size:11px;line-height:1.6;color:#5b6a5b}.archive{display:inline-block;font-size:10px;text-decoration:none;color:#6c796b;margin-top:4px}.scene-caption{position:fixed;right:6vw;bottom:9vh;text-align:left;font-family:Georgia,serif;color:#263e38}.scene-caption{background:#f7efdbde;padding:17px 22px;border-radius:8px}.scene-caption p{font-size:21px;line-height:1.4}.scene-caption strong{font-weight:normal;font-style:italic}.caption-line{width:48px;height:2px;display:block;background:#b66732}.coordinates{font:9px Arial;letter-spacing:.15em}#hud{position:fixed;inset:0;pointer-events:none;color:#fffbe9;text-shadow:0 2px 9px #203a3270}.hud-top{display:flex;justify-content:space-between;padding:25px 30px;align-items:flex-start}.hud-kicker{font-size:9px;letter-spacing:.18em;display:block;margin-bottom:9px}.hud-top strong{font:25px Georgia,serif}.hud-top>span{font-size:10px;letter-spacing:.1em;padding:9px 13px;background:#233f3690;border-radius:24px}#reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:20px Arial;color:#fffce7;text-shadow:0 1px 3px #28443d}#reticle.ready{color:#ffe583}#hint{position:absolute;left:50%;bottom:85px;transform:translateX(-50%);font-size:12px;text-align:center;background:#254138d9;border:1px solid #faf1d333;border-radius:30px;padding:13px 22px;max-width:90%;width:max-content;line-height:1.5}.hud-bottom{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.03em}#toast{position:absolute;top:100px;left:50%;transform:translateX(-50%);max-width:80%;text-align:center;background:#fff6dd;color:#2e4c3b;border-radius:8px;padding:13px 22px;font-size:13px;text-shadow:none;opacity:0;transition:opacity .2s}#toast.visible{opacity:1}#diagnostics{position:absolute;top:90px;left:25px;background:#1c332ed9;padding:10px;font-size:10px}#reload{margin:20px 6vw}.error{color:#9b3c2a!important}[hidden]{display:none!important}@media(max-width:760px){#menu{background:rgba(248,243,226,.93)}.masthead{padding:20px 7vw}.edition{display:none}.welcome{margin-top:30px}.scene-caption{display:none}.hud-top{padding:16px}.hud-bottom{left:16px;right:16px;font-size:9px}.hud-bottom span:last-child{display:none}.controls{gap:16px 6px}h1{font-size:76px}#toast{width:90%;max-width:90%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-width:940px){.scene-caption{display:none}}
#reticle.hook::after{content:'';position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-12px 0 0 -12px;border:2px solid #ffe583;border-radius:50%;opacity:.85}
.relay-note{font-size:11px;line-height:1.6;color:#5b6a5b;margin:-6px 0 18px;max-width:380px}.relay-note strong{color:#b0532f}

#balance-status{position:absolute;top:6.3rem;left:1.8rem;max-width:calc(100vw - 3.6rem);padding:.55rem .75rem;background:#f5eedce8;color:#284144;border-left:3px solid #328e87;font-size:.67rem;letter-spacing:.07em;line-height:1.6;pointer-events:none}

/* Playground identity: field notebook meets workshop signage, not a product landing-page template.
   Flat color, hard edges, compact utilitarian labels; the world remains the hero. */
:root{font-family:"Trebuchet MS",Verdana,sans-serif;color:#e4e6db;background:#17242c}
#menu{background:linear-gradient(90deg,#17242cf7 0%,#17242cf0 33%,#17242caa 48%,transparent 72%);color:#e4e6db}
.masthead{padding:22px 3vw;border-bottom:1px solid #9ab4b944}
.wordmark{font-family:Verdana,sans-serif;letter-spacing:-.025em;font-size:14px;font-weight:900}
.wordmark span{font-size:23px;color:#edc76d}
.edition{background:none;border:1px solid #a7b9bd66;border-radius:0;color:#a9bdbe;font:11px "Courier New",monospace;letter-spacing:0;padding:7px 10px}
.welcome{margin:7vh 0 60px 7vw;width:min(500px,86vw)}
.eyebrow{color:#edc76d;letter-spacing:.05em;font:700 12px "Courier New",monospace;margin-bottom:18px}
h1{font-family:Impact,"Arial Narrow",sans-serif;font-style:normal;text-transform:uppercase;font-weight:900;line-height:.9;font-size:clamp(68px,8vw,124px);letter-spacing:-.015em;margin-bottom:24px}
h1 em{font-style:normal;color:#edc76d}
.lead{font:600 clamp(18px,2vw,25px)/1.25 "Trebuchet MS",sans-serif;letter-spacing:-.025em;max-width:380px}
.description,.relay-note{font-size:13px;line-height:1.55;color:#b1c5c3;max-width:390px}
.primary{background:#edc76d;color:#17242c;border:2px solid #edc76d;border-radius:0;font:900 15px "Trebuchet MS",sans-serif;box-shadow:6px 6px 0 #0007;min-width:255px;padding:15px 18px}
.primary:hover{background:#fff0a5;transform:translate(-1px,-1px)}
#notice{color:#a6bcbd;font:11px "Courier New",monospace}
.controls{font:11px/1.8 "Courier New",monospace;color:#d0dcce;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}
.controls span{white-space:normal}.controls span:nth-child(4){font-size:11px}
kbd{font:700 10px "Courier New",monospace;background:#30434a;color:#f2d487;border:1px solid #60757a;border-radius:0;padding:2px 4px}
.menu-links{margin:22px 0 10px}
.text-button,.archive{color:#e7c66d;font:12px "Courier New",monospace}
.text-button{border-bottom:1px dashed #e7c66d}
details{background:#20343aed;color:#e4e6db;border:1px solid #648080;border-radius:0;box-shadow:4px 4px 0 #0b171b}
button{border-radius:0;background:#314950;border-color:#749092;color:#e5eee7}
.fine{color:#b7cbcb}label{color:#d5dfd7}textarea{background:#13262b;color:#e6eddf;border-color:#648080;border-radius:0}
.scene-caption{background:#17242ce8;color:#e6e9dc;border-radius:0;border-left:5px solid #edc76d;padding:14px 20px}
.scene-caption p{font:17px/1.35 "Trebuchet MS",sans-serif}
.scene-caption strong{font-style:normal;font-weight:800;color:#edc76d}
.caption-line{display:none}.coordinates{color:#abc2c1;font:10px "Courier New",monospace;letter-spacing:.05em}
.hud-kicker,.hud-bottom,.hud-top>span{font-family:"Courier New",monospace;letter-spacing:.02em}
.hud-top strong{font:700 22px "Trebuchet MS",sans-serif}
.hud-top>span,#hint,#toast{border-radius:0}
#hint{background:#15292ce0;border:1px solid #c0d0c078;padding:8px 14px}
#toast{background:#edc76d;color:#14262a}
#balance-status{background:#17242ce8;color:#e5e9df;border-color:#edc76d}
@media(max-width:760px){#menu{background:#17242cf2}.welcome{margin:35px 7vw 50px}.controls{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:clamp(60px,15vw,90px)}}

/* The menu is a launch surface, not a navigation page. */
#menu .welcome{margin-top:clamp(4rem,12vh,9rem);width:min(420px,86vw)}
#menu h1{font-size:clamp(76px,9vw,140px);letter-spacing:-.045em;margin-bottom:30px}
#menu h1 em{font-style:normal}
.quick-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(320px,100%);margin:18px 0 25px;color:#d6e4dc;font:12px "Trebuchet MS",sans-serif}
.quick-setting input{width:52%;min-width:120px;accent-color:#edc76d}
#menu .controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;max-width:370px}
#menu .menu-links{margin:18px 0 9px}
#menu details{max-width:420px;padding:12px;margin:10px 0}
#menu details label{font-size:12px;margin:10px 0}
#menu details .fine{font-size:11px}
#menu .archive{margin-top:10px}
@media(max-width:760px){#menu .welcome{margin-top:8vh}#menu h1{font-size:clamp(70px,19vw,110px)}}
