*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg,#342337);color:#fff5e7;font-family:'Nunito',system-ui,sans-serif}body{background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--accent) 16%,var(--bg)),var(--bg) 65%)}button,select{font:inherit}button{touch-action:manipulation;cursor:pointer;border:1px solid #ffffff24;border-radius:16px;background:#ffffff10;color:inherit;font-weight:800;min-height:44px;padding:10px 16px;transition:transform .12s,background .12s}button:hover{background:#ffffff20}button:active{transform:scale(.96)}button:focus-visible,canvas:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{opacity:.35;cursor:default}button.primary{background:var(--accent);color:var(--bg);border:0;box-shadow:0 5px 0 #0003}button.secondary{border-color:var(--accent);color:var(--accent)}.hidden,[hidden]{display:none!important}#app{max-width:560px;margin:auto;padding:env(safe-area-inset-top,0) 12px env(safe-area-inset-bottom,0);min-height:100svh}header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0 6px}.wordmark{font-size:21px;font-weight:1000;letter-spacing:-.5px}.wordmark small{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:.65;margin-top:3px}.icon-button{width:44px;padding:0;font-size:20px}#menu{text-align:center;padding:6px 8px 20px}#hero{width:100%;max-height:280px;aspect-ratio:432/280;display:block}h1{font-size:clamp(30px,8vw,48px);line-height:1.05;margin:0 0 12px;font-weight:1000;letter-spacing:-1.5px}.intro{line-height:1.6;opacity:.82;font-size:15px;max-width:380px;margin:0 auto 20px}.menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:380px;margin:auto}.menu-actions .primary{grid-column:1/-1;font-size:19px;min-height:55px}.summary{margin:22px 0 4px;display:flex;justify-content:center;gap:20px;font-size:13px;color:var(--accent)}#play{padding-bottom:10px}.hud{display:grid;grid-template-columns:1fr auto;gap:8px;margin:4px 0 8px}.hud .level{font-size:16px;font-weight:900}.hud .goal{font-size:12px;opacity:.8;margin-top:3px}.hud .count{font-size:14px;text-align:right;font-weight:900;color:var(--accent)}.progress-track{height:5px;background:#ffffff16;border-radius:20px;margin:4px 0 6px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--accent);border-radius:20px;transition:width .25s}#board{width:100%;height:auto;aspect-ratio:432/560;display:block;border-radius:22px;touch-action:none;background:#00000013;box-shadow:inset 0 1px 0 #fff1}#instruction{margin:6px 0;font-size:12px;line-height:1.45;min-height:32px;opacity:.86}#status{font-size:13px;font-weight:800;min-height:20px;color:var(--accent);text-align:center}.toolbar{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:6px}.toolbar button{padding:8px 11px;font-size:12px}.toolbar .direction{min-width:48px;font-size:18px}#overlay{position:fixed;inset:0;z-index:20;background:#15131cbe;backdrop-filter:blur(10px);padding:20px;display:flex;align-items:center;justify-content:center}.dialog{width:100%;max-width:490px;max-height:88svh;overflow:auto;padding:24px;background:var(--bg);border:1px solid #ffffff30;border-radius:28px;box-shadow:0 25px 80px #0008}.dialog h2{font-size:26px;margin:0 0 16px;line-height:1.2}.dialog p{line-height:1.6;font-size:14px;opacity:.85}.dialog .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.dialog .actions button{flex:1}.map-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.map-grid button{padding:5px 0;min-width:0;min-height:48px;font-size:14px}.map-grid small{display:block;font-size:10px;color:var(--accent)}.settings-row{display:flex;align-items:center;justify-content:space-between;margin:12px 0;gap:12px}.settings-row select{max-width:180px;border:1px solid #fff4;background:var(--bg);color:inherit;border-radius:12px;padding:10px;min-height:44px}.result-stars{font-size:48px;color:var(--accent);letter-spacing:5px;text-align:center;margin:16px 0}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.collection-grid img{width:100%;border-radius:15px;background:#ffffff0b}.collection-grid .unearned{filter:grayscale(1);opacity:.3}.mission{padding:14px 0;border-bottom:1px solid #ffffff15;display:flex;justify-content:space-between;gap:12px}#live-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.preview-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;padding:10px;background:#fff1;border-radius:12px}.preview-row img{width:40px;height:40px}#footer{font-size:11px;opacity:.4;text-align:center;padding:15px 0}.shake{animation:shake .16s}.pulse{animation:pulse .35s}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes pulse{50%{filter:brightness(1.25)}}@media(max-width:360px){#app{padding-left:10px;padding-right:10px}header{padding-top:8px}.wordmark{font-size:18px}.toolbar button{font-size:11px;padding:8px}#instruction{font-size:11px}.dialog{padding:18px}.map-grid{grid-template-columns:repeat(5,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
