:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#2a2118;--paper:#fff8ec;--cream:#f6efe2;--gold:#e0b050;--wood:#5c4636;--badge-room:0px;font-family:Georgia,Iowan Old Style,Palatino,serif}body[data-sandbox="1"]{--badge-room:30px}*{box-sizing:border-box}html,body{height:100%;color:var(--cream);overscroll-behavior:none;touch-action:none;background:#2a2118;width:100%;margin:0;position:fixed;inset:0;overflow:hidden}#view{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#hud{z-index:7;padding:calc(16px + var(--badge-room)) calc(20px + env(safe-area-inset-right)) 28px calc(20px + env(safe-area-inset-left));pointer-events:none;background:linear-gradient(#2a2118ee,#2a211800);justify-content:space-between;gap:16px;display:flex;position:fixed;top:0;left:0;right:0}#room{letter-spacing:.01em;margin:0;font-size:22px;transition:opacity .2s,transform .2s}#room.swap{opacity:0;transform:translateY(-4px)}#veil{z-index:3;pointer-events:none;opacity:0;background:radial-gradient(#2a211800 35%,#2a2118cc 100%);transition:opacity .35s;position:fixed;inset:0}#veil.dip{opacity:.55;transition:opacity .18s}#snapshot,#help,#credits{color:#e7d7bf;margin:4px 0 0;font-family:Avenir Next,Segoe UI,sans-serif;font-size:13px}#help{text-align:right;max-width:460px}#credits{max-width:34rem;font-size:11px}#credits a{color:#e0b050}#prompt,#playline{z-index:7;color:var(--cream);border:2px solid var(--gold);letter-spacing:.01em;background:#2a2118f2;border-radius:999px;margin:0;padding:12px 18px;font-size:20px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0005}#toast{z-index:9;left:50%;top:calc(170px + env(safe-area-inset-top) + var(--badge-room));width:max-content;max-width:calc(100vw - 32px);color:var(--cream);border:2px solid var(--gold);text-align:center;pointer-events:none;opacity:0;background:#2a2118f2;border-radius:14px;margin:0;padding:10px 16px;font:15px Avenir Next,Segoe UI,sans-serif;transition:opacity .25s,transform .25s;position:fixed;transform:translate(-50%,-8px)}#toast.show{opacity:1;transform:translate(-50%)}#panel{background:var(--paper);width:min(440px,100vw - 32px);max-height:min(70vh,520px);color:var(--ink);border-radius:18px;padding:18px 18px 14px;position:fixed;bottom:28px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 16px 40px #0006}#panel h2{margin:0 0 8px;font-size:26px}#panel p{margin:0 0 8px;font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.4}#panel .kicker{color:#8a3048;letter-spacing:.04em;text-transform:uppercase;font-family:Georgia,serif;font-size:13px}#panel .lead{font-family:Georgia,serif;font-size:20px}#panel .fine,#panel .back-hint{color:#6d5c4e;font-size:13px}#panel .note strong{font-family:Georgia,serif}#panel form{gap:6px;margin-top:8px;display:grid}#panel label{font-family:Avenir Next,Segoe UI,sans-serif;font-size:13px}#panel input,#panel textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d7c4a4;border-radius:10px;padding:8px 10px;font:16px Avenir Next,Segoe UI,sans-serif}#panel button,#ab button,#panel-close{font-family:Avenir Next,Segoe UI,sans-serif}#panel form button,#panel-close{background:var(--wood);color:var(--cream);cursor:pointer;border:0;border-radius:999px;padding:8px 14px}#panel-close{margin-top:4px}#tools{z-index:5;top:calc(72px + env(safe-area-inset-top) + var(--badge-room));right:calc(12px + env(safe-area-inset-right));max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex;position:fixed}#tools button{color:#f6efe2;touch-action:none;background:#2a2118ee;border:3px solid #f6efe2;border-radius:14px;min-width:46px;height:46px;padding:0 12px;font:700 18px Avenir Next,Segoe UI,sans-serif}#view-toggle{min-width:104px;font-size:15px}#tools #sandbox-toggle{align-items:center;gap:8px;font-size:15px;display:inline-flex}#sandbox-toggle:after{content:"";background:radial-gradient(circle at 9px,#f6efe2 6px,#0000 6.5px),#6d5c4e;border-radius:9px;width:30px;height:18px}#tools #sandbox-toggle[aria-checked=true]{border-color:var(--ink);color:var(--ink);background:#f2c94c}#sandbox-toggle[aria-checked=true]:after{background:radial-gradient(circle at 21px,#fff8ec 6px,#0000 6.5px),#2f6a3a}#sandbox-badge{z-index:10;top:calc(6px + env(safe-area-inset-top));border:2px solid var(--ink);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;background:#f2c94c;border-radius:999px;margin:0;padding:3px 14px;font:800 12px/1.3 Avenir Next,Segoe UI,sans-serif;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0006}#cabinet{z-index:6;border:0;border-top:env(safe-area-inset-top) solid #120e18;background:#120e18;width:100%;height:100%;position:fixed;inset:0}#pong-view{z-index:6;touch-action:none;background:#140e0a;place-items:center;display:grid;position:fixed;inset:0}#pong-view canvas{width:min(100vw,177.778vh);height:auto;image-rendering:pixelated;touch-action:none;background:#140e0a}body[data-mode=arcade] #pad,body[data-mode=arcade] #ab,body[data-mode=cabinet] #ab,body[data-mode=arcade] #stick,body[data-mode=cabinet] #pad,body[data-mode=cabinet] #stick{z-index:8}body[data-mode=cabinet] #hud,body[data-mode=arcade] #btn-cam,body[data-mode=cabinet] #btn-cam,body[data-mode=arcade] #btn-run,body[data-mode=cabinet] #btn-run,body[data-mode=arcade] #btn-jump,body[data-mode=cabinet] #btn-jump,body[data-mode=arcade] #tools,body[data-mode=cabinet] #tools,body[data-controls=stick] #pad,body[data-controls=pad] #stick{display:none}#pad,#ab,#stick{z-index:4;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed}#pad{left:calc(14px + env(safe-area-inset-left));bottom:calc(72px + env(safe-area-inset-bottom));grid-template-rows:62px 62px;grid-template-columns:62px 62px 62px;gap:8px;display:grid}#pad-n{grid-area:1/2}#pad-w{grid-area:2/1}#pad-s{grid-area:2/2}#pad-e{grid-area:2/3}#pad button,#ab button{cursor:pointer;touch-action:none;color:#f6efe2;background:#6d5c4e;border:3px solid #f6efe2;border-radius:50%;width:62px;height:62px;font-size:22px;font-weight:700}#pad button:active,#ab button:active{transform:scale(.96)}#ab{right:calc(14px + env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));z-index:8;pointer-events:none;grid-template-columns:56px 62px 62px;place-items:end center;gap:10px;display:grid}#ab button{pointer-events:auto}#btn-a{background:var(--gold);color:var(--ink)}#ab #btn-cam{background:#2a2118ee;grid-area:1/2;width:50px;height:50px;font-size:24px}#ab #btn-b{grid-area:2/2}#ab #btn-a{grid-area:2/3}#ab #btn-run,#ab #btn-jump{background:#2a2118ee;font-size:14px}#ab #btn-run{grid-area:2/1;width:56px;height:56px}#ab #btn-jump{grid-area:1/3;width:50px;height:50px}#ab #btn-run.held{background:#2f6a3a}#stick{width:calc(206px + env(safe-area-inset-left));height:calc(222px + env(safe-area-inset-bottom));bottom:0;left:0}#stick-base{left:calc(22px + env(safe-area-inset-left));bottom:calc(66px + env(safe-area-inset-bottom));pointer-events:none;opacity:.75;background:radial-gradient(circle,#2a211833 0%,#2a2118aa 100%);border:3px solid #f6efe2aa;border-radius:50%;place-items:center;width:124px;height:124px;transition:opacity .2s;display:grid;position:absolute}#stick.held #stick-base{opacity:1}#stick-knob{pointer-events:none;will-change:transform;background:#6d5c4e;border:3px solid #f6efe2;border-radius:50%;width:58px;height:58px;box-shadow:0 4px 12px #0005}@media (hover:hover) and (pointer:fine){#pad,#stick,#controls-toggle,#btn-run,#btn-jump{display:none}}#minimap{z-index:5;right:calc(14px + env(safe-area-inset-right));bottom:calc(210px + env(safe-area-inset-bottom));cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#2a2118d9;border:2px solid #f6efe2cc;border-radius:14px;width:224px;height:188px;position:fixed;overflow:hidden;box-shadow:0 8px 22px #00000059}#minimap canvas{width:100%;height:100%;display:block}#minimap-you{will-change:transform;pointer-events:none;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;top:0;left:0}#minimap-you svg{filter:drop-shadow(0 1px 1px #000a);display:block;position:relative}#minimap-you:before{content:"";border:2px solid #ffd23f;border-radius:50%;animation:1.6s ease-out infinite minimap-here;position:absolute;inset:-5px}@keyframes minimap-here{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.35)}}#minimap.closed{border-radius:14px;width:54px;height:46px}#minimap.closed canvas,#minimap.closed #minimap-you{display:none}#minimap.closed:after{content:"Map";color:#f6efe2;place-items:center;font:700 15px Avenir Next,Segoe UI,sans-serif;display:grid;position:absolute;inset:0}body:not([data-mode=walk]) #minimap,body[data-shot] #minimap{display:none}@media (prefers-reduced-motion:reduce){#minimap-you:before{opacity:.6;animation:none}}@media (width<=720px),(pointer:coarse){#minimap{right:calc(12px + env(safe-area-inset-right));bottom:calc(300px + env(safe-area-inset-bottom));width:172px;height:144px}}@media (height<=520px){#minimap{right:calc(232px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));width:160px;height:134px}}[hidden]{display:none!important}@media (width<=720px),(pointer:coarse){#hud{padding-top:calc(12px + env(safe-area-inset-top) + var(--badge-room));flex-direction:column}#tools{top:calc(112px + env(safe-area-inset-top) + var(--badge-room))}#toast{top:calc(226px + env(safe-area-inset-top) + var(--badge-room))}#help{text-align:left;max-width:none}#prompt,#playline{bottom:calc(220px + env(safe-area-inset-bottom));font-size:16px}#panel{bottom:calc(220px + env(safe-area-inset-bottom));touch-action:pan-y;max-height:42vh}}#panel .ex-row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}#panel .ex-btn{background:var(--wood);color:var(--cream);cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;padding:10px 16px;font:600 16px Avenir Next,Segoe UI,sans-serif}#panel .ex-btn:active{transform:scale(.97)}#panel .ex-btn.alt{color:var(--ink);background:#e9dcc6}#panel .ex-btn.on{background:#2f6a3a}#panel .ex-big{color:#f6efe2;letter-spacing:.08em;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:#2a2c30;border:0;border-radius:18px;width:100%;min-height:84px;font:800 22px Avenir Next,Segoe UI,sans-serif}#panel .ex-big.down{color:#2a2118;background:#b08a4a}#panel .ex-out{color:#f6efe2;word-break:break-word;background:#1f2328;border-radius:10px;min-height:1.6em;margin:6px 0;padding:8px 10px;font:600 18px ui-monospace,SF Mono,Menlo,Consolas,monospace}#panel .ex-out.small{font-size:15px}#panel .ex-stat{margin:4px 0;font:700 26px Avenir Next,Segoe UI,sans-serif}#panel .ex-bar{background:#e9dcc6;border-radius:8px;height:16px;margin:4px 0 10px;overflow:hidden}#panel .ex-bar>span{background:#2f6a3a;height:100%;transition:width .25s;display:block}#panel input[type=range]{accent-color:#5c4636;border:0;width:100%;padding:0}#panel .ex-paper{background:#fffdf6;border-radius:10px;min-height:112px;margin:8px 0;padding:16px 14px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #e2d4bc}#panel .ex-idea{margin:0;padding-right:8px;font:600 20px Georgia,serif}#panel .ex-mark{color:#b02a2a;letter-spacing:.08em;opacity:0;border:4px solid #b02a2a;border-radius:8px;padding:4px 10px;font:900 26px Avenir Next,Segoe UI,sans-serif;position:absolute;bottom:12px;right:12px;transform:rotate(-12deg)}#panel .ex-mark:empty{display:none}#panel .ex-mark.no{color:#5c4636;border-color:#5c4636}#panel .ex-mark.hit{animation:.35s ease-out forwards ex-stamp}@keyframes ex-stamp{0%{opacity:0;transform:rotate(-12deg)scale(1.8)}to{opacity:.92;transform:rotate(-12deg)scale(1)}}#panel .ex-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0;display:grid}#panel .ex-grid .ex-btn{border-radius:12px;padding:10px 0}#panel .ex-swatch{cursor:pointer;touch-action:manipulation;border:3px solid #fffdf6;border-radius:50%;width:42px;height:42px;padding:0;box-shadow:0 0 0 1px #c9b8a0}#panel .ex-swatch.on{box-shadow:0 0 0 3px #2a2118}#panel textarea.ex-page{background:#f6f0de;font:600 17px/1.4 Courier New,Courier,monospace}#panel canvas.ex-doodle{aspect-ratio:3;touch-action:none;cursor:crosshair;background:#fff;border-radius:12px;width:100%;display:block;box-shadow:0 0 0 3px #7c4dff}#panel .ex-reset-row{justify-content:flex-end}#panel .ex-btn.ex-reset{color:#fff8ec;background:#c8423b;padding:10px 18px;font-weight:800}#panel .ex-swatch.ex-ink{width:34px;height:34px}#panel .ex-stamp{padding:6px 10px;font-size:20px;line-height:1}#panel .ex-stamp.on,#panel .ex-planet.on{box-shadow:0 0 0 3px #2a2118}#panel .ex-grid .ex-planet{font-size:14px;font-weight:800}#panel .ex-passport{grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0;display:grid}#panel .ex-stamp-cell{color:#8a7f6c;border:3px dashed #c9b8a0;border-radius:14px;justify-items:center;gap:2px;padding:8px 4px;font:700 13px Avenir Next,Segoe UI,sans-serif;display:grid}#panel .ex-stamp-cell.on{border:3px solid var(--ink,#ff5d73);color:var(--ink,#ff5d73);background:#fffdf6;transform:rotate(-3deg)}#panel .ex-stamp-icon{font-size:28px;line-height:1.1}#panel .ex-trophy{color:#6d5c4e;margin:4px 0}#panel .ex-trophy.on{color:#8a5a00;font-weight:700}#panel .fleet-desk{border-top:1px solid #e2d4bc;margin:10px 0 8px;padding-top:10px}#panel .fleet-q{font-weight:600}#panel .fleet-desk .ex-row{gap:6px;margin:6px 0}#panel .fleet-desk .ex-btn{padding:8px 13px;font-size:15px}#panel .fleet-desk .ex-btn:disabled{opacity:.55}#panel .fleet-label{color:#6d5c4e;font:13px Avenir Next,Segoe UI,sans-serif}#panel .fleet-out{color:#2f6a3a;margin:6px 0;font-weight:600}#panel .fleet-out:empty{display:none}#panel .fleet-out.pretend{color:#8a5a00}
