@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-devanagari-500-normal-Ddzk8H1G.woff2)format("woff2"),url(./baloo-2-devanagari-500-normal-BGpOhOmM.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-vietnamese-500-normal-Cj5RGu3k.woff2)format("woff2"),url(./baloo-2-vietnamese-500-normal-ClyrcyJC.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-latin-ext-500-normal-Ba7mhTsk.woff2)format("woff2"),url(./baloo-2-latin-ext-500-normal-D1XZow3C.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-latin-500-normal-CmLZ27r7.woff2)format("woff2"),url(./baloo-2-latin-500-normal-BSdEhq8m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-devanagari-700-normal-D37Te3iF.woff2)format("woff2"),url(./baloo-2-devanagari-700-normal-CEIF4sJg.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-vietnamese-700-normal-h4tlcePq.woff2)format("woff2"),url(./baloo-2-vietnamese-700-normal-DoF59Mjc.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-latin-ext-700-normal-Mlh7kdab.woff2)format("woff2"),url(./baloo-2-latin-ext-700-normal-D6LeXASg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-latin-700-normal-CqTg7A15.woff2)format("woff2"),url(./baloo-2-latin-700-normal-Ld3Zm3l2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-devanagari-800-normal-BURIY0wZ.woff2)format("woff2"),url(./baloo-2-devanagari-800-normal-YLp1oUqR.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-vietnamese-800-normal-ConLnEgt.woff2)format("woff2"),url(./baloo-2-vietnamese-800-normal-GQACmpuv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-latin-ext-800-normal-C_Iwmf1s.woff2)format("woff2"),url(./baloo-2-latin-ext-800-normal-D-iCxxqE.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(./baloo-2-latin-800-normal-B8BXfZF7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display:"Baloo 2", "Nunito Variable", system-ui, sans-serif;--font-body:"Nunito Variable", system-ui, sans-serif;--ink:#2b2530;--paper:#f6efe3;--paper-dim:#d9cfbf;--panel:#1e1b26e6;--panel-2:#2c2838f0;--panel-line:#f6efe31f;--chip:#1e1a26c7;--chip-line:#f6efe324;--wood:#c98a55;--stone:#b9b6ad;--gold:#f0b640;--teal:#46b3a8;--danger:#e0574f;--good:#8ccf6a;--accent:#ff9f4a;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--bar-h:72px;--bar-top:calc(6px + var(--safe-t));--bar-bottom:calc(var(--bar-top) + var(--bar-h))}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button,input{-webkit-appearance:none;appearance:none}html,body{width:100%;height:100%;font-family:var(--font-body);color:var(--paper);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;background:#1b1a24;margin:0;padding:0;overflow:hidden}#game{position:fixed;top:0;bottom:0;left:0;right:0}#game canvas{width:100%;height:100%;display:block}#ui{pointer-events:none;font-size:14px;position:fixed;top:0;bottom:0;left:0;right:0}.screen,.hud-top,.hud-bottom,.joystick,.action-btn,.tool-btn,.upgrade{pointer-events:auto}.panel{background:var(--panel);border:1px solid var(--panel-line);border-radius:14px;box-shadow:0 6px 18px #00000059}.btn{font-family:var(--font-display);letter-spacing:.3px;color:var(--ink);background:linear-gradient(180deg, #ffd27a, var(--gold));cursor:pointer;border:0;border-bottom:4px solid #a3731a;border-radius:14px;padding:12px 26px;font-size:18px;font-weight:700;transition:transform 60ms,filter .1s}.btn:active,.btn.pressed{border-bottom-width:2px;transform:translateY(2px)}.btn.secondary{color:var(--paper);background:linear-gradient(#4a445c,#35304a);border-bottom-color:#1e1a2b}.btn.danger{color:#fff;background:linear-gradient(180deg, #ef7a70, var(--danger));border-bottom-color:#8f2e29}.btn:disabled{filter:grayscale(.7)brightness(.7);cursor:default}h1,h2,h3{font-family:var(--font-display);margin:0}.hud-top{top:var(--bar-top);left:calc(8px + var(--safe-l));right:calc(8px + var(--safe-r));display:flex;position:absolute}.top-bar{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:14px;flex-direction:column;flex:1;justify-content:center;gap:1px;min-width:0;min-height:72px;padding:3px 4px 4px 9px;font-weight:700;display:flex;overflow:hidden}.tb-row{align-items:center;gap:6px;min-width:0;display:flex}.tb-row1{min-height:40px}.tb-row2{min-height:24px}.tb-res{flex:none;align-items:center;gap:9px;display:flex}.res{align-items:center;gap:5px;font-size:14px;display:flex}.res .dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:10px;height:10px}.res .dot.wood{background:var(--wood)}.res .dot.stone{background:var(--stone)}.res .dot.gold{background:var(--gold)}.res .dot.pop{background:var(--teal)}.res .v{text-align:right;min-width:26px}.res .v.flash{animation:.35s flash}@keyframes flash{0%{color:#fff;transform:scale(1.18)}to{color:inherit;transform:scale(1)}}.tb-wave{flex:auto;align-items:baseline;gap:5px;min-width:68px;display:flex;overflow:hidden}.tb-wave .label{letter-spacing:1.2px;text-transform:uppercase;opacity:.7;flex:none;font-size:10px;font-weight:800}.tb-wave .value{font-family:var(--font-display);flex:none;font-size:17px;font-weight:800}.tb-wave .sub{opacity:.8;text-overflow:ellipsis;min-width:0;font-size:11px;font-weight:700;overflow:hidden}.tb-wave .sub:not(:empty):before{content:"· ";opacity:.55}.tb-wave.night .value{color:#b9a8ff}.tb-wave.day .value{color:#ffd27a}.tb-room{border-left:1px solid var(--panel-line);letter-spacing:.6px;flex:none;align-items:center;gap:7px;padding-left:7px;font-size:12px;display:flex;overflow:hidden}.tb-room .chip-text{align-items:center;gap:7px;min-width:0;display:flex}.tb-room b{text-overflow:ellipsis;font-family:var(--font-display);color:var(--gold);letter-spacing:1.4px;overflow:hidden}.tb-room .people{font-variant-numeric:tabular-nums;opacity:.85;letter-spacing:0}.tb-room .dim{opacity:.5}.tb-room .ms{font-variant-numeric:tabular-nums;opacity:.55;letter-spacing:0}.tb-room .people canvas{vertical-align:-2px;margin-left:3px}.tb-btns{flex:none;align-items:center;gap:2px;margin-left:auto;display:flex}.tb-btns .icon-btn{box-shadow:none;background:0 0;border:0}.tb-btns .icon-btn.pressed,.tb-btns .icon-btn:active{background:#ffffff1f}.tb-btns .icon-btn.alert{background:#f0b6404d}.tb-btns .icon-btn canvas{display:block}.ramp-tag{top:calc(var(--bar-bottom) + 6px);letter-spacing:.4px;color:var(--good);white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:2px 9px;font-size:11px;font-weight:800;display:flex;position:absolute;left:50%;transform:translate(-50%)}.ramp-tag canvas{display:block}.ramp-tag[hidden]{display:none}.pause-glyph{border-left:4px solid var(--paper);border-right:4px solid var(--paper);width:12px;height:14px;display:block}.x-glyph,.check-glyph{vertical-align:middle;display:inline-block}.x-glyph{width:11px;height:11px;position:relative}.x-glyph:before,.x-glyph:after{content:"";background:currentColor;border-radius:1px;width:100%;height:2px;position:absolute;top:45%;left:0}.x-glyph:before{transform:rotate(45deg)}.x-glyph:after{transform:rotate(-45deg)}.check-glyph{border-bottom:2px solid;border-right:2px solid;width:6px;height:10px;margin:-3px 2px 0 1px;transform:rotate(40deg)}.tut-icon canvas{display:block}.ramp-tag canvas{vertical-align:-1px;margin-right:2px}.ramp-tag .v{vertical-align:middle}.crown .ico,.chip-btn .ico,.chip-btn canvas{vertical-align:-2px}.chip-btn canvas{display:inline-block}.tool-btn canvas{width:30px;height:30px;transform:rotate(-35deg)}.tool-row{align-items:center;gap:8px;display:inline-flex}.tool-row>span:last-child{flex-direction:column;line-height:1.15;display:flex}.tool-row>span:last-child>span{font-size:11px!important}.tool-ico canvas{vertical-align:middle;width:26px;height:26px;transform:rotate(-35deg)}.icon-btn{cursor:pointer;width:40px;height:40px;color:var(--paper);border-radius:12px;place-items:center;font-size:18px;display:grid}.hud-bottom{left:calc(10px + var(--safe-l));right:calc(10px + var(--safe-r));bottom:calc(8px + var(--safe-b));flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.bars{align-items:center;gap:10px;width:min(420px,100%);display:flex}.bar{border:2px solid var(--ink);background:#00000073;border-radius:9px;flex:1;height:16px;position:relative;overflow:hidden}.bar>i{transform-origin:0;transition:transform .15s;position:absolute;top:0;bottom:0;left:0;right:0}.bar.hp>i{background:linear-gradient(#a6e38a,#63b843)}.bar.stash>i{background:linear-gradient(#ffd27a,#e5a12f)}.bar>b{letter-spacing:1.2px;color:#fff;text-shadow:0 1px 2px #000000b3;place-items:center;font-size:10px;font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.build-bar{scrollbar-width:none;gap:6px;max-width:100%;padding:6px;display:flex;overflow-x:auto}.build-bar::-webkit-scrollbar{display:none}.build-slot{cursor:pointer;background:#ffffff0f;border:2px solid #0000;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;width:60px;height:74px;padding-top:6px;transition:background .1s,border-color .1s,opacity .15s;display:flex;position:relative}.build-slot canvas{image-rendering:auto;width:30px;height:30px}.build-slot .name{letter-spacing:.3px;opacity:.9;white-space:nowrap;font-size:9px;font-weight:800}.build-slot .slot-cost{white-space:nowrap;opacity:.85;min-height:11px;font-size:9px;font-weight:800}.build-slot .slot-cost .cost{gap:4px;font-size:9px}.build-slot .slot-cost .cost i{border-width:1px;width:6px;height:6px}.build-slot .slot-cost .no{color:var(--danger)}.build-slot .key{opacity:.5;font-size:9px;font-weight:800;position:absolute;top:2px;left:5px}.build-slot .cnt{opacity:.6;font-size:9px;font-weight:800;position:absolute;top:2px;right:5px}.build-slot.selected{border-color:var(--gold);background:#f0b64038}.build-slot.pressed{background:#ffffff24}.build-bar{touch-action:pan-x}.build-slot .lock{opacity:.85;align-items:center;gap:3px;display:inline-flex}.lock-glyph{background:currentColor;border-radius:1.5px;flex:none;width:7px;height:6px;margin-top:3px;position:relative}.lock-glyph:before{content:"";border:1.5px solid;border-bottom:0;border-radius:3px 3px 0 0;width:5px;height:5px;position:absolute;top:-4px;left:1px}.build-slot.locked{opacity:.4}.build-slot.locked canvas,.build-slot.poor canvas,.build-slot.maxed canvas{filter:grayscale()brightness(.7)}.build-slot.poor{opacity:.6}.build-slot.poor .name,.build-slot.maxed .cnt{color:var(--danger)}body:not(.touch) .touch-only,body.touch .mouse-only{display:none!important}.joystick{left:calc(26px + var(--safe-l));bottom:calc(110px + var(--safe-b));touch-action:none;background:#1e1b2673;border:2px solid #f6efe326;border-radius:50%;width:130px;height:130px;position:absolute}.joystick .knob{border:3px solid var(--ink);background:radial-gradient(circle at 40% 35%,#fff4df,#d9cfbf 70%);border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%;box-shadow:0 4px 10px #0006}.action-btn{right:calc(26px + var(--safe-r));bottom:calc(118px + var(--safe-b));border:4px solid var(--ink);width:92px;height:92px;font-family:var(--font-display);color:var(--ink);touch-action:none;background:radial-gradient(circle at 40% 35%,#ffd27a,#e5a12f 75%);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid;position:absolute;box-shadow:0 6px 14px #00000073}.action-btn:active,.action-btn.down{filter:brightness(1.1);transform:scale(.94)}.action-btn .hit-label,.action-btn .auto-pill{grid-area:1/1}.action-btn .auto-pill{background:var(--ink);color:#ffd27a;letter-spacing:1.4px;border-radius:999px;padding:2px 7px;font-size:12px;display:none}.action-btn .auto-ring{opacity:0;pointer-events:none;border:3px solid #f0b640d9;border-radius:50%;position:absolute;top:-9px;bottom:-9px;left:-9px;right:-9px}.action-btn.auto .hit-label{display:none}.action-btn.auto .auto-pill{display:block}.action-btn.auto .auto-ring{animation:1.4s ease-out infinite autoRing}@keyframes autoRing{0%{opacity:.9;transform:scale(.88)}to{opacity:0;transform:scale(1.16)}}.action-btn .auto-burst{opacity:0;pointer-events:none;border:3px solid #f6efe3e6;border-radius:50%;position:absolute;top:-6px;bottom:-6px;left:-6px;right:-6px}.action-btn.arming{animation:.35s cubic-bezier(.22,1.4,.4,1) both autoArm}.action-btn.arming .auto-burst{animation:.35s ease-out both autoBurst}.action-btn.disarming{animation:.35s ease-out both autoDisarm}@keyframes autoArm{0%{transform:scale(.9)}45%{filter:brightness(1.3);transform:scale(1.14)}to{transform:scale(1)}}@keyframes autoBurst{0%{opacity:.95;border-color:#f6efe3f2;transform:scale(.82)}70%{border-color:#f0b640b3}to{opacity:0;border-color:#f0b64000;transform:scale(2.1)}}@keyframes autoDisarm{0%{transform:scale(1)}40%{filter:brightness(.85);transform:scale(.9)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.action-btn.arming,.action-btn.disarming,.action-btn.arming .auto-burst,.action-btn.auto .auto-ring{animation:none}}.tool-btn{right:calc(134px + var(--safe-r));bottom:calc(132px + var(--safe-b));width:54px;height:54px;color:var(--paper);touch-action:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:22px;display:flex;position:absolute}.tool-btn.pressed{filter:brightness(1.35)}.tool-btn .tool-ico-slot{line-height:0}.tool-btn .tool-pips{gap:2px;height:4px;display:flex}.tool-btn .tool-pips i{background:var(--gold);border-radius:50%;width:3px;height:3px}.upgrade{left:50%;bottom:calc(180px + var(--safe-b));flex-direction:column;gap:8px;width:min(360px,100% - 20px);padding:12px 14px;display:flex;position:absolute;transform:translate(-50%)}.upgrade .head{justify-content:space-between;align-items:baseline;display:flex}.upgrade .head h3{font-size:20px;font-weight:800}.upgrade .tier{color:var(--gold);letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:800}.upgrade .stats{grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px;display:grid}.upgrade .stats div{opacity:.9;justify-content:space-between;gap:6px;display:flex}.upgrade .stats b{font-variant-numeric:tabular-nums}.upgrade .stats .up{color:var(--good);font-weight:800}.upgrade .row{gap:8px;display:flex}.upgrade .row .btn{flex:1;padding:9px 10px;font-size:15px}.cost{gap:8px;font-size:12px;font-weight:800;display:inline-flex}.cost span{align-items:center;gap:4px;display:inline-flex}.cost i{border:1.5px solid var(--ink);border-radius:50%;width:9px;height:9px;display:inline-block}.cost .w i{background:var(--wood)}.cost .s i{background:var(--stone)}.cost .g i{background:var(--gold)}.cost .no{color:var(--danger)}.toast-wrap{left:50%;top:max(30%, calc(var(--bar-bottom) + 12px));pointer-events:none;flex-direction:column;align-items:center;gap:6px;max-width:min(520px,100% - 40px);display:flex;position:absolute;transform:translate(-50%)}.toast{font-family:var(--font-display);color:var(--paper);text-shadow:0 2px 4px #0009;padding:8px 18px;font-size:18px;font-weight:800;animation:1.8s forwards toast}.toast.big{color:var(--gold);font-size:30px}.toast.bad{color:var(--danger)}@keyframes toast{0%{opacity:0;transform:translateY(10px)scale(.9)}12%{opacity:1;transform:translateY(0)scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-16px)}}.screen{z-index:20;background:radial-gradient(at 50% 30%,#463c648c,#14121ceb 70%);justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.menu-card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(400px,100%);padding:28px 24px;display:flex}.logo{font-family:var(--font-display);letter-spacing:-1px;background:linear-gradient(#ffe3a8 0%,#f0b640 55%,#c98a55 100%);color:#0000;filter:drop-shadow(0 4px #2b2530)drop-shadow(0 8px 14px #00000073);-webkit-background-clip:text;background-clip:text;font-size:clamp(44px,12vw,64px);font-weight:800;line-height:.95}.tagline{letter-spacing:3px;text-transform:uppercase;opacity:.75;margin-top:-6px;font-size:15px;font-weight:700}.menu-card input{width:100%;font-family:var(--font-body);color:var(--paper);border:2px solid var(--panel-line);text-align:center;background:#00000059;border-radius:12px;outline:none;padding:11px 14px;font-size:17px;font-weight:700}.menu-card input:focus{border-color:var(--gold)}.menu-card .btn{width:100%}.menu-card .fine{opacity:.6;font-size:12px}.stat-grid{grid-template-columns:1fr 1fr;gap:6px 18px;width:100%;font-size:14px;display:grid}.stat-grid div{justify-content:space-between;display:flex}.stat-grid b{font-variant-numeric:tabular-nums;color:var(--gold)}.hidden,[hidden]{display:none!important}@media (max-height:460px){.hud-bottom{bottom:calc(4px + var(--safe-b));gap:4px}.bars{gap:6px;width:min(320px,100%)}.bar{height:12px}.bar>b{font-size:8px}.build-bar{gap:4px;padding:4px}.build-slot{border-radius:10px;width:50px;height:62px;padding-top:5px}.build-slot canvas{width:24px;height:24px}.build-slot .name,.build-slot .slot-cost,.build-slot .slot-cost .cost{font-size:8px}.build-slot .cnt,.build-slot .key{font-size:8px;top:1px}.joystick{width:104px;height:104px;left:calc(18px + var(--safe-l));bottom:calc(78px + var(--safe-b))}.joystick .knob{width:46px;height:46px;margin:-23px 0 0 -23px}.action-btn{width:74px;height:74px;right:calc(18px + var(--safe-r));bottom:calc(86px + var(--safe-b));font-size:12px}.tool-btn{right:calc(104px + var(--safe-r));bottom:calc(100px + var(--safe-b));width:44px;height:44px;font-size:18px}.upgrade{bottom:calc(128px + var(--safe-b));gap:5px;padding:8px 10px}.upgrade .head h3{font-size:16px}.upgrade .stats{font-size:11px}#ui{--bar-h:58px}.top-bar{gap:0;min-height:58px;padding:1px 4px 2px 8px}.tb-row1{min-height:34px}.tb-row2{min-height:20px}.icon-btn{width:34px;height:34px}.res{font-size:13px}.tb-wave .value{font-size:16px}.toast-wrap{top:max(26%, calc(var(--bar-bottom) + 8px))}.toast{padding:4px 12px;font-size:15px}.toast.big{font-size:22px}}@media (max-width:520px){.hud-top,.tb-res{gap:6px}.res{gap:4px;font-size:13px}.res .v{min-width:22px}.tb-wave{gap:4px}.tb-wave .value{font-size:16px}.tb-wave .label{letter-spacing:.8px;font-size:9px}.tb-wave .sub{font-size:10px}.toast-wrap{top:max(24%, calc(var(--bar-bottom) + 10px));width:calc(100% - 40px)}.toast{text-align:center;padding:6px 12px;font-size:16px;line-height:1.15}.toast.big{font-size:24px}.upgrade{bottom:calc(190px + var(--safe-b))}}@media (max-width:420px){.pop-res{display:none}}@media (max-width:620px){#ui .online .pop-res{display:none}}@media (max-width:560px){#ui .online .top-bar{gap:4px;padding:0 2px 0 6px}#ui .online .tb-res{gap:6px}#ui .online .res{gap:3px;font-size:12px}#ui .online .res .v{min-width:18px}#ui .online .res .dot{border-width:1.5px;width:9px;height:9px}#ui .online .tb-wave{gap:4px}#ui .online .tb-wave .sub{display:none}#ui .online .tb-wave.safe .value{color:var(--good)}#ui .online .tb-room{letter-spacing:.4px;gap:5px;padding-left:6px;font-size:12px}#ui .online .tb-room .ms,#ui .online .tb-room .dim{display:none}#ui .online .tb-btns{gap:0}#ui .online.shard .tb-room .people{display:none}}@media (max-width:420px){#ui .online .tb-res{gap:5px}#ui .online .res{font-size:11px}#ui .online .res .v{min-width:14px}#ui .online .res .dot{width:8px;height:8px}#ui .online .tb-room .people canvas{margin-left:2px}#ui .online .tb-wave{gap:3px;min-width:44px}#ui .online .tb-wave .label{letter-spacing:.2px;font-size:9px}#ui .online .tb-wave .value{font-size:15px}#ui .online .tb-room{letter-spacing:.3px;gap:3px;padding-left:4px;font-size:11px}#ui .online .tb-room b{letter-spacing:0;font-size:12px}}.build-chip{display:none}#ui .one-hand .build-chip{bottom:calc(274px + var(--safe-b));width:64px;min-height:40px;font-family:var(--font-display);letter-spacing:.4px;color:var(--paper);pointer-events:auto;z-index:5;justify-content:center;align-items:center;padding:6px 4px;font-size:13px;font-weight:800;display:flex;position:fixed}#ui .one-hand .build-chip.on{border-color:var(--gold);background:#f0b64042}#ui .one-hand .build-chip.holding{border-color:var(--gold);color:var(--ink);background:#f0b64066}#ui .one-hand .build-chip.pressed{filter:brightness(1.3)}#ui .one-hand .build-bar.strip{bottom:calc(322px + var(--safe-b));width:64px;max-height:min(60vh, calc(100vh - var(--bar-bottom) - 330px - var(--safe-b)));max-height:min(60dvh, calc(100dvh - var(--bar-bottom) - 330px - var(--safe-b)));touch-action:pan-y;z-index:5;flex-direction:column;display:none;position:fixed;overflow:hidden auto}#ui .one-hand .build-bar.strip.open{display:flex}#ui .one-hand .build-bar.strip .build-slot{width:56px;height:66px;padding-top:12px}#ui .one-hand .build-bar.strip .build-slot canvas{width:24px;height:24px}#ui .one-hand .build-bar.strip .build-slot .cnt{text-align:center;font-size:8px;top:1px;left:0;right:0}#ui .one-hand .build-bar.strip .build-slot .key{display:none}#ui .one-hand .build-bar.strip .build-slot .lock{gap:2px;font-size:8px}#ui .one-hand .action-btn{width:64px;height:64px;bottom:calc(200px + var(--safe-b));font-size:12px}#ui .one-hand .action-btn .auto-pill{letter-spacing:1px;padding:2px 5px;font-size:10px}#ui .one-hand .tool-btn{width:48px;height:48px;bottom:calc(208px + var(--safe-b))}#ui .one-hand .tool-btn canvas{width:26px;height:26px}#ui .one-hand .joystick.floating{opacity:0;pointer-events:none;width:118px;height:118px;margin:-59px 0 0 -59px;transition:opacity .12s;top:0;bottom:auto;left:0;right:auto}#ui .one-hand .joystick.floating.live{opacity:1}#ui .hand-right .action-btn,#ui .hand-right .build-chip,#ui .hand-right .build-bar.strip{right:calc(12px + var(--safe-r));left:auto}#ui .hand-right .tool-btn{right:calc(84px + var(--safe-r));left:auto}#ui .hand-left .action-btn,#ui .hand-left .build-chip,#ui .hand-left .build-bar.strip{left:calc(12px + var(--safe-l));right:auto}#ui .hand-left .tool-btn{left:calc(84px + var(--safe-l));right:auto}#ui .hand-right .upgrade,#ui .hand-right .tutorial-card{left:auto;right:calc(10px + var(--safe-r));width:min(320px,100% - 20px);transform:none}#ui .hand-left .upgrade,#ui .hand-left .tutorial-card{left:calc(10px + var(--safe-l));width:min(320px,100% - 20px);right:auto;transform:none}#ui .one-hand .upgrade{bottom:calc(324px + var(--safe-b))}#ui .one-hand .tutorial-card{bottom:calc(344px + var(--safe-b))}#ui .one-hand .hud-bottom{bottom:calc(10px + var(--safe-b))}@media (max-height:460px){#ui .one-hand .action-btn{bottom:calc(90px + var(--safe-b));width:64px;height:64px}#ui .one-hand .tool-btn{bottom:calc(98px + var(--safe-b))}#ui .one-hand .build-chip{bottom:calc(164px + var(--safe-b))}#ui .one-hand .build-bar.strip{bottom:calc(36px + var(--safe-b));width:auto;max-height:calc(100vh - var(--bar-bottom) - 48px - var(--safe-b));max-height:calc(100dvh - var(--bar-bottom) - 48px - var(--safe-b));grid-template-columns:repeat(2,56px);grid-auto-rows:66px;align-content:start;gap:4px}#ui .one-hand .build-bar.strip.open{display:grid}#ui .hand-right .build-bar.strip{right:calc(140px + var(--safe-r));left:auto}#ui .hand-left .build-bar.strip{left:calc(140px + var(--safe-l));right:auto}#ui .one-hand .upgrade{bottom:calc(212px + var(--safe-b))}#ui .one-hand .tutorial-card{bottom:calc(216px + var(--safe-b))}}.settings-list{text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.setting{justify-content:space-between;align-items:center;gap:10px;display:flex}.setting .lbl{font-size:14px;font-weight:800}.setting .lbl small{opacity:.6;font-size:11px;font-weight:600;display:block}.seg{background:#00000059;border-radius:10px;gap:3px;padding:3px;display:inline-flex}.seg button{font-family:var(--font-display);color:var(--paper);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:800}.seg button.on{background:var(--gold);color:var(--ink)}.seg button:disabled{opacity:.4;cursor:default}.code-inline{font-family:var(--font-display);color:var(--ink);letter-spacing:3px}.chat-panel{left:50%;top:calc(var(--bar-bottom) + 34px);pointer-events:auto;z-index:6;flex-direction:column;gap:8px;width:min(340px,100vw - 32px);max-height:46vh;padding:10px;display:flex;position:absolute;transform:translate(-50%)}.chat-log{overflow-wrap:anywhere;flex-direction:column;gap:4px;max-height:32vh;font-size:13px;line-height:1.35;display:flex;overflow-y:auto}.chat-log .chat-line b{color:var(--gold);margin-right:4px}.chat-log .chat-line .chat-name{cursor:pointer;padding:2px 0}.chat-log .chat-line .chat-name.pressed{opacity:.6}.chat-log .chat-line .chat-muted,.chat-log .chat-empty{opacity:.55;font-style:italic}.chat-row{align-items:center;gap:6px;display:flex}.chat-input{font-family:var(--font-body);color:var(--paper);border:2px solid var(--panel-line);background:#00000059;border-radius:10px;outline:none;font-weight:700}.chat-input::placeholder{color:var(--paper);opacity:.45}.chat-input:focus{border-color:var(--gold)}.chat-row .chat-input{flex:1;min-width:0;margin:0;padding:8px 10px;font-size:15px}.team-panel .chat-input{letter-spacing:3px;text-transform:uppercase}.chat-row .chip-btn{flex:none}.chat-toasts{top:calc(var(--bar-bottom) + 34px);pointer-events:none;flex-direction:column;align-items:center;gap:4px;max-width:calc(100vw - 32px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.chat-toast{overflow-wrap:anywhere;background:#14121ad1;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.chat-toast b{color:var(--gold);margin-right:3px}.net-banner{top:calc(var(--bar-bottom) + 34px);color:#fff;pointer-events:none;background:#e0574feb;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:800;animation:1.6s ease-in-out infinite pulse-banner;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000059}@keyframes pulse-banner{0%,to{opacity:.85}50%{opacity:1}}.net-banner.tappable{pointer-events:auto;cursor:pointer;opacity:1;background:#3a344af5;border:2px solid #ffffff59;animation:none}.net-banner.tappable:active{transform:translate(-50%)scale(.96)}.menu-card input.code-input{font-family:var(--font-display);letter-spacing:10px;text-indent:10px;text-transform:uppercase;font-size:30px;font-weight:800}.code-row{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.code-row .code{font-family:var(--font-display);letter-spacing:7px;text-indent:7px;color:var(--gold);-webkit-user-select:text;user-select:text;font-size:clamp(34px,11vw,46px);font-weight:800}.chip-btn{font-family:var(--font-display);color:var(--paper);border:1px solid var(--panel-line);cursor:pointer;background:#00000059;border-radius:9px;flex:none;padding:5px 9px;font-size:12px;font-weight:800}.chip-btn.danger{color:var(--danger)}.chip-btn:active,.chip-btn.pressed{filter:brightness(1.3);transform:translateY(1px)}.player-list{text-align:left;flex-direction:column;gap:6px;width:100%;display:flex}.pl-row{background:#00000040;border-radius:10px;align-items:center;gap:8px;padding:7px 10px;font-size:14px;font-weight:700;display:flex}.pl-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pl-name small{opacity:.55;font-weight:700}.pl-dot{background:var(--paper-dim);border-radius:50%;flex:none;width:9px;height:9px}.pl-dot.ok{background:var(--good)}.pl-dot.off{background:var(--danger);opacity:.8}.crown{color:var(--gold)}.ready{color:var(--good);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:800}.lobby{gap:12px}.lobby .settings-list{gap:8px}.spinner{border:3px solid var(--panel-line);border-top-color:var(--gold);border-radius:50%;width:26px;height:26px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.team-panel{left:50%;top:calc(var(--bar-bottom) + 34px);pointer-events:auto;z-index:7;text-align:left;flex-direction:column;gap:8px;width:min(340px,100vw - 32px);max-height:60vh;padding:10px;display:flex;position:absolute;overflow-y:auto;transform:translate(-50%)}.team-body{flex-direction:column;gap:8px;min-height:0;display:flex;overflow-y:auto}.team-head{align-items:center;gap:8px;display:flex}.team-head h3{min-width:0;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:18px;overflow:hidden}.team-code-row{align-items:center;gap:10px;display:flex}.team-code{font-family:var(--font-display);letter-spacing:5px;color:var(--gold);-webkit-user-select:text;user-select:text;flex:1;font-size:26px;font-weight:800}.team-panel .fine{text-align:left}.team-bar{flex-wrap:wrap;gap:6px;display:flex}.team-sub{letter-spacing:1px;text-transform:uppercase;opacity:.6;font-size:12px;font-weight:800}.team-others{max-height:26vh;overflow-y:auto}.team-others .pl-name small{opacity:.6;letter-spacing:0;font-size:11px;display:block}.pl-row.request{background:#f0b64029}.chip-btn.on{color:var(--good);border-color:var(--good)}.icon-btn.alert{background:#f0b64059}.pack-confirm{pointer-events:auto;z-index:9;text-align:left;flex-direction:column;gap:10px;width:min(320px,100vw - 32px);padding:14px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pack-confirm h3{font-family:var(--font-display);margin:0;font-size:20px}.pack-confirm .fine{text-align:left;line-height:1.45}.pack-confirm .team-bar{justify-content:flex-end}.base-list{text-align:left;flex-direction:column;gap:6px;width:100%;display:flex}.base-row{background:#ffffff0f;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;display:flex}.base-info{flex-direction:column;flex:1;min-width:0;display:flex}.base-info b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.base-info small{opacity:.65;font-size:11px}@media (max-width:520px),(max-height:700px){.screen{align-items:flex-start;padding:12px}.menu-card{max-height:calc(100vh - 24px);margin:auto 0;overflow-y:auto}.lobby{gap:10px;padding:18px 14px}.lobby .setting .lbl{font-size:13px}.lobby .seg button{padding:5px 7px;font-size:12px}.pl-row{padding:6px 8px;font-size:13px}}.tutorial-slot{display:contents}.tutorial-card{left:50%;bottom:calc(250px + var(--safe-b));z-index:4;width:min(400px,100vw - 24px);position:absolute;transform:translate(-50%)}#ui .panel-open .tutorial-card{display:none}.tutorial-card{pointer-events:auto;text-align:left;align-items:center;gap:10px;padding:8px 10px;animation:.25s tut-in;display:flex}.tutorial-card.hidden{display:none}.tut-icon{flex:none;align-items:center;line-height:0;display:flex}.tut-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tut-text{font-size:13px;font-weight:700;line-height:1.3}.tut-dots{gap:4px;display:flex}.tut-dots i{background:#f6efe338;border-radius:2px;width:12px;height:4px}.tut-dots i.done{background:var(--good)}.tut-dots i.now{background:var(--gold)}.tut-skip{cursor:pointer;color:var(--paper);opacity:.6;font:inherit;background:0 0;border:none;flex:none;padding:6px 2px;font-size:12px;font-weight:800;text-decoration:underline}@keyframes tut-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.recovery-code{border:2px solid var(--panel-line);letter-spacing:.5px;word-break:break-all;width:100%;color:var(--paper);-webkit-user-select:text;user-select:text;background:#00000059;border-radius:10px;max-height:22vh;padding:10px;font-family:ui-monospace,Cascadia Mono,Menlo,monospace;font-size:12px;line-height:1.5;overflow-y:auto}.recovery-input{border:2px solid var(--panel-line);width:100%;color:var(--paper);font:inherit;-webkit-user-select:text;user-select:text;background:#00000059;border-radius:10px;padding:10px;font-size:13px}.danger-fine{color:var(--danger);opacity:.95}.server-footer{flex-direction:column;gap:6px;width:100%;margin-top:2px;display:flex}.server-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.server-bar .fine{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.server-bar .fine b{opacity:.9;font-weight:800}.server-edit{flex-direction:column;gap:6px;width:100%;display:flex}.server-actions{justify-content:center;gap:6px;display:flex}.screen.bare{background:0 0;padding:0;display:block}.title{position:absolute;top:0;bottom:0;left:0;right:0}.title-veil{pointer-events:none;background:linear-gradient(#1714338c 0%,#17143300 30% 55%,#1e1a26db 100%);position:absolute;top:0;bottom:0;left:0;right:0}.title-ui{padding:calc(44px + var(--safe-t)) calc(22px + var(--safe-r)) calc(24px + var(--safe-b)) calc(22px + var(--safe-l));flex-direction:column;justify-content:space-between;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.title-brand{text-align:center;flex-direction:column;align-items:center;gap:5px;display:flex}.title .logo{font-size:clamp(46px,14vw,64px)}.title .tag{letter-spacing:3.5px;text-transform:uppercase;color:#f6efe3b8;font-size:12px;font-weight:800}.who-wrap{opacity:0;pointer-events:none;margin-top:10px;transition:opacity .25s,transform .25s;position:relative;transform:translateY(6px)}.title[data-state=ready] .who-wrap{opacity:1;pointer-events:auto;transform:none}.who{min-height:40px;font-family:var(--font-body);color:#f6efe3b8;background:var(--chip);border:1px solid var(--chip-line);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.who b{color:var(--paper);font-weight:800}.who .pen{opacity:.8;flex:none;width:14px;height:14px}.who-wrap.editing .who{visibility:hidden}.who-input{width:100%;min-height:40px;font-family:var(--font-body);text-align:center;color:var(--paper);border:2px solid var(--gold);-webkit-user-select:text;user-select:text;background:#00000073;border-radius:999px;outline:none;padding:4px 14px;font-size:14px;font-weight:800;position:absolute;top:0;bottom:0;left:0;right:0}.title-stack{opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:8px;transition:opacity .25s,transform .25s;display:flex;transform:translateY(16px)}.title[data-state=ready] .title-stack{opacity:1;pointer-events:auto;transform:none}.title-play{width:100%;max-width:320px;font-family:var(--font-display);letter-spacing:.3px;color:var(--ink);background:linear-gradient(180deg, #ffd97a, var(--gold));cursor:pointer;border:0;border-bottom:5px solid #a3731a;border-radius:18px;flex-direction:column;align-items:center;padding:13px 24px 11px;font-size:26px;font-weight:800;line-height:1.05;animation:3s ease-in-out infinite playBreath;display:flex;box-shadow:0 12px 28px #f0b64042,inset 0 2px #ffffff59}.title-play:active{border-bottom-width:3px;transform:translateY(2px)}.title-play small{font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase;opacity:.7;margin-top:3px;font-size:12px;font-weight:800}@keyframes playBreath{0%,to{box-shadow:0 12px 26px #f0b6403d,inset 0 2px #ffffff59}50%{box-shadow:0 14px 32px #f0b64057,inset 0 2px #ffffff59}}.title-newhold{font-family:var(--font-body);color:#f6efe3b8;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:40px;padding:0 10px;font-size:13px;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.title-modes{justify-content:center;gap:10px;width:100%;max-width:320px;display:flex}.title-mode{background:var(--chip);border:1px solid var(--chip-line);cursor:pointer;min-width:0;font-family:var(--font-body);color:var(--paper);border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:9px 6px 8px;font-size:12.5px;font-weight:800;display:flex}.title-mode:active{filter:brightness(1.25)}.title-mode svg{width:30px;height:30px}.title-mode .sub{color:#f6efe3b8;letter-spacing:.3px;font-size:10px;font-weight:700}.title-foot{width:100%;max-width:320px;font-family:var(--font-body);color:#f6efe380;justify-content:space-between;align-items:center;padding:0 2px;font-size:11px;font-weight:700;display:flex}.title-foot>span,.title-server,.title-dev{align-items:center;min-height:40px;display:inline-flex}.title-server,.title-dev{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px}.title-dev{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.title-server.open{color:var(--gold)}.title-server-slot{background:var(--panel);border:1px solid var(--panel-line);border-radius:14px;width:100%;max-width:320px;padding:10px}.title-hint{left:0;right:0;bottom:calc(26px + var(--safe-b));text-align:center;pointer-events:none;transition:opacity .25s;position:absolute}.title-hint span{font-family:var(--font-body);letter-spacing:3px;text-transform:uppercase;color:#f6efe3b3;font-size:12px;font-weight:800;animation:2.4s ease-in-out infinite hintBreath}.title[data-state=ready] .title-hint{opacity:0}@keyframes hintBreath{0%,to{opacity:.35}50%{opacity:1}}@media (orientation:landscape){.title-veil{background:linear-gradient(90deg,#1e1a26db 0%,#1e1a2638 42%,#17143300 60%,#1e1a269e 100%)}.title-ui{padding:calc(20px + var(--safe-t)) calc(26px + var(--safe-r)) calc(20px + var(--safe-b)) calc(26px + var(--safe-l));flex-direction:row;align-items:flex-end;gap:20px}.title-brand{text-align:left;flex:1;align-self:center;align-items:flex-start;min-width:0}.title .logo{font-size:clamp(42px,7vw,58px)}.title-stack{flex:none;gap:12px;width:clamp(210px,26vw,300px)}.title-play{padding:12px 14px 10px;font-size:24px}.title-play small{letter-spacing:1.6px;font-size:11px}.title-modes{gap:10px}.title-mode{gap:6px;padding:11px 4px 10px;font-size:12px}.title-mode svg{width:28px;height:28px}.title-mode .sub{display:none}.title-foot{flex-wrap:wrap;justify-content:center;gap:0 10px;font-size:10px}.title-hint{bottom:calc(14px + var(--safe-b))}}@media (prefers-reduced-motion:reduce){.title-play,.title-hint span{animation:none}.title-stack,.who-wrap,.title-hint{transition:none}}.tb-score{font-variant-numeric:tabular-nums;flex:none;align-items:baseline;gap:5px;margin-left:auto;padding-left:6px;display:flex}.tb-score .label{letter-spacing:1.2px;text-transform:uppercase;opacity:.7;font-size:10px;font-weight:800}.tb-score .value{font-family:var(--font-display);color:var(--gold);font-size:15px;font-weight:800}@media (max-width:420px){#ui .online .tb-score .label{display:none}#ui .online .tb-score{padding-left:4px}#ui .online .tb-score .value{font-size:13px}}.score-float{right:calc(18px + var(--safe-r));top:calc(var(--bar-bottom) + 2px);font-family:var(--font-display);color:var(--gold);text-shadow:0 2px 0 var(--ink), 0 0 10px #f0b64073;font-variant-numeric:tabular-nums;pointer-events:none;opacity:0;font-size:20px;font-weight:800;position:absolute}.score-float.go{animation:1.6s ease-out forwards scoreFloat}@keyframes scoreFloat{0%{opacity:0;transform:translateY(10px)scale(.9)}15%{opacity:1;transform:translateY(0)scale(1.08)}70%{opacity:1;transform:translateY(-6px)scale(1)}to{opacity:0;transform:translateY(-16px)}}.run-score{flex-direction:column;align-items:center;gap:2px;width:100%;display:flex}.run-score .big{font-family:var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums;text-shadow:0 3px 0 var(--ink);font-size:46px;font-weight:800;line-height:1}.run-score .best{opacity:.8;font-size:13px;font-weight:700}.run-score .best b{color:var(--paper);font-variant-numeric:tabular-nums}.run-score .ranks{color:var(--teal);min-height:18px;font-size:13px;font-weight:800}.pause-score{justify-content:center;gap:18px;margin-top:-4px;font-size:14px;font-weight:700;display:flex}.pause-score b{color:var(--gold);font-variant-numeric:tabular-nums}.title-best{font-family:var(--font-body);color:#f6efe3b8;letter-spacing:.4px;opacity:0;margin-top:2px;font-size:12px;font-weight:700;transition:opacity .25s}.title-best b{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:800}.title[data-state=ready] .title-best{opacity:1}.title-boards{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;min-height:40px;padding:0 2px;display:inline-flex}.title-boards span{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.boards{gap:10px}.boards-title{align-items:center;gap:8px;font-size:28px;display:flex}.boards .seg{flex-wrap:wrap;justify-content:center;width:100%;display:flex}.boards .seg button{white-space:nowrap;flex:1 1 0;min-height:36px;padding:6px}.boards-periods button{font-size:12px}.boards-shards{width:100%}.boards-shard-seg button{flex:none;min-width:64px}.boards-note{margin-top:-2px}.boards-table{flex-direction:column;width:100%;min-height:120px;display:flex}.board-list{max-height:min(44vh,420px);flex-direction:column;max-height:min(44dvh,420px);display:flex;overflow-y:auto}.board-row{text-align:left;border-radius:8px;grid-template-columns:44px 1fr auto 42px;align-items:center;gap:8px;padding:6px 8px;font-size:14px;display:grid}.board-row:nth-child(odd):not(.board-head){background:#ffffff0a}.board-row .r{opacity:.75;font-variant-numeric:tabular-nums;font-weight:800}.board-row .n{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.board-row .s{font-family:var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums;text-align:right;font-weight:800}.board-row .w{text-align:right;font-variant-numeric:tabular-nums;opacity:.8}.board-row.mine{box-shadow:inset 0 0 0 1px #46b3a88c;background:#46b3a838!important}.board-row .priv{opacity:.7;grid-column:2/-1;margin-top:-4px;font-size:11px}.board-head{letter-spacing:1.2px;text-transform:uppercase;opacity:.6;padding-top:2px;padding-bottom:2px;font-size:10px}.board-head .s,.board-head .w{font-family:var(--font-body);color:inherit}.board-pinned{border-top:1px dashed var(--panel-line);margin-top:4px;padding-top:4px}.board-pinned:empty{display:none}.board-empty{padding:18px 0}@media (orientation:landscape) and (max-height:500px){.boards{gap:7px;padding:14px 16px}.boards-title{font-size:22px}.board-list{max-height:calc(100vh - 250px);max-height:calc(100dvh - 250px)}.board-row{padding:4px 8px}}.btn-row{flex-direction:column;gap:10px;width:100%;display:flex}@media (orientation:landscape) and (max-height:500px){.boards{grid-template-columns:minmax(230px,280px) 1fr;align-content:start;align-items:start;gap:7px 16px;width:min(760px,100%);display:grid}.boards>*{grid-column:1}.boards>.boards-table{grid-area:1/2/span 8;align-self:stretch}.boards .seg button{min-height:32px;padding:4px;font-size:12px}.boards-periods button{font-size:11px}.boards .btn{margin-top:2px}.board-list{max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px)}.gameover-card{gap:7px;width:min(520px,100%);padding:14px 20px}.gameover-card h2{font-size:26px!important}.gameover-card .tagline{margin-top:-4px;font-size:12px}.gameover-card .run-score .big{font-size:34px}.gameover-card .stat-grid{gap:2px 18px;font-size:13px}.gameover-card .btn-row{flex-direction:row}.session-card{gap:8px;padding:16px 20px}}.btn-icon,.sum-actions .btn{justify-content:center;align-items:center;gap:7px;display:inline-flex}.btn-icon canvas,.sum-actions .btn canvas{flex:none}.summary-card{gap:10px;width:min(460px,100%);padding:20px 18px;position:relative}.sum-head{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.sum-title{font-size:30px;line-height:1.05}.sum-title.fallen{color:var(--danger)}.sum-sub{letter-spacing:2px;margin-top:0;font-size:12px}.new-best{font-family:var(--font-display);letter-spacing:.6px;color:var(--ink);background:linear-gradient(180deg, #ffe3a8, var(--gold));border-radius:999px;padding:1px 12px;font-size:14px;font-weight:800;display:inline-block;box-shadow:0 0 14px #f0b64073}.sum-strip{touch-action:pan-x;scrollbar-width:thin;align-items:flex-start;gap:8px;width:100%;min-height:104px;padding:2px 2px 4px;display:flex;overflow-x:auto}.sum-strip-empty{text-align:center;align-self:center;width:100%}.sum-shot{cursor:pointer;color:var(--paper);font-family:var(--font-body);letter-spacing:.4px;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:3px;padding:0;font-size:10.5px;font-weight:800;display:flex}.sum-shot img{object-fit:cover;background:#2c2838;border:2px solid #f6efe329;border-radius:10px;width:82px;height:82px;display:block}.sum-shot:last-child img{border-color:var(--gold)}.sum-shot.pressed img{filter:brightness(1.25)}.sum-stats{font-size:14px}.sum-more-btn{font:inherit;color:var(--teal);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:34px;padding:0 8px;font-size:13px;font-weight:800;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.sum-more{text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.sum-sec{background:#ffffff0a;border-radius:10px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.sum-sec .team-sub{margin-bottom:2px}.sum-row{justify-content:space-between;gap:12px;font-size:13px;display:flex}.sum-row b{color:var(--gold);font-variant-numeric:tabular-nums;text-align:right;font-weight:800}.sum-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.sum-actions .btn{width:100%;padding:10px 8px;font-size:16px}.sum-actions .btn:first-child{grid-column:1/-1;font-size:18px}.sum-actions .btn:last-child:nth-child(2n){grid-column:1/-1}.sum-lightbox{z-index:40;background:#0c0a12f0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sum-lightbox img{max-width:min(92vw,640px);max-height:76vh;border:3px solid var(--gold);border-radius:16px;max-height:76dvh}.sum-light-cap{opacity:.85;font-size:14px;font-weight:800}.history{gap:10px;width:min(460px,100%)}.history .seg{width:100%;display:flex}.history .seg button{flex:1 1 0;min-height:36px}.history-count{margin-top:-4px}.history-list{width:100%;max-height:min(58vh,560px);touch-action:pan-y;flex-direction:column;gap:6px;max-height:min(58dvh,560px);display:flex;overflow-y:auto}.history-row{align-items:center;gap:6px;display:flex}.history-open{text-align:left;cursor:pointer;min-width:0;color:var(--paper);font-family:var(--font-body);background:#ffffff0d;border:1px solid #0000;border-radius:12px;flex:1;align-items:center;gap:10px;padding:6px;display:flex}.history-open.pressed{border-color:var(--panel-line);background:#ffffff1a}.history-thumb{background:#2c2838;border-radius:9px;flex:none;width:58px;height:58px;overflow:hidden}.history-thumb img{object-fit:cover;visibility:hidden;width:100%;height:100%;display:block}.history-thumb.has img{visibility:visible}.history-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.history-top,.history-bottom{align-items:baseline;gap:8px;min-width:0;display:flex}.history-date{opacity:.65;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.history-score{font-family:var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums;font-size:20px;line-height:1}.history-nights{opacity:.8;font-size:12px;font-weight:700}.history-bin{flex:none;min-width:40px;min-height:40px}.mode-badge{letter-spacing:1px;text-transform:uppercase;white-space:nowrap;color:var(--ink);background:var(--gold);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:800}.mode-badge.party{background:var(--teal)}.mode-badge.online{background:#b9a6ff}.history-setting .chip-btn{flex:none}.share-card{gap:10px;width:min(460px,100%);padding:18px 16px}.share-title{font-size:26px}.share-preview{justify-content:center;width:100%;display:flex}.share-canvas{max-width:100%;max-height:40vh;border-radius:12px;width:auto;height:auto;max-height:40dvh;display:block;box-shadow:0 8px 24px #00000073}.share-side{flex-direction:column;align-items:center;gap:9px;width:100%;display:flex}.share-side .seg{width:100%;display:flex}.share-side .seg button{flex:1 1 0;min-height:36px}.share-picks{touch-action:pan-x;gap:8px;width:100%;padding-bottom:3px;display:flex;overflow-x:auto}.share-pick{color:var(--paper);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:2px;padding:0;font-size:10px;font-weight:800;display:flex}.share-pick img{object-fit:cover;border:2px solid #f6efe329;border-radius:8px;width:58px;height:58px;display:block}.share-pick.on img{border-color:var(--gold);box-shadow:0 0 10px #f0b64080}.share-actions{flex-direction:row}.share-actions .btn{flex:1;padding:11px 8px}.share-status{min-height:16px;opacity:.85!important}.photo-mode{z-index:30;pointer-events:auto;touch-action:none;cursor:grab;position:absolute;top:0;bottom:0;left:0;right:0}.photo-close{top:calc(12px + var(--safe-t));right:calc(12px + var(--safe-r));cursor:pointer;background:var(--chip);border:1px solid var(--chip-line);width:46px;height:46px;color:var(--paper);border-radius:50%;place-items:center;display:grid;position:absolute}.photo-close .x-glyph{width:16px;height:16px}.photo-shutter{left:50%;bottom:calc(22px + var(--safe-b));cursor:pointer;background:radial-gradient(circle at 50% 40%, #fff7e6, var(--paper));border:5px solid #1e1a26b3;border-radius:50%;place-items:center;width:78px;height:78px;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 0 0 3px #f6efe380,0 10px 24px #00000073}.photo-shutter.pressed{transform:translate(-50%)scale(.94)}.photo-shutter:disabled{opacity:.6}.photo-hint{top:calc(18px + var(--safe-t));text-align:center;pointer-events:none;text-shadow:0 1px 0 var(--ink), 0 0 8px #0009;flex-direction:column;gap:2px;transition:opacity .6s;display:flex;position:absolute;left:70px;right:70px}.photo-hint b{font-size:14px;font-weight:800}.photo-hint span{opacity:.8;font-size:12px;font-weight:700}.photo-hint.gone{opacity:0}.photo-flash{opacity:0;pointer-events:none;background:#fff;position:absolute;top:0;bottom:0;left:0;right:0}.photo-mode.flashing .photo-flash{animation:.35s ease-out photoFlash}@keyframes photoFlash{0%{opacity:.85}to{opacity:0}}.title-foot{flex-wrap:wrap;column-gap:8px}@media (orientation:landscape) and (max-height:500px){.summary-card{grid-template-columns:1fr 1fr;align-items:start;gap:8px 16px;width:min(820px,100%);padding:14px 16px;display:grid}.summary-card>.sum-head{grid-area:1/1}.summary-card>.sum-strip{grid-area:2/1/span 3}.summary-card>.sum-stats{grid-area:1/2;align-self:center}.summary-card>.sum-actions{grid-area:2/2}.summary-card>.sum-more-btn{grid-area:3/2;justify-self:center}.summary-card>.sum-more{grid-area:5/1/auto/-1}.sum-title{font-size:24px}.summary-card .run-score .big{font-size:34px}.sum-strip{flex-wrap:wrap;justify-content:center;overflow-x:visible}.sum-shot img{width:70px;height:70px}.sum-actions .btn{padding:8px 6px;font-size:15px}.sum-actions .btn:first-child{font-size:16px}.history{grid-template-columns:minmax(200px,250px) 1fr;align-content:start;align-items:start;gap:8px 16px;width:min(780px,100%);padding:14px 16px;display:grid}.history>*{grid-column:1}.history>.history-list{max-height:calc(100vh - 60px);grid-area:1/2/span 6;max-height:calc(100dvh - 60px)}.history .seg{flex-wrap:wrap}.share-card{grid-template-columns:auto 1fr;align-items:center;column-gap:16px;width:min(800px,100%);padding:12px 16px;display:grid}.share-card>.share-title{grid-column:1/-1;font-size:22px}.share-canvas{max-height:calc(100vh - 110px);max-width:44vw;max-height:calc(100dvh - 110px)}}
