:root{--accent: #3aa0ff;--ink: #2a2150;--glass: rgba(255, 255, 255, .72);--glass-dark: rgba(42, 33, 80, .55)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#cbbcf2;font-family:Fredoka,system-ui,sans-serif;color:var(--ink);user-select:none;-webkit-user-select:none;touch-action:none}#game{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.hidden{display:none!important}button{font:inherit;cursor:pointer;border:0}.panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;padding:26px 24px 22px;border-radius:28px;background:var(--glass);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 20px 60px #3c1e7840,inset 0 1px #fffc;text-align:center;animation:rise .35s cubic-bezier(.2,1.4,.4,1)}@keyframes rise{0%{opacity:0;transform:translate(-50%,-44%) scale(.96)}}h1{margin:0;font-size:54px;font-weight:700;letter-spacing:-1px;line-height:1}h1 span{color:var(--accent);transition:color .2s}h2{margin:0 0 4px;font-size:40px;font-weight:700}.tag{margin:6px 0 4px;opacity:.7;font-size:15px}#preview{width:150px;height:150px;display:block;margin:0 auto -6px}#name{width:100%;padding:12px 16px;border-radius:16px;border:2px solid transparent;background:#ffffffd9;font:500 18px Fredoka,sans-serif;color:var(--ink);text-align:center;outline:none;transition:border-color .15s}#name:focus{border-color:var(--accent)}.label{margin:14px 0 6px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.55}#swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.swatch{aspect-ratio:1;border-radius:12px;background:var(--c);box-shadow:inset 0 -4px #00000026;transition:transform .12s}.swatch:hover{transform:translateY(-2px)}.swatch.sel{outline:3px solid var(--ink);outline-offset:2px}#patterns{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pat{padding:8px 0;border-radius:12px;background:#ffffffb3;color:var(--ink);font-size:14px;text-transform:capitalize}.pat.sel{background:var(--ink);color:#fff}button.big{display:block;width:100%;margin-top:18px;padding:14px;border-radius:18px;background:var(--accent);color:#fff;font-size:22px;font-weight:600;box-shadow:0 6px #0000002e,0 10px 24px #00000026;text-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .1s,box-shadow .1s}button.big:hover{transform:translateY(-1px)}button.big:active{transform:translateY(4px);box-shadow:0 2px #0000002e}button.ghost{margin-top:10px;padding:8px 14px;background:none;color:var(--ink);opacity:.7;font-size:16px}button.ghost:hover{opacity:1}#bestScore{margin-top:12px;font-weight:600;opacity:.75}.hint{margin-top:10px;display:flex;flex-direction:column;gap:2px;font-size:13px;opacity:.55}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 6px}.stats div{background:#ffffffb3;border-radius:16px;padding:10px 4px}.stats b{display:block;font-size:22px}.stats span{font-size:12px;opacity:.6}#stBest{font-weight:600;opacity:.7}#stBest.new{color:var(--accent);opacity:1;animation:pulse 1s infinite alternate}@keyframes pulse{to{transform:scale(1.08)}}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#hud>*{pointer-events:auto}#score{position:absolute;left:16px;top:14px}#pct{font-size:44px;font-weight:700;line-height:1;color:#fff;text-shadow:0 3px 0 var(--accent),0 6px 18px rgba(40,20,90,.35)}#kills{margin-top:4px;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(40,20,90,.5)}#powers{display:flex;gap:8px;margin-top:10px}.chip{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:20px;background:conic-gradient(var(--c) calc(var(--f) * 360deg),rgba(255,255,255,.35) 0);box-shadow:0 4px 14px #00000026}.chip span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffffffe6}#board{position:absolute;right:16px;top:14px;margin:0;padding:8px;list-style:none;width:200px;border-radius:18px;background:var(--glass-dark);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:14px}#board li{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:10px}#board li.me{background:#fff3;font-weight:600}#board .rk{width:16px;opacity:.6;text-align:right}#board .dot{width:12px;height:12px;border-radius:4px;flex:none;box-shadow:inset 0 -2px #0003}#board .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#board .pc{font-variant-numeric:tabular-nums}#minimap{position:absolute;right:16px;bottom:16px;width:150px;height:150px;border-radius:18px;background:#2a215059;border:3px solid rgba(255,255,255,.7);box-shadow:0 8px 24px #28145a40}#feed{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column-reverse;gap:6px;pointer-events:none}.msg{padding:6px 12px;border-radius:12px;background:var(--glass);font-size:15px;width:fit-content;animation:slideIn .25s ease-out;transition:opacity .5s}.msg b{text-shadow:0 0 1px rgba(0,0,0,.3)}.msg.fade{opacity:0}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}}#pops{position:absolute;left:50%;top:38%;pointer-events:none}.pop{position:absolute;transform:translate(-50%);font-size:30px;font-weight:700;white-space:nowrap;-webkit-text-stroke:1.5px #fff;paint-order:stroke fill;text-shadow:0 4px 12px rgba(40,20,90,.3);animation:popUp 1.1s ease-out forwards}@keyframes popUp{0%{opacity:0;transform:translate(-50%,10px) scale(.6)}15%{opacity:1;transform:translate(-50%) scale(1.15)}to{opacity:0;transform:translate(-50%,-50px) scale(1)}}#pauseBtn{position:absolute;left:50%;top:14px;transform:translate(-50%);width:40px;height:40px;border-radius:50%;background:var(--glass);color:var(--ink);font-size:12px}#joy{position:fixed;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:#ffffff2e;border:3px solid rgba(255,255,255,.5);display:none;pointer-events:none}#joy.on{display:block}#joyKnob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#ffffffd9;box-shadow:0 4px 12px #0003}@media (max-width: 640px){#pct{font-size:32px}#board{width:150px;font-size:12px;padding:5px;right:10px;top:10px}#board li{padding:2px 4px;gap:5px}#minimap{width:96px;height:96px;right:10px;bottom:10px;border-radius:12px}#score{left:10px;top:10px}#feed{left:10px;bottom:10px;max-width:calc(100vw - 130px)}.msg{font-size:13px}#pauseBtn{top:auto;bottom:12px}h1{font-size:44px}}
