html,body,#root{height:100%;margin:0}:root{--sky:#afbde0;--dither:#a8b7dc;--skyline:#c1cce6;--paper:#fbf6ec;--paper-2:#f0e9db;--ink:#2b2838;--text-2:#3b3550;--muted:#625c75;--accent:#5c52b4;--on-accent:#fff;--gold:#f3d57b;--cyan:#8cd9e5;--lilac:#bcbad4;--hover:#f7dd7d;--tier-common:#6b647e;--tier-uncommon:#007757;--tier-rare:#246ab1;--tier-epic:#784ad0;--tier-legendary:#915c00;--tier-divine:#bc3253;--f-px:"Press Start 2P",ui-monospace,monospace;--f-read:VT323,ui-monospace,monospace;--t1:400 32px/40px var(--f-px);--t2:400 16px/24px var(--f-px);--t3:400 24px/26px var(--f-read);--t4:400 20px/22px var(--f-read);--t4-nav:400 22px/24px var(--f-read);--t5:400 12px/16px var(--f-px);--t6:400 8px/8px var(--f-px);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sky:#afbde0}}:root[data-theme=dark]{--sky:#afbde0}*,:before,:after{box-sizing:inherit}html,body{height:100%;margin:0}body{background:var(--sky);color:var(--ink);font:var(--t3);-webkit-tap-highlight-color:transparent;overflow:hidden}.px{font-family:var(--f-px)}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;position:fixed;inset:0;overflow:hidden}#stage:active{cursor:grabbing}#city{image-rendering:pixelated;image-rendering:crisp-edges;display:block;position:absolute;bottom:0;left:0}#hits{pointer-events:none;position:absolute;inset:0}.hit{pointer-events:auto;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:flex-start;margin:0;padding:0;display:flex;position:absolute}.hit:focus-visible{outline:none}.hit .tag{background:var(--ink);color:var(--gold);font:var(--t5);white-space:nowrap;opacity:0;pointer-events:none;padding:8px 10px;position:absolute;top:-40px}.hit.on .tag{opacity:1}.hint{left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--gold);font:var(--t4);z-index:2;pointer-events:none;white-space:nowrap;padding:6px 12px;position:fixed;transform:translate(-50%)}.btn{font:var(--t5);background:var(--accent);min-height:44px;color:var(--on-accent);cursor:pointer;box-shadow:0 0 0 2px var(--ink),0 4px 0 2px var(--ink);white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;display:inline-flex;position:relative}.btn:active{box-shadow:0 0 0 2px var(--ink)}.btn.ghost{background:var(--paper);color:var(--ink)}.btn.on{background:var(--ink);color:var(--paper)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px dashed var(--ink);outline-offset:6px}.cta{flex-wrap:wrap;gap:12px;display:flex}.chip{background:var(--ink);min-height:44px;color:var(--paper);text-align:left;cursor:pointer;box-shadow:0 0 0 2px var(--ink),0 4px 0 2px var(--ink);border:0;flex-direction:column;justify-content:center;gap:6px;padding:8px 12px;display:inline-flex}.chip:active{box-shadow:0 0 0 2px var(--ink)}.chip:focus-visible{outline:2px dashed var(--ink);outline-offset:6px}.chip .lbl{font:var(--t6);color:var(--gold);white-space:nowrap}.chip .digits{font:var(--t2);color:var(--cyan);white-space:nowrap}.chip .ph{display:none}.mintbox{background:var(--ink);color:var(--paper);margin:0 0 12px;padding:12px 16px;display:inline-block;box-shadow:4px 4px #2b283859}.sign{z-index:2;left:16px;top:calc(16px + env(safe-area-inset-top,0px));background:var(--paper);width:396px;box-shadow:0 0 0 2px var(--ink),4px 4px 0 2px var(--ink);padding:16px 20px 20px;position:fixed}.sign h1{font:var(--t1);color:var(--ink);margin:0}.sign .intro,.sign .tagline{font:var(--t3);color:var(--text-2);margin:8px 0 16px}.sign .tagline,body.tight .sign .intro,body.zoomed .sign .intro{display:none}body.tight .sign .tagline,body.zoomed .sign .tagline{display:block}.actions{flex-direction:column;gap:12px;display:flex}.actions .chip{align-self:stretch}.btns{gap:12px;display:flex}.btns .btn:first-child{flex:1}.btns .btn{padding:0 12px}.climbbar{display:none}.topctl{z-index:4;right:16px;top:calc(16px + env(safe-area-inset-top,0px));position:fixed}.citynav{flex-direction:column;align-items:flex-end;display:flex}.maptog{font:var(--t5);background:var(--paper);min-height:44px;color:var(--ink);cursor:pointer;box-shadow:0 0 0 2px var(--ink),0 4px 0 2px var(--ink);border:0;padding:0 16px}.maptog:active{box-shadow:0 0 0 2px var(--ink)}.maptog:focus-visible{outline:2px dashed var(--ink);outline-offset:6px}.maptog .ph,.mhead{display:none}#map{background:var(--paper);width:420px;box-shadow:0 0 0 2px var(--ink),4px 4px 0 2px var(--ink);grid-template-columns:1fr 1fr;gap:4px 16px;margin-top:12px;padding:12px;display:grid}.mgroup{flex-direction:column;gap:2px;display:flex}#map b{font:var(--t6);color:var(--muted);padding:8px 8px 6px}#map a{font:var(--t4-nav);color:var(--ink);cursor:pointer;align-items:center;min-height:36px;padding:0 8px;text-decoration:none;display:flex}#map a:hover,#map a:focus-visible{background:var(--hover);outline:none}.pan{z-index:3;bottom:calc(72px + env(safe-area-inset-bottom,0px));background:var(--paper);width:48px;height:48px;color:var(--ink);font:var(--t5);box-shadow:0 0 0 2px var(--ink),0 4px 0 2px var(--ink);cursor:pointer;border:0;position:fixed}.pan:active{box-shadow:0 0 0 2px var(--ink)}.pan:disabled{opacity:.35;cursor:default}.pan:focus-visible{outline:2px dashed var(--ink);outline-offset:6px}.pan.l{left:12px}.pan.r{right:12px}.music{z-index:3;left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));background:var(--paper);min-height:44px;color:var(--ink);font:var(--t6);box-shadow:0 0 0 2px var(--ink),0 4px 0 2px var(--ink);cursor:pointer;border:0;align-items:center;gap:8px;padding:0 12px;display:flex;position:fixed}.music:active{box-shadow:0 0 0 2px var(--ink)}.music:focus-visible{outline:2px dashed var(--ink);outline-offset:6px}.music .snd{flex:none;display:block}.music.on{background:var(--hover)}.music.wait{box-shadow:0 0 0 2px var(--ink),0 4px 0 2px var(--ink),0 0 0 6px var(--gold)}.zoom{z-index:3;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));background:var(--paper);box-shadow:0 0 0 2px var(--ink),0 4px 0 2px var(--ink);display:flex;position:fixed}.zoom button{min-width:44px;min-height:44px;color:var(--ink);font:var(--t5);cursor:pointer;background:0 0;border:0}.zoom button+button{box-shadow:-2px 0 0 0 var(--ink)}.zoom .lvl{font:var(--t6);min-width:52px}.zoom button:hover:not(:disabled){background:var(--hover)}.zoom button:disabled{opacity:.35;cursor:default}.zoom button:focus-visible{outline:2px dashed var(--ink);outline-offset:-4px}#panel{z-index:5;background:var(--paper);width:400px;box-shadow:0 0 0 4px var(--ink),6px 6px 0 4px var(--ink);flex-direction:column;display:flex;position:fixed;top:16px;bottom:16px;right:16px}.phead{justify-content:flex-end;padding:8px;display:flex}#pclose{font:var(--t5);background:var(--paper);color:var(--ink);box-shadow:0 0 0 2px var(--ink);cursor:pointer;border:0;min-width:44px;min-height:44px}#pclose:focus-visible{outline:2px dashed var(--ink);outline-offset:4px}#pbody{padding:0 20px 20px;overflow:auto}#pbody h2{font:var(--t2);margin:0 0 12px}#pbody h2.sub{font:var(--t5);margin:16px 0 12px}#pbody p{font:var(--t3);color:var(--text-2);margin:0 0 12px}#pbody .soon,#pbody .muted{font:var(--t4);color:var(--muted)}#pbody a:not(.btn){color:var(--accent)}#pbody label{font:var(--t4)}#pbody .hud{font:var(--t6)}.steps{font:var(--t3);margin:0 0 16px;padding-left:24px}.rules{gap:4px;margin:0 0 16px;padding:0;list-style:none;display:grid}.rules li{font:var(--t4);background:var(--paper-2);color:var(--ink);justify-content:space-between;gap:12px;padding:8px 10px;display:flex}.rules b{white-space:nowrap}.tabs{flex-wrap:wrap;gap:4px;margin:0 0 8px;display:flex}.tab{font:var(--t6);background:var(--paper);min-height:36px;color:var(--ink);box-shadow:0 0 0 2px var(--ink);cursor:pointer;border:0;flex:1;padding:4px}.tab.on{background:var(--ink);color:var(--paper)}.tab:focus-visible,.chipf:focus-visible{outline:2px dashed var(--ink);outline-offset:3px}#cgrid{aspect-ratio:120/96;width:100%;height:auto;image-rendering:pixelated;box-shadow:0 0 0 2px var(--ink);margin-bottom:16px;display:block}.cdbig{background:var(--ink);color:var(--cyan);font:var(--t2);text-align:center;margin:0 0 16px;padding:12px}.fgrid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:8px;display:grid}.ftile{background:var(--paper-2);box-shadow:0 0 0 2px var(--ink);cursor:pointer;min-height:100px;color:var(--ink);border:0;flex-direction:column;align-items:center;gap:6px;padding:14px 4px 8px;display:flex;position:relative}.ftile .bar{height:4px;position:absolute;top:0;left:0;right:0}.ftile .sl{font:var(--t6);color:var(--muted)}.ftile .q{font:var(--t2)}.ftile .nm{font:var(--t4);text-align:center}.ftile.done{background:var(--paper)}.ftile:hover{background:var(--hover)}.ftile:focus-visible{outline:2px dashed var(--ink);outline-offset:3px}.chipsf{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.chipf{font:var(--t4);background:var(--paper);min-height:36px;box-shadow:0 0 0 2px var(--ink);cursor:pointer;color:var(--ink);border:0;padding:4px 12px}.chipf.on{background:var(--hover)}.card-entry{background:var(--paper-2);box-shadow:0 0 0 2px var(--ink);margin-bottom:12px;padding:12px}@media (width<=820px){header{z-index:2;left:8px;right:8px;top:calc(8px + env(safe-area-inset-top,0px));pointer-events:none;align-items:flex-start;gap:8px;display:flex;position:fixed}header>*{pointer-events:auto}.sign{width:auto;min-width:0;box-shadow:none;background:0 0;align-items:flex-start;gap:8px;padding:0;display:flex;position:static}.sign h1{font:400 16px/16px var(--f-px);background:var(--paper);box-shadow:0 0 0 2px var(--ink),0 4px 0 2px var(--ink);white-space:nowrap;padding:14px 8px}.sign .intro,.sign .tagline,body.tight .sign .tagline,body.zoomed .sign .tagline,.btns{display:none}.chip{align-items:flex-end}.chip .dk{display:none}.chip .ph{display:block}.chip .digits{font:var(--t5)}.topctl{flex:none;gap:8px;margin-left:auto;display:flex;position:static}.music{justify-content:center;width:44px;height:44px;padding:0;position:static}.music span{display:none}.maptog{justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.maptog .dk{display:none}.maptog .ph{display:block}.burger{background:linear-gradient(var(--ink),var(--ink)) 0 0/18px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 6px/18px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 12px/18px 2px no-repeat;width:18px;height:14px;display:block}header:has(.citynav[data-state=open]){z-index:6}#map{z-index:30;width:auto;padding:0 0 calc(32px + env(safe-area-inset-bottom,0px));background:var(--paper);box-shadow:none;overscroll-behavior:contain;flex-direction:column;gap:0;margin:0;display:flex;position:fixed;inset:0;overflow-y:auto}.mhead{z-index:1;background:var(--paper);padding:12px 12px 12px 20px;padding-top:calc(12px + env(safe-area-inset-top,0px));border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.mhead h2{font:var(--t2);text-transform:uppercase;color:var(--ink);margin:0}.mclose{width:44px;height:44px;font:var(--t5);background:var(--paper);color:var(--ink);box-shadow:0 0 0 2px var(--ink);cursor:pointer;border:0}.mclose:focus-visible{outline:2px dashed var(--ink);outline-offset:4px}.mgroup{gap:0;padding:0 20px}#map b{padding:24px 0 8px;display:block}#map a{min-height:56px;font:var(--t3);border-bottom:2px solid var(--paper-2);padding:0 4px}#map a:focus-visible{outline:2px dashed var(--ink);outline-offset:-4px}.pan{bottom:calc(76px + env(safe-area-inset-bottom,0px))}.zoom{left:50%;right:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));transform:translate(-50%)}.zoom button{min-width:48px;min-height:48px}.climbbar{z-index:3;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));min-height:52px;display:flex;position:fixed}.hint{bottom:calc(140px + env(safe-area-inset-bottom,0px))}#panel{width:auto;max-height:72vh;inset:auto 8px 8px}}@media (width<=389px){.sign h1{font:400 12px/16px var(--f-px)}}:root{--m-d2:.12s;--m-d3:.18s;--m-hl:#ffe066}#panel[data-state=closed],#map[data-state=closed]{display:none}.mo-confirm{animation:mo-confirm var(--m-d2) steps(1, end)}@keyframes mo-confirm{0%{filter:invert()}50%{filter:none}}.mo-deny{animation:mo-deny var(--m-d3) steps(1, end)}@keyframes mo-deny{0%{filter:invert()}to{filter:none}}.mo-load,.btn[aria-busy=true]:before{vertical-align:middle;background:repeating-linear-gradient(90deg,currentColor 0 4px,#0000 4px 8px);flex:none;width:20px;height:4px;display:inline-block}.btn[aria-busy=true]:before{content:"";margin-right:8px}.btn[aria-busy=true]{cursor:progress}.mo-dots{vertical-align:bottom;white-space:nowrap;width:3ch;display:inline-block;overflow:hidden}.mo-skel{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--ink,#000) 14%, transparent) 0 8px, transparent 8px 16px);min-height:16px;margin-bottom:8px}
