:root{color-scheme:dark;--bg:#081c29;--surface:#102d3b;--mint:#a5edce;--gold:#ffcb73;--ink:#eff7ef;--muted:#b7c9cf}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}header{max-width:1600px;margin:auto;padding:20px 32px;display:flex;align-items:center;gap:32px;border-bottom:1px solid #ffffff1c}.wordmark{text-decoration:none;line-height:1.1;display:grid;letter-spacing:3px}.wordmark strong{font-size:28px}.wordmark span{font-size:14px;font-weight:800;color:var(--gold);margin-top:5px}nav{display:flex;justify-content:center;gap:24px;flex:1;flex-wrap:wrap}nav a,.home-link{text-decoration:none;font-size:14px;font-weight:650}.home-link{border:1px solid #a5edce66;border-radius:30px;padding:10px 18px;color:var(--mint)}a:hover{color:var(--gold)}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}main{max-width:1600px;margin:auto;padding:0 32px}.store-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0 20px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;color:var(--gold);margin:0 0 4px}h1{font-size:clamp(21px,2.2vw,32px);letter-spacing:-.6px;margin:0;font-weight:600}.motion{color:var(--muted);border:1px solid #ffffff30;background:transparent;padding:8px 14px;border-radius:20px;font-size:14px;white-space:nowrap}.store{position:relative;isolation:isolate;overflow:hidden;border-radius:14px;border:1px solid #ffcb7340;background:#193b3e}.store-art{display:block;width:100%;height:auto}.hotspots{position:absolute;inset:0}.hotspot{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border-radius:12px;text-decoration:none;--glow:#ffd986;display:flex;align-items:center;justify-content:center}.hotspot.mint{--glow:#a5ffd9}.hotspot:focus-visible{outline-offset:-3px}.label{position:absolute;bottom:8%;max-width:95%;text-align:center;background:#061a27ed;border:1px solid var(--glow);border-radius:7px;padding:6px 12px;color:#fff;font-size:14px;font-weight:700;opacity:0;transform:translateY(5px);transition:.2s;z-index:3}.hotspot:hover .label,.hotspot:focus-visible .label{opacity:1;transform:none}.mote{position:absolute;width:3px;height:3px;background:var(--glow);border-radius:50%;box-shadow:0 0 6px 2px var(--glow);pointer-events:none;animation:float var(--duration) ease-in-out infinite;animation-delay:var(--delay);opacity:.55}.mote.star{width:9px;height:9px;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);border-radius:0}.hotspot:hover .mote,.hotspot:focus-visible .mote{filter:brightness(1.6);box-shadow:0 0 12px 4px var(--glow)}@keyframes float{0%,100%{transform:translate(0,5px) scale(.65);opacity:.2}50%{transform:translate(7px,-17px) scale(1.2);opacity:.95}}.still .mote{animation:none;opacity:.6}.store-caption{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--muted);padding:12px 2px 22px}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quick-links a{text-decoration:none;border:1px solid #a5edce40;background:var(--surface);border-radius:10px;padding:20px 24px;display:grid;gap:5px;transition:background .2s}.quick-links a:hover{background:#17404b}.quick-links span{font-size:12px;letter-spacing:1.5px;color:var(--gold)}.quick-links strong{font-size:21px;font-weight:650}.quick-links small{font-size:14px;color:var(--muted)}.extra-links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;padding:24px 0;font-size:14px}footer{max-width:1536px;margin:0 auto;padding:24px 32px;border-top:1px solid #ffffff1c;display:flex;justify-content:space-between;gap:16px;font-size:14px;color:var(--muted)}dialog{color:var(--ink);background:#102936;border:1px solid #739b97;border-radius:18px;padding:28px;max-width:680px;width:calc(100% - 32px);max-height:85dvh;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#031019c9;backdrop-filter:blur(5px)}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-top button{color:var(--ink);background:transparent;border:1px solid #ffffff40;border-radius:20px;padding:6px 13px;font-size:14px}h2{font-size:clamp(26px,4vw,38px);line-height:1.15;margin:20px 0}dialog p{color:#d3e1e3}dialog h3{font-size:18px;color:var(--mint);margin-bottom:5px}.status{display:inline-block;font-size:13px;font-weight:650;padding:4px 10px;background:#ffcb7318;color:var(--gold);border-radius:5px}.entry{border-top:1px solid #ffffff20;padding:16px 0}.entry p{margin:5px 0}.panel-link{display:inline-block;background:var(--mint);color:#082a26;text-decoration:none;border-radius:7px;padding:10px 16px;font-weight:700;margin-top:10px}.panel-link:hover{color:#082a26;background:#c1ffe4}dialog ul{padding-left:22px}dialog li{margin:8px 0}@media(max-width:850px){header{padding:16px;gap:16px;flex-wrap:wrap}nav{order:3;flex-basis:100%;justify-content:flex-start;gap:16px}.home-link{margin-left:auto}main{padding:0 16px}.quick-links{gap:10px}.quick-links a{padding:16px}.quick-links strong{font-size:18px}.store-caption{flex-direction:column;gap:2px}}@media(max-width:550px){.store-heading{align-items:flex-start}.motion{font-size:12px;padding:6px 9px}h1{font-size:22px}.eyebrow{font-size:12px;letter-spacing:1px}.store{border-radius:8px}.quick-links{grid-template-columns:1fr}.quick-links a{padding:16px 20px}.label{font-size:12px;padding:3px 5px}.hotspot{min-width:30px;min-height:30px}.extra-links{justify-content:flex-start;gap:14px 22px}footer{flex-wrap:wrap;padding:20px 16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.mote{animation:none;opacity:.6}}
/* Ninja stays on the open tiled floor, in front of the store background. */
.store-ninja{position:absolute;left:63%;top:67%;width:12%;aspect-ratio:1;z-index:4;text-decoration:none;opacity:1;transition:opacity .65s ease;transform-origin:50% 90%;-webkit-tap-highlight-color:transparent}.ninja-sprite{display:block;width:100%;height:100%;background:url('/assets/ninja-store-poses.png') 0 50% / 300% 100% no-repeat;filter:drop-shadow(0 4px 3px #29190d55);transform-origin:50% 90%;animation:ninja-breathe 4s ease-in-out infinite}.store-ninja[data-pose="1"] .ninja-sprite{background-position:50% 50%;animation-duration:5s}.store-ninja[data-pose="2"] .ninja-sprite{background-position:100% 50%;animation:none}.store-ninja.changing{opacity:0;pointer-events:none}.ninja-caption{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;padding:4px 8px;background:#081c29e8;border:1px solid #ffcb73;border-radius:6px;font-size:14px;opacity:0}.store-ninja:hover .ninja-caption,.store-ninja:focus-visible .ninja-caption{opacity:1}.store-ninja:focus-visible{outline:2px solid #ffcb73;border-radius:15px;outline-offset:2px}@keyframes ninja-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.025)}}.still .ninja-sprite{animation:none}.still .store-ninja{transition:none}@media(prefers-reduced-motion:reduce){.ninja-sprite{animation:none}.store-ninja{transition:none}}
