:root{--green:#1f7a3a;--green-dark:#14532d;--lime:#b9f23c;--gold:#ffc928;--gold-dark:#c98a00;--ink:#16241a;--paper:#fffdf5;--muted:#5d6b60;--purple:#6c4bff;--display:"Lilita One", "Arial Black", system-ui, sans-serif;--body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--body);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#a5d8f5;margin:0;font-weight:600;overflow:hidden}[hidden]{display:none!important}#game{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;inset:0}#ui button,#ui a,#ui input,#ui .card{pointer-events:auto}#topbar{top:calc(12px + env(safe-area-inset-top));z-index:5;align-items:center;gap:8px;display:flex;position:absolute;left:14px;right:14px}.spacer{flex:1}.chip{color:#fff;height:36px;font:800 13px var(--body);white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16241ab8;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.chip:before{content:"";background:var(--lime);border-radius:50%;width:8px;height:8px}.chip-btn{cursor:pointer;background:var(--ink)}.chip-btn:before{background:#8a968d}.chip-btn.connected:before{background:var(--lime)}.icon-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16241ab8;border:0;border-radius:50%;width:36px;height:36px;font-size:15px}#hud{top:calc(58px + env(safe-area-inset-top));position:absolute;left:14px;right:14px}.hud-row{align-items:center;gap:10px;display:flex}.hud-score{font:44px/1 var(--display);color:#fff;text-shadow:0 3px #00000059;font-variant-numeric:tabular-nums;flex:1;align-items:baseline;gap:8px;display:flex}.mult{background:var(--purple);text-shadow:none;border-radius:10px;padding:4px 9px;font-size:20px}.hud-coins{color:#fff;height:36px;font:22px/1 var(--display);font-variant-numeric:tabular-nums;background:#16241ab8;border-radius:999px;align-items:center;gap:7px;padding:0 14px 0 8px;display:flex}.coin{background:radial-gradient(circle at 35% 30%, #fff3b0, var(--gold) 55%, var(--gold-dark));vertical-align:-4px;border-radius:50%;width:22px;height:22px;display:inline-block;box-shadow:inset 0 0 0 2px #8a520080}.powers{gap:8px;margin-top:10px;display:flex}.power{color:#fff;height:34px;font:16px/1 var(--display);background:#16241ab8;border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:flex}.power i{background:#ffffff40;border-radius:4px;width:56px;height:7px;overflow:hidden}.power b{transform-origin:0;background:var(--lime);width:100%;height:100%;display:block}.power.magnet b{background:#ff6b5e}.power.double b{background:#a78bff}.screen{justify-content:center;align-items:center;padding:64px 16px 20px;display:flex;position:absolute;inset:0}.screen.dim{pointer-events:auto;background:#0f1e1480}#menu{justify-content:flex-start;padding-left:max(16px,7vw)}.card{background:var(--paper);text-align:center;border-radius:26px;width:min(360px,100%);max-height:100%;padding:26px 22px 22px;animation:.28s cubic-bezier(.2,1.3,.4,1) pop;overflow-y:auto;box-shadow:0 8px #0000002e,0 24px 60px #0000004d}.card.wide{width:min(430px,100%)}@keyframes pop{0%{opacity:0;transform:translateY(18px)scale(.94)}}h1{font:64px/.88 var(--display);letter-spacing:1px;color:var(--green);text-shadow:0 4px 0 var(--green-dark);margin:0}h1 em{color:var(--gold);text-shadow:0 4px 0 var(--gold-dark);font-style:normal}h2{font:34px/1 var(--display);color:var(--green);margin:0 0 12px}.tagline{color:var(--muted);margin:16px 0 18px;font-size:15px;line-height:1.4}.btn{width:100%;color:var(--ink);font:19px/1.1 var(--display);letter-spacing:.5px;cursor:pointer;background:#e9ecdf;border:0;border-radius:16px;margin-top:10px;padding:13px 16px;transition:transform 60ms,box-shadow 60ms;display:block;box-shadow:0 4px #c5cab8}.btn:active{transform:translateY(3px);box-shadow:0 1px #c5cab8}.btn.primary{background:var(--lime);padding:17px 16px;font-size:26px;box-shadow:0 5px #7fae13}.btn.primary:active{box-shadow:0 2px #7fae13}.btn.chain{background:var(--ink);color:var(--lime);box-shadow:0 4px #000}.btn.small{width:auto;margin:0;padding:10px 14px;font-size:15px}.btn:disabled{opacity:.55;cursor:default}.stats{gap:10px;margin-top:16px;display:flex}.stats>div{background:#f1f3e6;border-radius:14px;flex:1;padding:10px 8px}.stats small{color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.stats strong{font:24px/1.3 var(--display);font-variant-numeric:tabular-nums}.stats .coin{vertical-align:-2px;width:18px;height:18px;margin-right:5px}.hint{color:var(--muted);margin:14px 0 0;font-size:12.5px;line-height:1.5}.big-score{font:72px/1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums}.badge{background:var(--gold);font:14px/1 var(--display);letter-spacing:1px;border-radius:999px;margin:0 0 8px;padding:5px 12px;display:inline-block}.status{color:var(--muted);overflow-wrap:anywhere;margin:10px 0 0;font-size:13px;line-height:1.4}.status.error{color:#c0392b}.status.ok{color:var(--green)}.link,.status a{color:var(--green);font-weight:800}.link{margin-top:12px;font-size:13px;display:block}#board-list{text-align:left;max-height:44vh;margin:12px 0 0;padding:0;list-style:none;overflow-y:auto}#board-list li{border-radius:12px;align-items:center;gap:10px;padding:9px 12px;font-size:15px;display:flex}#board-list li:nth-child(odd){background:#f1f3e6}#board-list li.me{box-shadow:inset 0 0 0 2px var(--lime);background:#e4f7b8}#board-list .rank{width:26px;font:17px/1 var(--display);color:var(--muted)}#board-list li:nth-child(-n+3) .rank{color:var(--gold-dark)}#board-list .who{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:800;overflow:hidden}#board-list .pts{font:18px/1 var(--display);font-variant-numeric:tabular-nums}#name-form{gap:8px;margin-top:14px;display:flex}#name-form input{min-width:0;font:800 15px var(--body);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border:2px solid #d5dac7;border-radius:12px;flex:1;padding:10px 12px}#name-form input:focus{border-color:var(--green);outline:none}#toast{left:50%;bottom:calc(26px + env(safe-area-inset-bottom));background:var(--ink);color:#fff;text-align:center;border-radius:14px;max-width:calc(100% - 32px);padding:11px 18px;font-size:14px;animation:.2s ease-out pop;position:absolute;transform:translate(-50%)}@media (width<=720px){#menu{justify-content:center;align-items:flex-start;padding:62px 16px 16px}#menu .card{padding:20px 18px 16px}h1{font-size:50px}.tagline{margin:10px 0 12px;font-size:14px}#menu .stats,#menu .hint{margin-top:10px}.hud-score{font-size:36px}#network{text-overflow:ellipsis;max-width:44vw;overflow:hidden}}@media (height<=560px){.screen{padding-top:56px}h1{font-size:44px}.big-score{font-size:52px}.hint{display:none}}.power.heat{background:#be281ed9;animation:.5s ease-in-out infinite alternate pulse}.power.heat b{background:#fff}@keyframes pulse{to{background:#f04632f2}}.btn-row{gap:10px;display:flex}.btn-row .btn{flex:1;padding-left:8px;padding-right:8px}#shop{justify-content:flex-start;padding-left:max(16px,7vw)}.shop-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.shop-head h2{margin:0}#shop-grid{grid-template-columns:repeat(3,1fr);gap:10px;max-height:58vh;padding:3px;display:grid;overflow-y:auto}.avatar{cursor:pointer;background:#f1f3e6;border-radius:16px;flex-direction:column;align-items:center;padding:8px 8px 10px;display:flex}.avatar.previewing{box-shadow:0 0 0 3px #c5cab8}.avatar.current{box-shadow:0 0 0 3px var(--lime);background:#e4f7b8}.avatar img{aspect-ratio:5/6;object-fit:contain;pointer-events:none;width:100%}.avatar.locked img{filter:saturate(.75)brightness(.92)}.avatar strong{font:15px/1.1 var(--display);white-space:nowrap;margin:2px 0 8px}.avatar .btn.small{background:#fff;width:100%;padding:8px 4px;font-size:14px}.avatar .btn.buy{background:var(--gold);box-shadow:0 4px 0 var(--gold-dark)}.avatar .btn .coin{vertical-align:-2px;width:15px;height:15px;margin-right:5px}@media (width<=720px){#shop{justify-content:center;align-items:flex-start;padding:62px 16px 16px}#shop-grid{grid-template-columns:repeat(2,1fr);max-height:62vh}}.token-card{text-align:left}.token-card h2,.token-card .tagline{text-align:center}.token-card .tagline{margin:0 0 14px}.token-card h3{font:20px/1 var(--display);color:var(--green);margin:18px 0 8px}.token-status{box-shadow:inset 0 0 0 2px var(--gold);background:#fff3d6;border-radius:14px;padding:12px 14px}.token-status.live{box-shadow:inset 0 0 0 2px var(--lime);background:#e4f7b8}.token-status strong{font:17px/1.2 var(--display)}.token-status p{margin:6px 0 0;font-size:13.5px;line-height:1.45}.token-status small{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:8px;font-size:11px;font-weight:800;display:block}.token-address{align-items:center;gap:8px;margin-top:4px;display:flex}.token-address code{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;flex:1;min-width:0;font:12.5px/1.4 ui-monospace,SF Mono,Consolas,monospace}.token-steps{margin:0;padding-left:20px;font-size:14px;line-height:1.5}.token-steps li+li{margin-top:7px}.token-safety{background:#f1f3e6;border-radius:12px;margin:14px 0 0;padding:10px 12px;font-size:13px;line-height:1.45}.token-card .hint{text-align:left}.sound{position:relative}.sound-panel{background:var(--ink);pointer-events:auto;border-radius:999px;align-items:center;gap:10px;padding:6px 16px 6px 6px;display:flex;position:absolute;top:44px;right:0;box-shadow:0 8px 24px #0000004d}.sound-panel .icon-btn{background:#ffffff1f}.sound-panel input{width:130px;accent-color:var(--lime);cursor:pointer}.sound-panel output{color:#fff;min-width:40px;font:15px/1 var(--display);text-align:right;font-variant-numeric:tabular-nums}@media (width<=720px){.sound{position:static}.sound-panel{left:0;right:0}.sound-panel input{flex:1;width:auto;min-width:0}}.btn.gold{background:var(--gold);box-shadow:0 4px 0 var(--gold-dark)}.btn.gold:active{box-shadow:0 1px 0 var(--gold-dark)}.field{text-align:left;display:block}.field span,.room-label{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.field input,.inline-form input{width:100%;min-width:0;font:800 16px var(--body);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border:2px solid #d5dac7;border-radius:12px;padding:11px 12px}.field input:focus,.inline-form input:focus{border-color:var(--green);outline:none}.or{color:var(--muted);margin:16px 0 8px;font-size:13px}.inline-form{gap:8px;display:flex}.inline-form input{letter-spacing:4px;text-align:center;text-transform:uppercase;flex:1}.room-label{text-align:left}.room-code{background:#f1f3e6;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 8px 16px;display:flex}.room-code strong{font:34px/1 var(--display);letter-spacing:6px;color:var(--green);-webkit-user-select:text;user-select:text}.rank-list{text-align:left;margin:12px 0 0;padding:0;list-style:none}.rank-list li{border-radius:12px;align-items:center;gap:10px;padding:9px 12px;font-size:15px;display:flex}.rank-list li:nth-child(odd){background:#f1f3e6}.rank-list li.me{box-shadow:inset 0 0 0 2px var(--lime);background:#e4f7b8}.rank-list li.out .who,.rank-list li.out .pts{opacity:.55}.rank-list .rank{width:22px;font:17px/1 var(--display);color:var(--muted)}.rank-list .who{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:800;overflow:hidden}.rank-list .tag{color:var(--muted);font-size:12px;font-weight:800}.rank-list .pts{font:17px/1 var(--display);font-variant-numeric:tabular-nums}.race-rank{width:190px;margin-top:10px}.race-rank li,.race-rank li:nth-child(odd){color:#fff;background:#16241ab8;border-radius:10px;gap:7px;margin-top:3px;padding:5px 10px;font-size:13px}.race-rank li.me{box-shadow:none;background:#56820ce6}.race-rank .rank{width:14px;color:var(--lime);font-size:14px}.race-rank .pts{font-size:14px}#hud.racing #btn-pause{display:none}#countdown{font:160px/1 var(--display);color:#fff;text-shadow:0 8px #00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@media (width<=720px){.race-rank{width:160px}#countdown{font-size:120px}}.or.divider{align-items:center;gap:10px;margin-top:18px;display:flex}.or.divider:before,.or.divider:after{content:"";background:#e3e6d6;flex:1;height:2px}#race-entry .inline-form{margin-top:10px}
