:root{--turf-950:#0a1a11;--turf-900:#0f2418;--turf-800:#153322;--turf-700:#1d4430;--turf-600:#2a5c3f;--line:#d6f0c824;--line-strong:#d6f0c847;--text:#eef5e6;--muted:#a9bfae;--go:#8fdc5c;--go-ink:#0f2a12;--go-dim:#2f7a3a;--cash:#ffc83d;--cash-ink:#3a2a00;--danger:#ff8a7a;--danger-bg:#5a2420;--r-lg:14px;--r-md:10px;--r-sm:7px;--shadow:0 10px 30px #00000061;--stripes:repeating-linear-gradient(90deg, #fff0 0 22px, #ffffff0b 22px 44px);--z-hud:3;--z-dock:5;--z-pvp:12;--z-panel:16;--z-modal:25;--z-boot:40;--gap:14px;color:var(--text);font-family:ui-rounded,Nunito,Avenir Next Rounded,Segoe UI,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--turf-900);-webkit-tap-highlight-color:transparent;height:100%;margin:0;overflow:hidden}canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:inherit}h1,h2,h3,h4,p{margin:0}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--go);outline-offset:2px}.money,#cash,.price,.set output{font-variant-numeric:tabular-nums}kbd{text-align:center;min-width:20px;color:var(--muted);background:var(--turf-950);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:6px;padding:3px 6px;font:600 11px/1 ui-monospace,SF Mono,monospace;display:inline-block}.btn{border-radius:var(--r-md);color:var(--go-ink);background:var(--go);cursor:pointer;border:0;padding:8px 14px;font-size:13px;font-weight:700;transition:background .15s,transform 80ms}.btn:hover:not(:disabled){background:#a6e878}.btn:active:not(:disabled){transform:translateY(1px)}.btn.alt{color:var(--text);background:var(--turf-700);box-shadow:inset 0 0 0 1px var(--line-strong)}.btn.alt:hover:not(:disabled){background:var(--turf-600)}.btn.cash{color:var(--cash-ink);background:var(--cash)}.btn.cash:hover:not(:disabled){background:#ffd666}.btn.danger{color:#fff;background:#c4453a}.btn.danger:hover:not(:disabled){background:#d9574b}.btn:disabled{color:var(--muted);background:var(--turf-800);box-shadow:inset 0 0 0 1px var(--line);cursor:not-allowed}.x{border-radius:var(--r-md);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;margin-left:auto;font-size:18px;line-height:1}.x:hover:not(:disabled){color:var(--text);background:var(--turf-700)}input:not([type=range]):not([type=checkbox]),select{width:100%;font:inherit;color:var(--text);background:var(--turf-950);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:9px 11px}input::placeholder{color:#a9bfae99}select{background:var(--turf-950)}.hud-card{top:var(--gap);left:var(--gap);z-index:var(--z-hud);pointer-events:none;background:var(--stripes), var(--turf-800);border:1px solid var(--line);border-radius:var(--r-lg);width:244px;box-shadow:var(--shadow);padding:12px 14px;position:fixed;overflow:hidden}#area{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}#cash{color:var(--cash);margin-top:2px;font-size:34px;font-weight:800;line-height:1.1}#rate{color:var(--muted);margin-top:2px;font-size:13px}#controls{left:var(--gap);bottom:var(--gap);max-width:28vw;color:var(--muted);pointer-events:none;text-shadow:0 1px 3px #000;flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex;position:fixed}#controls span{align-items:center;gap:6px;display:inline-flex}#fps{right:var(--gap);bottom:var(--gap);color:var(--go);background:var(--turf-950);border-radius:var(--r-sm);pointer-events:none;padding:4px 8px;font:600 12px ui-monospace,monospace;position:fixed}#dock{top:var(--gap);right:var(--gap);z-index:var(--z-dock);background:var(--turf-800);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);gap:6px;padding:5px;display:flex;position:fixed}#dock button{cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;align-items:center;gap:7px;padding:8px 11px;font-size:13px;font-weight:700;transition:background .15s;display:flex}#dock button:hover:not(:disabled){background:var(--turf-700)}#dock button.on{background:var(--turf-600);box-shadow:inset 0 -2px 0 var(--go)}#dock button:disabled{opacity:.45;cursor:not-allowed}#dock kbd{padding:2px 5px;font-size:10px}.panel{z-index:var(--z-panel);background:var(--turf-800);border:1px solid var(--line);border-radius:var(--r-lg);width:348px;max-height:calc(100dvh - 96px);box-shadow:var(--shadow);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding:0 0 14px;animation:.14s ease-out pop;position:fixed;overflow-y:auto}@keyframes pop{0%{opacity:0;transform:translateY(-6px)}}#shop,#upgrade,#travel,#build,#pets{top:78px;right:var(--gap)}#settings{width:392px;z-index:var(--z-modal);box-shadow:0 0 0 100vmax #050e0999, var(--shadow);top:50%;left:50%;translate:-50% -50%}#build{max-height:calc(100vh - 96px)}.panel>:not(header){margin-left:14px;margin-right:14px}.panel header,.modal header{align-items:center;gap:8px;display:flex}.panel header>div,.modal header>div{flex:1;min-width:0}.panel header{z-index:1;background:var(--stripes), var(--turf-700);border-bottom:1px solid var(--line);margin:0 0 6px;padding:12px 10px 12px 14px;position:sticky;top:0}.panel h3,.modal h3{flex:1;font-size:18px;font-weight:800;line-height:1.2}.logo-mini{flex:none;width:40px;height:40px}.panel header small{color:var(--muted);margin-top:1px;font-size:12px;font-weight:600;display:block}.panel h4{color:var(--muted);margin:16px 14px 2px;font-size:12px;font-weight:700}.panel .hint,.modal .hint,.panel small.hint{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.45;display:block}.hint:empty{display:none}.item{text-align:left;cursor:pointer;background:var(--turf-700);border-radius:var(--r-md);border:1px solid #0000;align-items:center;gap:12px;width:100%;margin-top:6px;padding:9px 10px;transition:background .15s,border-color .15s;display:flex}.panel>.item{width:calc(100% - 28px)}.item:not(:disabled):hover{background:var(--turf-600);border-color:var(--go)}.item:disabled{cursor:not-allowed}.item:disabled .txt,.item:disabled .ico{opacity:.62}.item .ico{background:var(--turf-900);border-radius:var(--r-sm);flex:none;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.item .txt{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.item .txt b{font-size:14px;line-height:1.25}.item .txt small{color:var(--muted);font-size:12px;line-height:1.35}.item .price{color:var(--muted);background:var(--turf-900);box-shadow:inset 0 0 0 1px var(--line);border-radius:99px;flex:none;padding:4px 10px;font-size:13px;font-weight:800}.item:not(:disabled) .price{color:var(--cash-ink);background:var(--cash);box-shadow:none}.item.done .price{color:var(--go);box-shadow:none;background:0 0}.item.prestige{background:linear-gradient(0deg, #ffc83d17, #ffc83d17), var(--turf-700);border-color:#ffc83d73}.item.prestige:not(:disabled):hover{border-color:var(--cash)}#pbonus{background:var(--turf-700);border-radius:var(--r-md);margin-top:2px;padding:9px 11px;font-size:13px;line-height:1.5}.pet{background:var(--turf-700);border-radius:var(--r-md);box-shadow:inset 4px 0 0 var(--rc,#fff);align-items:center;gap:6px;margin-top:6px;padding:8px 8px 8px 11px;display:flex}.pet .name{flex:1;min-width:0;font-size:13px;line-height:1.4}.pet .name small{color:var(--muted)}.pet .btn{padding:6px 9px;font-size:12px}#scoreboard{width:min(380px, calc(100vw - 2 * var(--gap)));pointer-events:none;top:50%;left:50%;translate:-50% -50%}#scoreboard header small{font-variant-numeric:tabular-nums}#scoreboard header kbd{align-self:center}.sb-cols,.sb-row{grid-template-columns:30px minmax(0,1fr) 84px 96px;align-items:center;gap:8px;display:grid}.sb-cols{color:var(--muted);margin-top:14px;padding:0 10px;font-size:12px;font-weight:700}.sb-row{background:var(--turf-700);border-radius:var(--r-md);margin-top:6px;padding:8px 10px;font-size:13px}.sb-row.me{box-shadow:inset 0 0 0 1px var(--go)}.sb-rank{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.sb-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.sb-row .sb-name small{color:var(--go);font-weight:600}.sb-prestige{text-align:right;color:var(--muted);font-weight:700}.sb-prestige.on{color:var(--text)}.sb-cash{text-align:right;color:var(--cash);font-variant-numeric:tabular-nums;font-weight:800}.sb-cols .sb-cash{color:var(--muted)}.set{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:11px 0;display:grid}.set:first-of-type{border-top:0}.set label{font-size:14px;font-weight:700}.set output{color:var(--cash);text-align:right;font:700 13px ui-monospace,monospace}.set input[type=range]{width:100%;accent-color:var(--go);cursor:pointer;grid-column:1/-1}.set small{color:var(--muted);grid-column:1/-1;font-size:12px;line-height:1.4}.set select{grid-column:1/-1}.switch{appearance:none;cursor:pointer;background:var(--turf-950);width:44px;height:24px;box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:99px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:var(--muted);border-radius:50%;width:18px;height:18px;transition:left .15s,background .15s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--go-dim)}.switch:checked:after{background:#fff;left:23px}.set-foot{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}#build .set select{width:100%}.perk-option{cursor:pointer;background:var(--turf-700);border-radius:var(--r-md);border:1px solid #0000;align-items:flex-start;gap:10px;margin-top:6px;padding:9px 11px;transition:background .15s,border-color .15s;display:flex}.perk-option:has(input:checked){border-color:var(--go);background:#8fdc5c24}.perk-option:has(input:disabled){cursor:not-allowed;opacity:.5}.perk-option input{accent-color:var(--go);flex:none;margin:3px 0 0}.perk-option span{flex-direction:column;gap:2px;display:flex}.perk-option b{font-size:13px}.perk-option small{color:var(--muted);font-size:12px}#save-build{width:calc(100% - 28px);margin-top:14px;padding:10px 14px;font-size:14px}.modal{width:min(500px,100vw - 28px);max-height:calc(100vh - 28px);color:var(--text);background:var(--turf-800);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:0 0 18px;overflow:auto;box-shadow:0 24px 80px #0009}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050e09b8}.modal>:not(header){margin-left:18px;margin-right:18px}.modal header{background:var(--stripes), var(--turf-700);border-bottom:1px solid var(--line);margin-bottom:14px;padding:14px 12px 14px 18px}.modal header small{color:var(--muted);font-size:12px;font-weight:600;display:block}.modal p{color:var(--muted);font-size:13px;line-height:1.5}.modal .row{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.modal form{gap:8px;margin-top:12px;margin-bottom:4px;display:grid}.modal form .row{justify-content:stretch;margin-top:0}.modal form .row .btn{flex:1}.modal>.btn{width:calc(100% - 36px);margin-top:12px;padding:10px 14px;display:block}.modal button:disabled{opacity:.5;cursor:default}#howto h4{color:var(--muted);margin-top:14px;margin-bottom:6px;font-size:12px;font-weight:700}#howto h4 small{color:var(--cash);font-size:11px;font-weight:600}#howto ul{gap:7px;margin-block:0;padding:0;font-size:13px;line-height:1.4;list-style:none;display:grid}#howto li{grid-template-columns:124px 1fr;align-items:center;gap:10px;display:grid}#howto li>span{flex-wrap:wrap;align-items:center;gap:4px;display:flex}#howto>p{margin-top:14px}#signin-err{min-height:1em;color:var(--danger);text-transform:capitalize;margin-top:8px;font-size:13px;display:block}#confirm{width:min(400px,100vw - 28px)}#choose{width:min(560px,100vw - 28px)}#choose .saves{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}#choose section{background:var(--turf-700);border-radius:var(--r-md);flex-direction:column;gap:10px;padding:12px;display:flex}#choose h4{font-size:13px;font-weight:800}#choose dl{grid-template-columns:auto 1fr;gap:6px 10px;margin:0;font-size:13px;display:grid}#choose dt{color:var(--muted)}#choose dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:700}#choose section .btn{margin-top:auto;padding:9px 12px}#rarity-roll{--casino-gold:#e7c782;color:#faf0db;background:radial-gradient(at 50% 0,#234b40,#102c25 70%);border-color:#b6955266;width:min(600px,100vw - 24px);max-height:calc(100dvh - 24px);padding-bottom:18px;box-shadow:0 0 0 4px #0a1915,0 24px 90px #000b}#rarity-roll::backdrop{background:#050c0bd9}#rarity-roll header{z-index:2;background:linear-gradient(120deg,#213d32,#0c211b);border-color:#b6955255;align-items:flex-start;gap:16px;margin-bottom:16px;padding:20px 18px 18px;position:sticky;top:0}#rarity-roll .casino-eyebrow{color:var(--casino-gold);letter-spacing:.18em;text-transform:uppercase;margin-bottom:7px;font-size:10px}#roll-title{letter-spacing:-.025em;font:600 30px/1.1 Georgia,serif}#roll-title span{letter-spacing:.2em;text-transform:uppercase;color:var(--casino-gold);margin-top:5px;font:600 11px/1.3 system-ui,sans-serif;display:block}#roll-close{width:40px;height:40px;color:var(--casino-gold);border:1px solid #e7c78255;border-radius:50%}#roll-close:hover:not(:disabled){background:#e7c78218}.roll-loadout{color:#b6c8bb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;margin-bottom:12px;font-size:11px;display:flex}#roll-mower{color:#faf0db;margin-left:7px;font-size:13px}#roll-current{font-size:11px}#roll-window{border-radius:var(--r-md);background:#061912;border:1px solid #b6955277;padding:16px 0;position:relative;overflow:hidden;box-shadow:inset 0 3px 16px #0009,0 0 0 3px #081d17}#roll-window:after{content:"";pointer-events:none;background:linear-gradient(90deg,#061912c9,#0000 18% 82%,#061912c9);position:absolute;inset:0}#roll-reel{gap:10px;width:max-content;display:flex;position:relative}.roll-card{width:100px;height:124px;color:var(--rc);background:linear-gradient(160deg, color-mix(in srgb, var(--rc) 16%, #16372b), #10271f);border:1px solid color-mix(in srgb, var(--rc) 65%, transparent);border-radius:var(--r-sm);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:8px;display:flex}.roll-card>span{font-size:32px}.roll-card b{font-size:13px}.roll-card small{font-size:11px}.roll-card.winner{box-shadow:0 0 22px color-mix(in srgb, var(--rc) 50%, transparent);border-width:2px}.roll-pointer{z-index:1;background:var(--casino-gold);pointer-events:none;width:2px;position:absolute;inset:0 auto 0 50%;box-shadow:0 0 8px #e7c78299}.roll-pointer:before{content:"";border:7px solid #0000;border-top:10px solid var(--cash);border-bottom:0;position:absolute;top:0;left:-6px}#roll-result{text-align:center;margin-top:18px;font:600 28px/1.15 Georgia,serif}#rarity-roll #roll-detail{text-align:center;color:#b6c8bb;max-width:460px;min-height:34px;margin:8px auto 16px;padding:0 18px;font-size:12px}.roll-odds-label{text-align:center;text-transform:uppercase;letter-spacing:.15em;color:#b6c8bb;margin-bottom:8px;font-size:9px}#roll-odds{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}#roll-odds>div{text-align:center;border:1px solid #b6955222;border-top:2px solid var(--rc);border-radius:var(--r-sm);background:#071d1755;flex-direction:column;gap:4px;padding:9px 2px;display:flex}#roll-odds b{color:var(--rc);font-size:clamp(8px,2.2vw,11px)}#roll-odds span{font-size:17px;font-weight:800}#rarity-roll footer{border-top:1px solid #b6955244;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.roll-guarantee{color:var(--casino-gold);align-items:center;gap:8px;font-size:13px;display:flex}.roll-guarantee>span{font-size:11px}.roll-guarantee small{color:#b6c8bb;margin-top:3px;font-size:10px;display:block}#roll-again{color:#2b210e;background:linear-gradient(#f3daa0,#cda95d);border:1px solid #f5dd9b;flex:1 0 auto;max-width:100%;min-height:42px;margin-left:auto;padding:10px 20px;box-shadow:0 3px 12px #0004}#roll-again:hover:not(:disabled){background:#f4dda8}#roll-again:disabled{color:#a5b7aa;background:#254339;border-color:#b6955244}.roll-note{text-align:center;color:#b6c8bb;margin-top:12px;font-size:11px;line-height:1.45;display:block}@media (height<=600px) and (width>=561px){#rarity-roll{padding-bottom:12px}#rarity-roll header{margin-bottom:10px;padding-top:10px;padding-bottom:10px}#rarity-roll .casino-eyebrow{margin-bottom:4px;font-size:9px}#roll-title{font-size:23px}#roll-title span{margin-top:3px;font-size:9px}.roll-loadout{margin-bottom:10px}#roll-window{padding:8px 0}.roll-card{gap:5px;height:84px}.roll-card>span{font-size:24px}#roll-result{margin-top:10px;font-size:23px}#rarity-roll #roll-detail{min-height:0;margin-top:6px;margin-bottom:10px}.roll-odds-label{margin-bottom:6px}#roll-odds>div{gap:2px;padding-top:6px;padding-bottom:6px}#rarity-roll footer{margin-top:10px;padding-top:10px}.roll-note{margin-top:8px}}#prompt,#toast{text-align:center;white-space:nowrap;background:var(--turf-800);border:1px solid var(--line-strong);box-shadow:var(--shadow);pointer-events:none;z-index:var(--z-hud);border-radius:99px;padding:8px 16px;font-size:14px;font-weight:700;position:fixed;left:50%;transform:translate(-50%)}#prompt{bottom:286px}#toast{border-color:var(--cash);bottom:334px}#prompt:empty,#toast:empty{display:none}#guest-banner{top:var(--gap);z-index:var(--z-panel);white-space:nowrap;background:var(--turf-800);box-shadow:var(--shadow);border:1px solid #ffc83d8c;border-radius:99px;align-items:center;gap:10px;padding:5px 5px 5px 14px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%)}#guest-banner .btn{padding:6px 12px}#msg{z-index:var(--z-boot);color:var(--text);background:#0a1a11eb;place-items:center;font-size:20px;font-weight:700;display:grid;position:fixed;inset:0}#hotbar{left:50%;bottom:var(--gap);z-index:var(--z-hud);background:var(--turf-800);border:1px solid var(--line);border-radius:var(--r-lg);width:max-content;max-width:calc(100vw - 28px);box-shadow:var(--shadow);scrollbar-width:none;gap:5px;padding:5px;display:flex;position:fixed;overflow-x:auto;transform:translate(-50%)}#hotbar button{--rc:var(--line-strong);cursor:pointer;background:var(--turf-700);border-radius:var(--r-md);border:2px solid #0000;flex-direction:column;flex:none;align-items:center;gap:1px;width:68px;padding:7px 4px 5px;transition:background .15s,border-color .15s;display:flex;position:relative}#hotbar button:disabled{cursor:default;opacity:.35}#hotbar button:not(:disabled):hover{background:var(--turf-600)}#hotbar button.on{background:var(--turf-600);border-color:var(--rc);box-shadow:0 0 12px color-mix(in srgb, var(--rc) 45%, transparent)}#hotbar kbd{background:0 0;border-color:#0000;min-width:0;padding:1px 4px;font-size:10px;position:absolute;top:3px;left:3px}#hotbar .ico{font-size:20px;line-height:1.3}#hotbar small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--muted);font-size:10px;font-weight:600;overflow:hidden}#hotbar button.on small{color:var(--rc)}#menu{z-index:30;overscroll-behavior:contain;height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));background:var(--stripes), radial-gradient(ellipse at 50% 30%, #2f7a3a 0%, var(--turf-900) 72%);display:flex;position:fixed;inset:0;overflow-y:auto}body:has(#menu)>:not(#menu):not(canvas):not(script){visibility:hidden}#menu.preview-ready{background:radial-gradient(#0a1a1114 20%,#050e0999 100%)}#menu:before{content:"";background:var(--turf-950);opacity:var(--tour-fade,0);pointer-events:none;position:absolute;inset:0}#menu main{background:var(--turf-800);border:1px solid var(--line-strong);border-radius:var(--r-lg);flex:none;gap:12px;width:min(380px,92vw);margin:auto;padding:0 0 22px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 80px #0000008c}#menu main>*{margin:0 24px}#menu h1{letter-spacing:-.01em;color:var(--cash);background:var(--stripes), var(--turf-700);border-bottom:1px solid var(--line);margin:0 0 -4px;padding:26px 24px 4px;font-size:42px;font-weight:900;line-height:1.05}#menu .logo{width:min(300px,100%);height:auto;margin:0 auto;display:block}#menu .tag{color:var(--muted);margin-top:2px;font-size:14px}#menu label{gap:5px;font-size:13px;font-weight:700;display:grid}#menu label .note{color:var(--muted);font-size:12px;font-weight:400;line-height:1.4}#menu input:focus-visible{outline:2px solid var(--go);outline-offset:0}#menu .play{padding:13px;font-size:18px;font-weight:800}#m-user{color:var(--muted);gap:8px;font-size:13px;display:grid}#m-user b{color:var(--text)}#m-uform{gap:8px;display:flex}#menu section,#m-email{gap:8px;display:grid}#m-auth{border-top:1px solid var(--line);padding-top:14px}#m-auth h4{color:var(--muted);font-size:12px;font-weight:700}#m-email{grid-template-columns:1fr 1fr}#m-email input{grid-column:1/-1}#m-err{min-height:1em;color:var(--danger);text-transform:capitalize;font-size:13px}.pvp-hud{z-index:var(--z-pvp);text-align:center;pointer-events:none;width:min(360px,85vw);position:fixed;bottom:112px;left:50%;transform:translate(-50%)}#combat-status{color:var(--text);text-shadow:0 1px 4px #000;margin:6px 0;font-size:12px;font-weight:700}.vital{pointer-events:auto;border:1px solid var(--line-strong);background:#0a1a11d1;border-radius:6px;height:16px;margin:3px 0;position:relative;overflow:hidden}.vital i{background:linear-gradient(90deg,#c8473d,#f0806f);height:100%;transition:width .12s;display:block}.vital.shield{height:10px}.vital.shield i{background:linear-gradient(90deg,#2f9cc9,#86dcff)}.vital span{color:#fff;text-shadow:0 1px 2px #000;opacity:0;font-size:11px;font-weight:700;line-height:14px;position:absolute;inset:0}.vital:hover span,.vital.low span{opacity:1}.vital.regenerating i{animation:1.4s ease-in-out infinite regen-pulse}@keyframes regen-pulse{50%{filter:brightness(1.4)}}.ability-row{pointer-events:auto;background:var(--turf-800);border:1px solid var(--line);border-radius:var(--r-lg);width:max-content;max-width:100%;box-shadow:var(--shadow);justify-content:center;gap:5px;margin:6px auto 0;padding:5px;display:flex}.ability-row button{--tile:var(--turf-700);white-space:nowrap;cursor:pointer;background:conic-gradient(#0a1a1199 var(--cooldown,0deg), transparent 0) var(--tile);border-radius:var(--r-md);border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:72px;padding:6px 4px;font-size:12px;font-weight:700;line-height:1.1;transition:background-color .15s;display:flex}.ability-row button:not(:disabled):hover{--tile:var(--turf-600)}.ability-row button:disabled{opacity:.4;cursor:default}.ability-row kbd{min-width:0;padding:2px 4px;font-size:10px}.player-tag{z-index:10;text-align:center;color:#fff;border-radius:var(--r-sm);pointer-events:none;background:#0a1a11c7;min-width:88px;max-width:180px;padding:4px 8px;font-size:11px;position:fixed;top:0;left:0;transform:translate(-50%,-100%)}.player-tag b{text-shadow:0 1px 2px #000;display:block}.player-tag small{color:var(--cash);font-size:10px;display:block}.player-tag.protected{outline:1px solid #91e6ff}.player-tag.holding{box-shadow:0 0 0 2px var(--cash);background:#0a1a11e6}.player-tag.holding:before{content:"";background:conic-gradient(var(--cash) var(--hold), var(--turf-700) 0);border-radius:50%;width:22px;height:22px;position:absolute;top:3px;left:-12px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 0);mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 0)}.mini-health,.mini-shield{background:#00000073;border-radius:3px;height:4px;margin:3px 0;display:none;overflow:hidden}.pvp .mini-health,.pvp .mini-shield{display:block}.mini-health i,.mini-shield i{background:#ea6b71;height:100%;display:block}.mini-shield i{background:#6ccefb}.damage-number{z-index:30;color:#ffd8ce;text-shadow:0 1px 4px #000;pointer-events:none;font-size:21px;font-weight:800;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.damage-number.shield-hit{color:#8de0ff}.hit-marker{z-index:31;pointer-events:none;width:30px;height:30px;animation:.45s ease-out forwards hit-pop;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.hit-marker:before,.hit-marker:after{content:"";background:#fff;border-radius:2px;width:4px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 0 0 1px #000a,0 0 8px #fff8}.hit-marker:after{transform:translate(-50%)rotate(-45deg)}@keyframes hit-pop{0%{opacity:1;scale:.5}35%{scale:1.25}to{opacity:0;scale:1}}.damage-flash{z-index:28;opacity:0;pointer-events:none;position:fixed;inset:0;box-shadow:inset 0 0 90px 18px #f0333373}.damage-flash.hit{animation:.45s ease-out damage-hit}@keyframes damage-hit{0%{opacity:1}to{opacity:0}}.kill-feed{top:84px;right:var(--gap);z-index:15;pointer-events:none;max-width:min(380px,65vw);position:fixed}.kill-row{color:var(--cash);background:var(--turf-800);border:1px solid var(--line);border-radius:var(--r-md);margin:5px 0;padding:8px 12px;font-size:12px;font-weight:600}.death-screen{z-index:35;text-align:center;color:#fff;pointer-events:auto;background:#0a1a11c7;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;inset:0}.death-screen h2{font-size:38px;font-weight:900}.death-screen p{color:var(--text);font-size:20px}.death-screen small{color:var(--cash);font-size:14px}@media (width<=1100px){#dock button span.lbl,#controls{display:none}#guest-banner{top:72px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}#stick,#use{display:none}body.touch{--controls-h:0px;--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.touch #stick{left:calc(var(--gap) + 10px + var(--safe-l));bottom:calc(var(--gap) + 10px + var(--safe-b));z-index:var(--z-hud);touch-action:none;border:2px solid var(--line-strong);background:radial-gradient(circle,#0f24188c 0 58%,#0f24184d 100%);border-radius:50%;width:132px;height:132px;display:block;position:fixed}body.touch #stick .knob{background:var(--turf-600);border:2px solid var(--go);pointer-events:none;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%;box-shadow:0 4px 12px #0006}body.touch #stick.held{border-color:var(--go)}body.touch #stick.held .knob{background:var(--go-dim)}body.touch #use{right:calc(var(--gap) + 14px + var(--safe-r));bottom:calc(var(--gap) + 24px + var(--safe-b));z-index:var(--z-hud);touch-action:none;width:76px;height:76px;color:var(--go-ink);background:var(--go);border:0;border-radius:50%;place-items:center;padding:0;font-size:16px;font-weight:800;display:grid;position:fixed;box-shadow:0 6px 18px #00000073}body.touch #use:active{background:#a6e878;transform:scale(.96)}body.touch #hotbar kbd,body.touch #controls,body.touch #dock kbd,body.touch #dock .keys,body.touch .ability-row kbd,body.touch .panel header>kbd{display:none}body.touch .x{width:40px;height:40px}body.touch #dock button{padding:10px 12px}body.touch .btn,body.touch .ability-row button{min-height:40px}body.touch input[type=range]{height:32px}body.touch input:not([type=range]):not([type=checkbox]),body.touch select{font-size:16px}@media (width>=561px){body.touch #hotbar{max-width:calc(100vw - 2 * (var(--gap) + 170px));bottom:calc(var(--gap) + var(--safe-b))}body.touch .pvp-hud{bottom:calc(96px + var(--safe-b))}body.touch #prompt{top:72px;bottom:auto}body.touch #toast{top:112px;bottom:auto}}@media (width<=560px){:root{--gap:10px;--rail:52px}body.touch{--controls-h:148px}body.touch #stick{width:112px;height:112px}body.touch #stick .knob{width:48px;height:48px;margin:-24px 0 0 -24px}body.touch #use{width:68px;height:68px;bottom:calc(var(--gap) + 20px + var(--safe-b))}.hud-card{width:min(calc(100vw - 2 * var(--gap) - var(--rail) - 8px), 240px);padding:8px 12px}#area{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#cash{font-size:26px}#rate{margin-top:0;font-size:12px}#dock{flex-direction:column;gap:4px;padding:4px}#dock button{justify-content:center;width:42px;height:42px;padding:0;font-size:18px}#dock kbd,#dock .keys{display:none}.panel,#shop,#upgrade,#travel,#build,#pets,#settings{left:var(--gap);right:var(--gap);top:auto;bottom:calc(var(--gap) + env(safe-area-inset-bottom,0px));width:auto;max-height:min(74dvh, calc(100dvh - 2 * var(--gap) - 40px));translate:none}#settings{z-index:var(--z-modal)}#hotbar{left:var(--gap);right:var(--gap);bottom:calc(var(--gap) + var(--controls-h,0px));width:auto;max-width:none;transform:none}#hotbar button{width:46px;padding:6px 2px}#hotbar small{display:none}.pvp-hud{top:calc(var(--gap) + 84px);bottom:auto;left:var(--gap);width:calc(100vw - 2 * var(--gap) - var(--rail) - 8px);max-width:240px;transform:none}.player-tag{font-size:10px}.kill-feed{top:calc(var(--gap) + 292px);right:var(--gap);max-width:60vw}#prompt,#toast,#guest-banner{left:var(--gap);max-width:calc(100vw - 2 * var(--gap) - var(--rail) - 8px);white-space:normal;text-align:left;border-radius:var(--r-md);transform:none}#guest-banner{white-space:nowrap;top:214px}#prompt{top:214px;bottom:auto}#toast{top:260px;bottom:auto}body:has(#guest-banner:not([hidden])) #prompt{top:240px}body:has(#guest-banner:not([hidden])) #toast{top:286px}#choose .saves{grid-template-columns:1fr}}@media (height<=760px){#menu main{gap:8px}#menu h1{padding:16px 24px 4px;font-size:34px}#menu .logo{width:min(240px,100%)}#menu .tag{margin-top:0}#menu input:not([type=checkbox]){padding:7px 10px}#menu .btn{padding:8px 12px}#menu .play{padding:10px;font-size:16px}#m-auth{padding-top:10px}#m-auth section,#m-email{gap:6px}}@media (height<=600px){#menu .tag,#menu label .note{display:none}#menu h1{padding:12px 24px 2px;font-size:28px}#menu .logo{width:180px}}#attack{display:none}body.touch #attack{right:calc(var(--gap) + 10px + var(--safe-r));bottom:calc(var(--gap) + 10px + var(--safe-b));z-index:var(--z-hud);touch-action:none;-webkit-user-select:none;user-select:none;color:#f0bd78;background:radial-gradient(circle,#715631 0 60%,#332b1bcc 100%);border:2px solid #f0bd78;border-radius:50%;place-items:center;width:112px;height:112px;padding:0;font-size:16px;font-weight:800;display:grid;position:fixed;box-shadow:0 6px 18px #00000073}body.touch #attack:active,body.touch #attack.held{background:#8a6b3c;transform:scale(.96)}body.touch #use{bottom:calc(var(--gap) + 154px + var(--safe-b))}body.touch .ability-row{right:calc(var(--gap) + 150px + var(--safe-r));bottom:calc(var(--gap) + 24px + var(--safe-b));z-index:var(--z-hud);flex-direction:column;align-items:flex-end;gap:8px;margin:0;position:fixed}body.touch #jolt-ability{display:none}body.touch .ability-row button{min-height:44px}@media (width<=560px){body.touch .ability-row{right:calc(var(--gap) + 130px + var(--safe-r))}body.touch #use{top:calc(var(--gap) + 300px);bottom:auto;right:var(--gap);border-radius:var(--r-md);width:52px;height:44px;font-size:13px}.pvp-hud{left:var(--gap);width:min(300px, calc(100vw - 2 * var(--gap) - var(--rail) - 8px));transform:none}}#creator{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);background:var(--turf-900);border:0;margin:0;padding:0}#creator[open]{grid-template-columns:minmax(0,1fr) minmax(340px,460px);display:grid}#creator::backdrop{background:var(--turf-950)}#cc-stage{cursor:grab;touch-action:none;background:radial-gradient(ellipse at 50% 38%, #2f6b49 0%, var(--turf-800) 55%, var(--turf-950) 100%);min-width:0;min-height:0;position:relative;overflow:hidden}#cc-stage:active{cursor:grabbing}#cc-stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.cc-hint{text-align:center;color:var(--muted);pointer-events:none;font-size:12px;font-weight:600;position:absolute;bottom:18px;left:0;right:0}.cc-turn{gap:8px;display:flex;position:absolute;bottom:42px;left:50%;transform:translate(-50%)}.cc-turn .btn{width:42px;padding:6px 0;font-size:18px;line-height:1}#cc-panel{background:var(--turf-800);border-left:1px solid var(--line-strong);flex-direction:column;min-height:0;display:flex}#cc-panel header{background:var(--stripes), var(--turf-700);border-bottom:1px solid var(--line);padding:18px 18px 14px}#cc-panel h2{font-size:20px}#cc-panel header p{color:var(--muted);margin-top:4px;font-size:13px}#cc-tabs{border-bottom:1px solid var(--line);gap:4px;padding:10px 12px 0;display:flex}#cc-tabs button{color:var(--muted);cursor:pointer;border-radius:var(--r-sm) var(--r-sm) 0 0;background:0 0;border:0;border-bottom:3px solid #0000;flex:1;padding:8px 4px 9px;font-size:13px;font-weight:700}#cc-tabs button:hover{color:var(--text);background:var(--turf-700)}#cc-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--go)}#cc-body{flex:1;min-height:0;padding:14px 18px 8px;overflow:auto}#cc-options{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}#cc-options button{text-align:center;cursor:pointer;background:var(--turf-700);border-radius:var(--r-md);border:2px solid #0000;min-height:44px;padding:8px;font-size:13px;font-weight:700;line-height:1.2;transition:background .15s,border-color .15s}#cc-options button:hover{background:var(--turf-600)}#cc-options button[aria-pressed=true]{border-color:var(--go);background:var(--turf-600)}#cc-body h4{color:var(--muted);margin:18px 0 8px;font-size:12px;font-weight:700}#cc-colors{flex-wrap:wrap;gap:8px;display:flex}#cc-colors button{cursor:pointer;border:2px solid var(--line-strong);border-radius:50%;width:36px;height:36px;box-shadow:inset 0 0 0 2px #00000038}#cc-colors button:hover{transform:scale(1.08)}#cc-colors button[aria-pressed=true]{box-shadow:0 0 0 2px var(--go), inset 0 0 0 2px #00000038;border-color:#fff}#cc-panel footer{border-top:1px solid var(--line);background:var(--turf-800);padding:12px 18px 16px}#cc-actions{gap:8px;display:flex}#cc-actions .btn{flex:1;padding:11px 12px;font-size:14px}#cc-confirm p{color:var(--text);font-size:13px;line-height:1.45}#cc-confirm .row{gap:8px;margin-top:10px;display:flex}#cc-confirm .btn{flex:1;padding:11px 12px}#cc-err{min-height:0;color:var(--danger);margin-top:8px;font-size:12px;display:block}#cc-err:empty{display:none}@media (width<=760px),(orientation:portrait){#creator[open]{grid-template-rows:minmax(0,40%) minmax(0,60%);grid-template-columns:1fr}#cc-panel{border-left:0;border-top:1px solid var(--line-strong)}#cc-panel header{padding:10px 14px}#cc-panel h2{font-size:17px}#cc-panel header p,.cc-hint{display:none}.cc-turn{bottom:10px}}@media (prefers-reduced-motion:reduce){#cc-colors button{transition:none}}
