:root{--ink:#2e222f;--plum:#3e3546;--dusk:#625565;--pale:#c7dcd0;--white:#fff;--gold:#f9c22b;--glow:#fbff86;--mint:#30e1b9;--pink:#f04f78;--u:4px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--ink);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{color:var(--white);-webkit-font-smoothing:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-family:Silkscreen,ui-monospace,monospace}.app{position:fixed;inset:0}.world{image-rendering:pixelated;touch-action:none;cursor:crosshair;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.px,.chip{font:inherit;color:var(--white);background:var(--ink);border:var(--u) solid var(--pale);box-shadow:var(--u) var(--u) 0 var(--ink);cursor:pointer;text-transform:uppercase;padding:6px 12px;font-size:14px;line-height:1}.px:active,.chip:active{transform:translate(var(--u), var(--u));box-shadow:none}.px:focus-visible,.chip:focus-visible{outline:var(--u) solid var(--glow);outline-offset:2px}.px.on{background:var(--gold);color:var(--ink);border-color:var(--glow)}.hud{z-index:2;pointer-events:none;position:absolute}.hud>*,.hud button{pointer-events:auto}.top{top:max(12px, env(safe-area-inset-top));justify-content:space-between;align-items:flex-start;gap:12px;display:flex;left:16px;right:16px}.where h1{letter-spacing:1px;text-transform:uppercase;text-shadow:var(--u) var(--u) 0 var(--ink);margin:0;font-size:clamp(22px,4vw,40px);font-weight:700}.where p{text-transform:uppercase;text-shadow:2px 2px 0 var(--ink);align-items:center;gap:8px;margin:4px 0 0;font-size:13px;display:flex}.by{white-space:nowrap;background:var(--plum);padding:2px 6px;font-size:10px}.by.you{background:var(--mint);color:var(--ink)}.buttons{gap:10px;display:flex}.map{left:50%;bottom:max(14px, env(safe-area-inset-bottom));gap:6px;padding-bottom:10px;display:flex;transform:translate(-50%)}.chip{padding:5px 8px;font-size:11px}.chip.here{border-color:var(--glow);color:var(--glow)}.marker{background:var(--glow);pointer-events:none;width:8px;height:6px;position:absolute;bottom:0;transform:translate(-50%)}.note{background:var(--ink);border:var(--u) solid var(--pink);text-transform:uppercase;margin:0;padding:6px 10px;font-size:12px;bottom:70px;left:50%;transform:translate(-50%)}.title{z-index:3;font:inherit;color:var(--white);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.logo{text-transform:uppercase;color:var(--glow);text-shadow:var(--u) var(--u) 0 var(--ink), calc(var(--u) * 2) calc(var(--u) * 2) 0 var(--pink);font-size:clamp(34px,8vw,84px);font-weight:700}.tap{text-transform:uppercase;background:var(--ink);border:var(--u) solid var(--pale);padding:8px 16px;font-size:18px;animation:1.2s steps(2,end) infinite blink}.hint{text-transform:uppercase;opacity:.8;text-shadow:2px 2px 0 var(--ink);font-size:11px}@keyframes blink{50%{border-color:var(--glow)}}.help{z-index:4;background:#2e222f99;place-items:center;display:grid;position:absolute;inset:0}.panel{background:var(--ink);border:var(--u) solid var(--pale);box-shadow:calc(var(--u) * 2) calc(var(--u) * 2) 0 var(--plum);max-width:min(520px,100vw - 32px);padding:20px 24px}.panel h2{text-transform:uppercase;color:var(--glow);margin:0 0 12px;font-size:20px}.panel ul{margin:0 0 16px;padding-left:18px;font-family:ui-monospace,monospace;font-size:13px;line-height:1.7}@media (width<=560px){.chip{padding:4px 5px;font-size:9px}.px{padding:5px 8px;font-size:11px}}.loader,.fatal{background:var(--ink);z-index:10;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:16px;display:flex;position:fixed;inset:0}.fatal p{text-transform:uppercase;max-width:420px;font-size:14px;line-height:1.6}.dots{gap:8px;display:flex}.dots i{background:var(--glow);width:8px;height:8px;animation:.9s steps(2,end) infinite hop}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes hop{50%{transform:translateY(-8px)}}.where .genre{color:var(--glow);margin-top:6px;font-size:11px}.title .sub{text-transform:uppercase;text-shadow:2px 2px 0 var(--ink);margin-top:-8px;font-size:13px}.px.small{box-shadow:2px 2px 0 var(--ink);padding:4px 8px;font-size:11px}.px.rec.on{background:var(--pink);border-color:var(--white);color:var(--white)}.menu{z-index:4;top:calc(max(12px, env(safe-area-inset-top)) + 46px);text-transform:uppercase;flex-direction:column;gap:12px;min-width:260px;font-size:12px;display:flex;position:absolute;right:16px}.menu .row{justify-content:space-between;align-items:center;gap:12px;display:flex}.menu input[type=range]{accent-color:var(--glow);width:140px}.seg{gap:4px;display:flex}.coach{left:50%;bottom:calc(max(14px, env(safe-area-inset-bottom)) + 52px);background:var(--ink);border:var(--u) solid var(--glow);box-shadow:var(--u) var(--u) 0 var(--plum);text-transform:uppercase;white-space:nowrap;align-items:center;gap:10px;padding:8px 10px 8px 14px;font-size:13px;display:flex;transform:translate(-50%)}.arrow{z-index:3;border-left:10px solid #0000;border-right:10px solid #0000;border-top:14px solid var(--glow);width:0;height:0;filter:drop-shadow(3px 3px 0 var(--ink));pointer-events:none;margin:-26px 0 0 -10px;animation:.7s steps(2,end) infinite point;position:fixed}@keyframes point{50%{transform:translateY(-6px)}}.chip.pulse{animation:.8s steps(2,end) infinite blink}@media (width<=560px){.where .genre{font-size:9px}.menu{min-width:0;left:16px;right:16px}.coach{font-size:11px}}@media (prefers-reduced-motion:reduce){.tap,.arrow,.chip.pulse,.dots i{animation:none}}
