*{box-sizing:border-box}html,body{color:#e9eef9;background:#10131c;height:100%;margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#game{width:100vw;height:100vh;touch-action:none;cursor:crosshair;height:100dvh;display:block}#hud{pointer-events:none;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 16px;display:flex;position:fixed;inset:0 0 auto}.hud-group{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stars{color:#ffd166;letter-spacing:2px;font-size:18px}.coins,.menu-coins{color:#f4b93e;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-weight:700;display:inline-flex}.coin-icon{background:#f4b93e;border-radius:50%;width:1em;height:1em;box-shadow:inset 0 0 0 .12em #f4b93e,inset 0 0 0 .2em #b87a14}#coins[data-pending]:after,#menu-coins[data-pending]:after{content:"";vertical-align:super;background:#9aa4bd;border-radius:50%;width:6px;height:6px;margin-left:4px;animation:1.2s ease-in-out infinite pending-pulse;display:inline-block}@keyframes pending-pulse{50%{opacity:.3}}.menu-coins{background:#1f2636;border:1px solid #333d55;border-radius:999px;padding:6px 12px;font-size:18px;position:absolute;top:16px;right:16px}#hud button{font:inherit;color:inherit;cursor:pointer;background:#1f2636;border:1px solid #333d55;border-radius:6px;padding:5px 10px}#hud button:hover{background:#283149}.debug{opacity:.7;cursor:pointer;-webkit-user-select:none;user-select:none}#overlay{background:#0a0c128c;place-items:center;display:grid;position:fixed;inset:0}#overlay[hidden]{display:none}.card{text-align:center;background:#1a2030;border:1px solid #333d55;border-radius:12px;max-width:calc(100vw - 32px);padding:24px 32px}.card h2{color:#06d6a0;margin:0 0 8px}.card p{white-space:pre-line;margin:0}.card-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.card-actions .menu-btn{width:auto;min-width:120px}.card-actions [hidden],#hud[hidden],#menu[hidden],#menu [hidden]{display:none}#menu{background:radial-gradient(at 50% 35%,#1c2438 0%,#10131c 70%);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.menu-main,.menu-worlds,.menu-levels,.menu-skins,.menu-community{flex-direction:column;align-items:center;gap:14px;width:min(520px,100%);display:flex}.menu-title{letter-spacing:1px;color:#ffd166;text-shadow:0 4px #7a4f00;margin:0 0 24px;font-size:clamp(40px,12vw,72px);font-weight:800}.menu-worlds h2,.menu-levels h2,.menu-skins h2,.menu-community h2{margin:0 0 8px}.menu-links{flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:8px;display:flex}.menu-link{color:#9aa6c0;font-size:13px}.menu-btn{width:min(280px,100%);font:inherit;color:inherit;cursor:pointer;background:#1f2636;border:1px solid #333d55;border-radius:10px;padding:12px 16px;font-size:17px}.menu-btn:hover,.menu-btn:focus-visible{background:#283149}.menu-btn.primary{color:#0b1a14;background:#06d6a0;border-color:#06d6a0;font-weight:700}.menu-btn.primary:hover,.menu-btn.primary:focus-visible{background:#2ee8b6}.menu-btn small{opacity:.8;font-size:13px;font-weight:400;display:block}.level-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;width:100%;display:grid}.level-tile{text-align:left;font:inherit;color:inherit;cursor:pointer;background:#1a2030;border:1px solid #333d55;border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.level-tile:hover:not(:disabled),.level-tile:focus-visible{background:#283149}.level-tile:disabled{opacity:.4;cursor:not-allowed}.level-tile.next{border-color:#06d6a0}.level-tile .id{font-weight:700}.level-tile .detail{opacity:.75;font-size:12px}.skin-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;width:100%;display:grid}.skin-tile{font:inherit;color:inherit;cursor:pointer;background:#1a2030;border:1px solid #333d55;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;display:flex}.skin-tile:hover:not(:disabled),.skin-tile:focus-visible{background:#283149}.skin-tile:disabled{cursor:default}.skin-tile.selected{border-color:#06d6a0}.skin-tile.locked canvas{opacity:.45}.skin-tile canvas{width:64px;height:64px}.skin-tile .name{font-weight:700}.skin-tile .detail{opacity:.75;align-items:center;gap:4px;font-size:12px;display:inline-flex}.skin-tile.selected .detail{color:#06d6a0;opacity:1}.skin-tile .price{color:#f4b93e;opacity:1;font-weight:700}.menu-status{color:#ff8fa3;min-height:1.2em;margin:0;font-size:14px}.menu-status.neutral{color:#9aa6c0}.community-code{justify-content:center;gap:8px;width:100%;display:flex}.community-code input,.report-dialog textarea{font:inherit;color:inherit;background:#1a2030;border:1px solid #333d55;border-radius:10px;padding:10px 12px}.community-code input{text-transform:uppercase;letter-spacing:1px;width:min(220px,100%);min-width:0}.community-code .menu-btn{width:auto}.community-filters{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.segmented{border:1px solid #333d55;border-radius:10px;display:inline-flex;overflow:hidden}.segmented button,.tag-chip{font:inherit;color:inherit;cursor:pointer;background:#1f2636;border:0;padding:6px 16px;font-size:14px}.segmented button[aria-pressed=true],.tag-chip[aria-pressed=true]{color:#0b1a14;background:#06d6a0;font-weight:700}.tag-chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tag-chip{border:1px solid #333d55;border-radius:999px;padding:4px 12px;font-size:13px}.community-list{flex-direction:column;gap:10px;width:100%;display:flex}.community-card{background:#1a2030;border:1px solid #333d55;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.community-card h3{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font-size:17px;display:flex}.community-card .code,.community-card .detail,.community-stats{color:#9aa6c0;font-size:12px}.community-card .code{letter-spacing:1px;font-weight:400}.community-card .description{overflow-wrap:anywhere;margin:2px 0;font-size:14px}.community-stats{margin:0}.tag-list{flex-wrap:wrap;gap:4px;display:flex}.tag{color:#c9d2e6;background:#283149;border-radius:999px;padding:1px 8px;font-size:11px}.community-card .card-actions{justify-content:flex-start;margin-top:6px}.community-card .card-actions .menu-btn,.community-actions .menu-btn{width:auto;padding:8px 14px;font-size:15px}.menu-btn.subtle{background:0 0}.menu-btn.vote[aria-pressed=true]{color:#06d6a0;border-color:#06d6a0}.community-actions{border-top:1px solid #333d55;flex-direction:column;align-items:center;gap:6px;margin-top:14px;padding-top:12px;display:flex}.community-actions[hidden]{display:none}.community-actions .detail{color:#9aa6c0;margin:0;font-size:13px}.community-actions .card-actions{margin-top:0}.report-dialog{width:min(420px,100% - 32px);color:inherit;background:#1a2030;border:1px solid #333d55;border-radius:14px;padding:18px}.report-dialog::backdrop{background:#0a0c12b3}.report-dialog h2{margin:0 0 4px}.report-dialog .detail{color:#9aa6c0;margin:0 0 10px;font-size:13px}.report-dialog .detail a{color:inherit}.report-dialog fieldset{border:1px solid #333d55;border-radius:10px;flex-direction:column;gap:6px;margin:0 0 10px;padding:10px 12px;display:flex}.report-dialog textarea{resize:vertical;width:100%;margin-bottom:8px}.report-dialog .card-actions .menu-btn{width:auto}button{touch-action:manipulation}@media (pointer:coarse){.key-hint,.menu-btn small{display:none}#hud{padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left))}#hud .hud-group{gap:8px}#hud button{padding:8px 12px}}
