@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-devanagari-700-normal-D37Te3iF.woff2)format("woff2"),url(/assets/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(/assets/baloo-2-vietnamese-700-normal-h4tlcePq.woff2)format("woff2"),url(/assets/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(/assets/baloo-2-latin-ext-700-normal-Mlh7kdab.woff2)format("woff2"),url(/assets/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(/assets/baloo-2-latin-700-normal-CqTg7A15.woff2)format("woff2"),url(/assets/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(/assets/baloo-2-devanagari-800-normal-BURIY0wZ.woff2)format("woff2"),url(/assets/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(/assets/baloo-2-vietnamese-800-normal-ConLnEgt.woff2)format("woff2"),url(/assets/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(/assets/baloo-2-latin-ext-800-normal-C_Iwmf1s.woff2)format("woff2"),url(/assets/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(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(/assets/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}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-vietnamese-800-normal-D4LFh2W4.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-800-normal-CA0HL1e4.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-ext-800-normal-GEpNgheG.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-800-normal-BvOXQlBN.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-800-normal-BpHZASpI.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-800-normal-Cwp5p0gU.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{--ink:#1d140e;--sun:#ffc93c;--sun-hi:#ffe28a;--sun-lo:#e59a10;--chili:#ff5a3c;--chili-lo:#b8321c;--leaf:#6cc24a;--leaf-lo:#2f7a25;--sky:#2e4470;--sky-lo:#1d2c4c;--paper:#fff4dc;--text:#fff7e8;--muted:#fff7e8a6;--danger:#ff4d4d;--display:"Baloo 2", system-ui, sans-serif;--body:"Be Vietnam Pro", system-ui, sans-serif;font-family:var(--body)}*{box-sizing:border-box}html,body{height:100%;color:var(--text);-webkit-user-select:none;user-select:none;background:#0b1220;margin:0;overflow:hidden}#game{width:100vw;height:100vh;cursor:none;touch-action:none;-webkit-tap-highlight-color:transparent;height:100dvh;display:block;position:fixed;inset:0}body{-webkit-touch-callout:none;overscroll-behavior:none}.hidden{display:none!important}.panel{background:linear-gradient(180deg, var(--sky) 0%, var(--sky-lo) 100%);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink), inset 0 2px 0 #ffffff29;border-radius:16px}.screen button.primary,.screen button.secondary{font:800 22px/1 var(--display);letter-spacing:1px;border:3px solid var(--ink);cursor:pointer;color:var(--ink);background:linear-gradient(180deg, var(--sun-hi) 0%, var(--sun) 45%, var(--sun-lo) 100%);box-shadow:0 6px 0 var(--ink), inset 0 2px 0 #fff9;text-shadow:0 1px #ffffff8c;border-radius:16px;padding:14px 34px 10px;transition:transform 80ms,box-shadow 80ms,filter .15s}.screen button.secondary{color:var(--text);text-shadow:0 2px 0 var(--ink);background:linear-gradient(180deg, #4d6aa3 0%, var(--sky) 55%, var(--sky-lo) 100%);box-shadow:0 6px 0 var(--ink), inset 0 2px 0 #ffffff38}.screen button.primary:hover,.screen button.secondary:hover{box-shadow:0 8px 0 var(--ink), inset 0 2px 0 #ffffff80;filter:brightness(1.06);transform:translateY(-2px)}.screen button.primary:active,.screen button.secondary:active{box-shadow:0 2px 0 var(--ink), inset 0 2px 0 #ffffff4d;transform:translateY(4px)}.screen button.primary{animation:1.6s ease-in-out infinite btn-glow}@keyframes btn-glow{50%{filter:brightness(1.08)drop-shadow(0 0 10px #ffc93c8c)}}kbd{min-width:24px;font:700 12px/18px var(--display);color:var(--ink);text-align:center;background:var(--paper);border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);border-radius:6px;margin-right:3px;padding:2px 7px 0;display:inline-block}.toon-text{font-family:var(--display);-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink);font-weight:800}#hud{pointer-events:none;position:fixed;inset:0}.bottom-left{white-space:pre;background:#0000008c;border-radius:8px;padding:8px 10px;font:11px/1.5 ui-monospace,Menlo,monospace;position:absolute;bottom:14px;left:14px}.bar{border:2px solid var(--ink);background:#00000073;border-radius:8px;height:14px;margin:5px 0;position:relative;overflow:hidden}.bar>div{border-radius:6px;width:100%;height:100%;transition:width .12s linear}.bar.hp{height:22px}.bar.hp>div{background:linear-gradient(180deg, #9ff07a, var(--leaf) 55%, var(--leaf-lo))}.bar.hp.low>div{background:linear-gradient(180deg, #ff9a8a, var(--chili) 55%, var(--chili-lo));animation:.6s infinite alternate pulse}.bar.hp span{font:800 14px/20px var(--display);text-align:center;text-shadow:0 1px 0 var(--ink), 0 0 3px var(--ink);position:absolute;inset:0}.bar.armor{height:9px;margin-top:-1px}.bar.armor>div{background:linear-gradient(#a8ccff,#3f7fe0)}.bar.combo{height:7px}.bar.combo>div{background:var(--sun);transition:none}.bar.reload{height:7px}.bar.reload>div{background:var(--sun);transition:none}#banner{text-align:center;color:var(--sun);opacity:0;font-size:clamp(34px,6vw,64px);transition:opacity .25s,transform .35s cubic-bezier(.3,1.6,.5,1);position:absolute;top:26%;left:0;right:0;transform:scale(.7)}#banner.show{opacity:1;transform:none}#ime-hint{text-align:center;max-width:560px;color:var(--ink);background:var(--sun);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:12px;padding:9px 14px;font-size:13px;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}#damage-vignette{opacity:0;background:radial-gradient(#0000 55%,#ff1e288c 100%);position:absolute;inset:0}#crosshair{pointer-events:none;z-index:10;will-change:transform;width:0;height:0;position:fixed;top:0;left:0}#crosshair .ring{border:3px solid var(--sun);width:30px;height:30px;box-shadow:0 0 0 2px var(--ink), inset 0 0 0 2px var(--ink);border-radius:50%;position:absolute;top:-15px;left:-15px}#crosshair .ring:after{content:"";background:var(--sun);border:1.5px solid var(--ink);border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%}#crosshair.reloading .ring{border-color:var(--chili);border-style:dashed;animation:.8s linear infinite spin}#target-markers{position:absolute;inset:0;overflow:hidden}.target-mark{--c:var(--sun);will-change:transform, width, height;background:linear-gradient(var(--c), var(--c)) top left / 10px 3px no-repeat, linear-gradient(var(--c), var(--c)) top left / 3px 10px no-repeat, linear-gradient(var(--c), var(--c)) top right / 10px 3px no-repeat, linear-gradient(var(--c), var(--c)) top right / 3px 10px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 10px 3px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 3px 10px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 10px 3px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 3px 10px no-repeat;filter:drop-shadow(0 0 1px var(--ink)) drop-shadow(0 0 1px var(--ink));animation:.24s steps(2,jump-none) infinite target-blink;position:absolute;top:0;left:0}.target-mark.dying{--c:var(--chili);animation:none}.target-hp{border:1px solid var(--ink);background:#000000b3;border-radius:3px;height:5px;position:absolute;bottom:-8px;left:10%;right:10%}.target-hp>div{background:var(--c);height:100%}@keyframes target-blink{0%{opacity:1}to{opacity:.45}}#float-texts{position:absolute;inset:0;overflow:hidden}#guide-arrow{width:0;height:0;position:absolute;top:0;left:0}#guide-arrow .arrow{text-align:center;width:40px;height:40px;color:var(--sun);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;font-size:34px;line-height:40px;position:absolute;top:-20px;left:-20px}#guide-arrow .label{text-align:center;width:120px;font:800 13px/1 var(--display);color:var(--text);text-shadow:0 2px 0 var(--ink), 0 0 3px var(--ink);position:absolute;top:24px;left:-60px}.float-text{white-space:nowrap;font:800 26px/1 var(--display);color:var(--chili);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;position:absolute;top:0;left:0}.float-text.info{color:var(--sun);font-size:20px}.screen{z-index:20;cursor:default;background:radial-gradient(at 50% 35%,#2e44708c,#080c16eb 70%),radial-gradient(circle,#ffffff0a 1px,#0000 1.5px) 0 0/18px 18px;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px 16px;display:flex;position:fixed;inset:0}.screen p{margin:0}.logo{align-items:center;gap:14px;animation:3s ease-in-out infinite logo-bob;display:flex;transform:rotate(-3deg)}.logo .mascot{width:clamp(64px,9vw,110px);filter:drop-shadow(0 5px 0 var(--ink))}.logo .words{flex-direction:column;line-height:.86;display:flex}.logo .l1{color:var(--sun);font-size:clamp(46px,7.5vw,92px)}.logo .l2{color:var(--chili);margin-left:.7em;font-size:clamp(46px,7.5vw,92px)}@keyframes logo-bob{50%{transform:rotate(-2deg)translateY(-6px)}}#loading{z-index:30;background:#0b1220;transition:opacity .45s}#loading.fade-out{opacity:0;pointer-events:none}.loading-bar{background:var(--sky-lo);border:3px solid var(--ink);width:min(440px,70vw);height:20px;box-shadow:0 4px 0 var(--ink);border-radius:12px;padding:3px}#loading-fill{background:linear-gradient(180deg, var(--sun-hi), var(--sun) 50%, var(--sun-lo));border-radius:7px;width:0%;height:100%;transition:width .25s ease-out}#loading-text{font:700 15px var(--display);color:var(--muted);min-height:1.4em}#overlay-sub{flex-direction:column;align-items:center;gap:14px;width:min(980px,100%);display:flex}#overlay-buttons{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:6px;display:flex}#overlay:not([data-kind=title]) .logo{display:none}.tagline{font:700 17px/1.4 var(--display);color:var(--text);text-align:center;text-shadow:0 2px 0 var(--ink)}.ribbon{font:800 clamp(20px, 3vw, 30px)/1.1 var(--display);letter-spacing:1px;color:var(--ink);background:var(--sun);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);clip-path:polygon(0 0,100% 0,calc(100% - 18px) 50%,100% 100%,0 100%,18px 50%);padding:8px 46px 4px;position:relative}.ribbon.danger{background:var(--chili);color:var(--text);text-shadow:0 2px 0 var(--ink)}.ribbon.leaf{background:var(--leaf)}.controls{max-width:900px;font:600 13px var(--body);color:var(--muted);background:#00000059;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:8px 18px;padding:10px 16px;display:flex}.screen .disclaimer{text-align:center;color:#fff6;width:min(760px,92vw);font-size:11px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}@keyframes star-pop{0%{opacity:0;transform:scale(0)rotate(-40deg)}}.muted{opacity:.6;font-size:12px}.star-help{color:var(--muted);text-align:center;font-size:12px}@keyframes pulse{0%{opacity:1}to{opacity:.6}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.logo,.screen button.primary,.result-stars .star,.stop .pointer,.stop.current .disc{animation:none!important}}.ico{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}.ico.star{color:var(--sun)}.off>.ico.star,.ico.star.off{color:#ffffff29}.wico{width:100%;height:100%;display:block}.title-stats{justify-content:center;gap:14px;display:flex}.title-stats span{font:700 15px var(--display);color:var(--text);background:#0006;border:2px solid #0009;border-radius:20px;align-items:center;gap:6px;padding:6px 14px 4px;display:inline-flex}#overlay[data-kind=title] #overlay-buttons{flex-direction:column;align-items:center}#overlay[data-kind=title] #overlay-buttons button{min-width:280px}#overlay[data-kind=select] #overlay-buttons{display:none}#overlay[data-kind=select]{padding:16px}#overlay[data-kind=select] #overlay-sub{width:min(1240px,100%);height:100%}.chapter{flex-direction:column;gap:14px;width:100%;height:100%;max-height:760px;display:flex}.icon-btn{cursor:pointer;font:800 16px/1 var(--display);color:var(--text);background:linear-gradient(180deg, #4d6aa3, var(--sky-lo));border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);text-shadow:0 2px 0 var(--ink);border-radius:12px;align-items:center;gap:6px;padding:8px 16px 6px 10px;display:inline-flex}.icon-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.map{border:4px solid var(--ink);min-height:300px;box-shadow:0 6px 0 var(--ink), inset 0 0 40px #6e461459;border-radius:18px;position:relative;overflow:hidden}.map svg.city{width:100%;height:100%;position:absolute;inset:0}.stop{cursor:pointer;color:var(--ink);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.stop .disc{width:62px;height:62px;font:800 28px/1 var(--display);color:var(--ink);background:radial-gradient(circle at 35% 30%, #fff6d0, var(--sun) 55%, var(--sun-lo));border:4px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:50%;place-items:center;transition:transform .15s;display:grid}.stop.done .disc{background:radial-gradient(circle at 35% 30%, #d9ffc0, var(--leaf) 55%, var(--leaf-lo));color:var(--text);text-shadow:0 2px 0 var(--ink)}.stop.locked{cursor:pointer}.stop.locked .disc{background:radial-gradient(circle at 35% 30%,#d8d8d8,#9a9a9a)}.stop.locked .disc .ico{width:28px;height:28px}.stop:hover .disc{transform:translateY(-3px)scale(1.06)}.stop.current .disc{animation:1.4s ease-in-out infinite stop-pulse}@keyframes stop-pulse{50%{transform:scale(1.08)}}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font:700 14px/1 var(--display);border:2px solid var(--ink);background:#fff;border-radius:10px;align-items:center;gap:5px;padding:4px 9px 3px 5px;display:inline-flex}.chip .ico{width:22px;height:22px}.chip.boss{color:var(--chili-lo);background:#ffd9cc}.result-stars{align-items:flex-end;gap:10px;display:flex}.result-stars .star .ico{width:72px;height:72px;filter:drop-shadow(0 5px 0 var(--ink))}.result-stars .star:nth-child(2) .ico{width:92px;height:92px}.result-stars .star{animation:.5s cubic-bezier(.3,1.8,.5,1) backwards star-pop}:root{--glass:#0d1322f0;--glass-line:#ffffff1a}.rooster{--acc:#ff6a4a}.chapter{max-height:820px}.map{flex:1;min-height:320px}.stop{gap:6px}.stop .disc{width:64px;height:64px;font-size:30px}.stop.locked .disc{opacity:.85;width:52px;height:52px}.stop.selected .disc{box-shadow:0 5px 0 var(--ink), 0 0 0 5px #fff, 0 0 0 8px var(--ink);transform:scale(1.15)}.stop.current:not(.selected) .disc{animation:1.4s ease-in-out infinite stop-pulse}:root{--paper-hud:#f7f2e6ed;--ink-hud:#1f1a14;--ink-soft:#1f1a148c;--gold:#e8a91c;--lacquer:#c62f24;--cut:14px}#hud{font-family:Be Vietnam Pro,system-ui,sans-serif}.hud-top,.hud-card,#newspaper,#powerups .powerup,#combo:not(:empty),#hint:not(:empty){color:var(--ink-hud);background:var(--paper-hud);box-shadow:0 6px 18px #00000040}.hud-top{clip-path:polygon(var(--cut) 0, 100% 0, calc(100% - var(--cut)) 100%, 0 100%);gap:0;padding:8px 34px 9px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.hud-top .cell{flex-direction:column;min-width:70px;padding:0 16px;display:flex}.hud-top .cell+.cell{border-left:1px solid #1f1a141f}.hud-top span{letter-spacing:1.6px;color:var(--ink-soft);font:700 10px/1.2 Be Vietnam Pro}.hud-top b{font-variant-numeric:tabular-nums;letter-spacing:.5px;font:800 24px/1.1 Be Vietnam Pro}#score{color:var(--lacquer)}#hint:not(:empty),#combo:not(:empty){white-space:nowrap;letter-spacing:.6px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);padding:4px 14px;font:700 12px Be Vietnam Pro;position:absolute;top:76px;left:50%;transform:translate(-50%)}#combo:not(:empty){color:#fff;background:var(--lacquer);letter-spacing:1.5px;top:76px}#hint:not(:empty)+#combo:not(:empty){top:104px}.hud-card{width:300px;padding:10px 16px 12px;position:absolute;bottom:12px}.hud-player{clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%);left:12px}.hc-row{align-items:center;gap:8px;display:flex}.hc-name{letter-spacing:1.8px;font:800 12px Be Vietnam Pro}#ammo{font-variant-numeric:tabular-nums}#ammo-reserve{color:var(--ink-soft)}#ammo.reloading{opacity:.45}.reload{background:0 0;height:3px;margin-top:6px}.reload>div{background:var(--lacquer);width:0;height:100%}.slots{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.slot{background:#1f1a140f;border:1.5px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 4px;display:flex;position:relative}.slot .ico{width:16px;height:16px;margin:1px 0}.slot .k{color:var(--ink-soft);font:800 10px Be Vietnam Pro;position:absolute;top:2px;left:4px}.slot .n{letter-spacing:1px;color:var(--ink-soft);font:700 10px Be Vietnam Pro}.slot.active{border-color:var(--ink-hud);background:#e8a91c33}.slot.active .n{color:var(--ink-hud)}.slot.empty .n{color:var(--lacquer)}.slot.locked{opacity:.45}#powerups{gap:6px;display:flex;position:absolute;bottom:128px;left:12px}#powerups .powerup{letter-spacing:1px;border:0;border-radius:0;align-items:center;gap:5px;padding:4px 10px;font:800 11px Be Vietnam Pro;display:inline-flex}#powerups .powerup .ico{width:16px;height:16px}#powerups .powerup b{color:var(--lacquer)}#newspaper{border-left:4px solid var(--acc);clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);align-items:flex-start;gap:10px;padding:9px 14px 10px 10px;animation:.25s cubic-bezier(.2,1.2,.4,1) card-in;display:flex;position:relative;overflow:hidden}@keyframes card-in{0%{opacity:0;transform:translate(-16px)}}@keyframes jitter{50%{transform:translate(1px,-1px)}}@keyframes static{to{background-position:0 8px}}#newspaper{--acc:var(--ink-hud)}#newspaper h3{margin:2px 0;font:800 13.5px/1.3 Be Vietnam Pro}#newspaper p{color:var(--ink-soft);margin:0;font:500 12px/1.4 Be Vietnam Pro}#banner{letter-spacing:2px;width:max-content;max-width:90vw;color:var(--ink-hud);-webkit-text-stroke:0;text-shadow:none;background:var(--paper-hud);clip-path:polygon(var(--cut) 0, 100% 0, calc(100% - var(--cut)) 100%, 0 100%);padding:10px 40px;font:800 clamp(26px,4vw,44px) Be Vietnam Pro;left:50%;right:auto;translate:-50%}#banner:empty{display:none}@media (max-width:1000px){.hud-top .cell{min-width:54px;padding:0 10px}.hud-top b{font-size:19px}.hud-card{width:250px}}.screen button.primary,.screen button.secondary{letter-spacing:2px;text-shadow:none;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);border:0;border-radius:0;padding:15px 38px;font:800 17px/1 Be Vietnam Pro,system-ui,sans-serif;transition:transform .12s,filter .12s;animation:none;box-shadow:0 8px 22px #0000004d}.screen button.primary{color:#fff;background:var(--lacquer)}.screen button.primary:hover,.screen button.secondary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 24px #00000052}.screen button.primary:active,.screen button.secondary:active{transform:translateY(1px);box-shadow:0 4px 12px #0000004d}.ribbon{letter-spacing:2px;color:var(--ink-hud);background:var(--paper-hud);text-shadow:none;clip-path:polygon(var(--cut) 0, 100% 0, calc(100% - var(--cut)) 100%, 0 100%);border:0;padding:10px 44px;font:800 clamp(18px,2.6vw,26px)/1.1 Be Vietnam Pro,system-ui;box-shadow:0 8px 22px #0000004d}.ribbon.leaf{border-bottom:4px solid var(--gold)}.ribbon.danger{color:#fff;background:var(--lacquer);text-shadow:none}.icon-btn,.title-stats span{color:var(--ink-hud);background:var(--paper-hud);text-shadow:none;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);border:0;border-radius:0;font-family:Be Vietnam Pro;box-shadow:0 6px 16px #00000047}.icon-btn{letter-spacing:1.5px;padding:9px 20px 9px 14px;font-weight:800}.star-help{color:#ffffffb3}#overlay[data-kind=title],#overlay[data-kind=select]{-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:radial-gradient(at 50% 42%,#281a0e1f,#1e12088c 80%)}#overlay[data-kind=title] #overlay-buttons .ghost-btn{color:#fffc;min-width:0;box-shadow:none;clip-path:none;letter-spacing:.5px;text-underline-offset:4px;padding:6px 10px;font:700 14px Be Vietnam Pro;text-decoration:underline;background:0 0!important;border:0!important}#overlay[data-kind=title] .tagline{color:#fff;text-shadow:0 2px 8px #0009}.float-text{letter-spacing:1px;-webkit-text-stroke:0;color:#fff;background:var(--lacquer);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);padding:3px 10px;font:800 15px Be Vietnam Pro}.float-text.info{color:var(--ink-hud);background:var(--paper-hud);font-size:13px}#guide-arrow .arrow{color:var(--gold);-webkit-text-stroke:2.5px var(--ink-hud)}#guide-arrow[data-kind=exit] .arrow{color:#7fd35a}#guide-arrow .label{letter-spacing:1.4px;text-transform:uppercase;width:110px;color:var(--ink-hud);background:var(--paper-hud);text-shadow:none;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);padding:3px 0;font:800 10px Be Vietnam Pro;left:-55px}.target-mark{--c:#fff4d6}.target-mark.dying{--c:var(--lacquer)}.stop .disc{color:var(--ink-hud);background:var(--paper-hud);border:3px solid var(--ink-hud);text-shadow:none;font-family:Be Vietnam Pro;font-weight:800;box-shadow:0 5px #1f1a1499}.stop.done .disc{color:var(--ink-hud);background:var(--gold);text-shadow:none}.stop.current .disc{color:#fff;background:var(--lacquer)}.stop.locked .disc{color:#1f1a1499;background:#cfc6b4}.stop.selected .disc{box-shadow:0 5px 0 #1f1a1499, 0 0 0 5px #fff, 0 0 0 8px var(--ink-hud)}.stop .pointer{color:var(--lacquer);-webkit-text-stroke:2px #fff}#overlay[data-kind=title]{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#f7f2e6f7 0%,#f7f2e6ed 28%,#f7f2e68c 40%,#f7f2e600 54%),linear-gradient(#1f1a1400 78%,#1f1a1447);justify-content:center;align-items:flex-start;gap:16px;padding:6vh 24px 9vh clamp(28px,6vw,104px)}#overlay[data-kind=title]:before{content:"";background:linear-gradient(90deg, var(--lacquer) 0 7px, var(--gold) 7px 10px);width:10px;position:absolute;top:0;bottom:0;left:0}#overlay[data-kind=title] .logo{transform-origin:0;margin-left:-6px;animation:3.2s ease-in-out infinite logo-bob-left}@keyframes logo-bob-left{0%,to{transform:rotate(-3deg)}50%{transform:rotate(-2deg)translateY(-5px)}}#overlay[data-kind=title] #overlay-sub{align-items:flex-start;width:auto}#overlay[data-kind=title] .tagline{text-align:left;max-width:420px;color:var(--ink-hud);text-shadow:none;padding:4px 0 14px;font:600 16px/1.55 Be Vietnam Pro,system-ui;position:relative}#overlay[data-kind=title] .tagline:before{content:"CHƯƠNG 1 · LÀNG QUÊ";letter-spacing:3px;color:var(--lacquer);margin-bottom:6px;font:800 11px/1 Be Vietnam Pro;display:block}#overlay[data-kind=title] .tagline:after{content:"";background:var(--gold);width:64px;height:3px;position:absolute;bottom:0;left:0}#overlay[data-kind=title] #overlay-buttons{align-items:stretch;gap:12px;margin-top:0}#overlay[data-kind=title] #overlay-buttons button{text-align:left;min-width:320px;padding-left:30px}#overlay[data-kind=title] #overlay-buttons button.primary{padding-top:19px;padding-bottom:19px;font-size:19px}#overlay[data-kind=title] #overlay-buttons button.primary:after{content:"→";float:right;margin-right:6px;transition:transform .15s}#overlay[data-kind=title] #overlay-buttons button.primary:hover:after{transform:translate(5px)}#overlay[data-kind=title] #overlay-buttons button.secondary{color:#f7f2e6;background:var(--ink-hud)}#overlay[data-kind=title] #overlay-buttons .ghost-btn{color:var(--ink-soft);-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);align-self:flex-start;padding:4px 2px;text-decoration-thickness:2px}#overlay[data-kind=title] #overlay-buttons .ghost-btn:hover{color:var(--ink-hud)}#overlay[data-kind=title] .title-stats{justify-content:flex-start;gap:10px}#overlay[data-kind=title] .title-stats span{box-shadow:none;background:#1f1a1412}#overlay[data-kind=title] .controls{color:var(--ink-soft);border-left:3px solid var(--gold);background:#1f1a140f;border-radius:0;justify-content:flex-start;gap:8px 16px;padding:12px 14px}#overlay[data-kind=title] .disclaimer{text-align:left;color:#1f1a1473;width:min(460px,86vw);left:clamp(28px,6vw,104px);transform:none}@media (max-width:760px){#overlay[data-kind=title]{background:linear-gradient(#f7f2e600 34%,#f7f2e6ed 50%,#f7f2e6f7 100%);justify-content:flex-end;align-items:center;padding:24px 16px 96px}#overlay[data-kind=title]:before{background:var(--lacquer);width:auto;height:8px;inset:auto 0 0}#overlay[data-kind=title] .logo .l1,#overlay[data-kind=title] .logo .l2{font-size:clamp(40px,12vw,64px)}#overlay[data-kind=title] #overlay-buttons button{min-width:min(320px,86vw)}#overlay[data-kind=title] .disclaimer{width:auto;left:16px;right:16px}}#overlay[data-kind=title] .logo .words span{white-space:nowrap}#overlay[data-kind=title] .logo .mascot{flex:none}#loading{background:radial-gradient(at 50% 30%,#fffaf0 0%,#f7f2e600 60%),radial-gradient(circle,#1f1a140d 1px,#0000 1.5px) 0 0/16px 16px,#f7f2e6;justify-content:flex-start;gap:22px;padding-top:14vh}#loading:before{content:"";background:linear-gradient(180deg, var(--lacquer) 0 5px, var(--gold) 5px 8px);height:8px;position:absolute;top:0;left:0;right:0}#loading .ld-note{text-align:left;color:#1f1a1499;align-items:center;gap:8px;max-width:300px;margin:0;font:600 11px/1.35 Be Vietnam Pro,system-ui;display:flex}.age-badge{color:#fff;background:#c8302a;border-radius:6px;flex:none;place-items:center;min-width:30px;height:22px;padding:0 5px;font:800 12px/1 "Baloo 2",system-ui;display:inline-grid}#loading .ld-card{z-index:1;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}#loading .logo{animation:3s ease-in-out infinite logo-bob}#loading .logo .words span{white-space:nowrap}#loading .logo .mascot{flex:none}#loading .ld-kicker{letter-spacing:4px;color:var(--lacquer);font:800 12px/1 Be Vietnam Pro,system-ui}#loading .loading-bar{width:min(420px,76vw);height:12px;box-shadow:none;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);background:#1f1a141a;border:0;border-radius:0;padding:0}#loading #loading-fill{background:repeating-linear-gradient(90deg, var(--gold) 0 18px, #f0b93a 18px 22px);border-radius:0}#loading #loading-text{letter-spacing:1px;color:#1f1a1499;font:700 13px Be Vietnam Pro,system-ui}#loading.error #loading-text{color:var(--lacquer)}#loading .ld-tip{z-index:1;text-align:center;max-width:min(460px,86vw);color:var(--ink-hud);border-left:3px solid var(--gold);background:#1f1a140f;padding:8px 14px;font:600 13px/1.45 Be Vietnam Pro,system-ui;position:relative}#loading .ld-tip b{letter-spacing:2px;color:var(--lacquer);margin-right:8px;font-size:11px}@media (max-height:560px){#loading{padding-top:6vh}}.hud-top .cell.coins b{color:#b8760c}.hud-top .cell.bump b{animation:.25s ease-out coin-bump}@keyframes coin-bump{40%{transform:scale(1.35)}}#callout{opacity:0;pointer-events:none;letter-spacing:1px;white-space:nowrap;color:#fff;-webkit-text-stroke:6px var(--ink-hud);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink-hud);font:800 clamp(26px,5vw,54px)/1 "Baloo 2",system-ui;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)scale(.6)}#callout.gold{color:var(--sun)}#callout.red{color:#ff7a5c}@keyframes callout-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)rotate(-6deg)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.08)rotate(-3deg)}75%{opacity:1;transform:translate(-50%,-60%)scale(1)rotate(-3deg)}to{opacity:0;transform:translate(-50%,-80%)scale(.95)rotate(-3deg)}}#toast{z-index:60;opacity:0;pointer-events:none;color:#fff;background:var(--ink-hud);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);padding:10px 22px;font:700 14px Be Vietnam Pro;position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px)}#toast.show{animation:2.2s forwards toast}@keyframes toast{10%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.popup{z-index:40;background:#140e088c;place-items:center;padding:16px;animation:.2s ease-out card-in;display:grid;position:fixed;inset:0;max-width:none!important}.popup-card{text-align:center;width:min(560px,100%);color:var(--ink-hud);clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%);background:#f7f2e6;flex-direction:column;align-items:center;gap:12px;padding:22px 22px 18px;display:flex;box-shadow:0 18px 40px #00000073}.popup-card h3{margin:0;font:800 22px Be Vietnam Pro}.popup-card p{font:500 14px/1.5 Be Vietnam Pro}.title-extra{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.title-tiles{gap:10px;display:flex}.title-tiles .tile{cursor:pointer;letter-spacing:.5px;color:var(--ink-hud);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);background:#fff;border:0;align-items:center;gap:8px;padding:9px 14px 9px 10px;font:800 13px Be Vietnam Pro;display:flex;position:relative;box-shadow:0 4px #1f1a1440}.title-tiles .tile .ico{width:26px;height:26px}.title-tiles .tile:hover{transform:translateY(-2px)}#overlay[data-kind=rail],#overlay[data-kind=shop]{background:#1e140a59;justify-content:stretch;align-items:stretch;padding:0}#overlay[data-kind=rail] #overlay-sub,#overlay[data-kind=shop] #overlay-sub{width:100%;max-width:none;height:100%}#overlay[data-kind=rail] #overlay-buttons,#overlay[data-kind=shop] #overlay-buttons{display:none}.rail{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.rail-top{padding:12px max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));background:var(--paper-hud);z-index:2;align-items:center;gap:12px;display:flex;overflow:hidden;box-shadow:0 6px 18px #0003}.ch-tabs{touch-action:none;-webkit-overflow-scrolling:auto;flex:1;justify-content:center;gap:6px;display:flex;overflow:hidden}.ch-tab{cursor:pointer;white-space:nowrap;color:var(--ink-soft);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);background:#1f1a140f;border:0;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 16px 6px 12px;font:800 16px/1.05 Be Vietnam Pro;display:flex}.ch-tab small{letter-spacing:2px;color:var(--lacquer);font-size:9px}.ch-tab.on{color:#fff;background:var(--ink-hud)}.ch-tab .ico{width:14px;height:14px;position:absolute}.wallet{font-variant-numeric:tabular-nums;color:var(--ink-hud);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);background:#e8a91c38;align-items:center;gap:6px;padding:6px 14px 6px 8px;font:800 16px Be Vietnam Pro;display:inline-flex}.wallet .ico{width:22px;height:22px}.icon-btn.sq{padding:7px 12px;position:relative}.icon-btn.sq .ico{width:24px;height:24px}.rail-body{flex:1;min-height:0;display:flex;position:relative}.rail-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex:1;padding-bottom:210px;overflow:hidden auto}.rail-track{background:radial-gradient(#fffaeeeb,#f7eed6db 70%,#f7eed600 100%);width:min(560px,100%);margin:0 auto;position:relative}.theme-park .rail-track{background-image:radial-gradient(#e8f4d6f2,#e2eecde0 70%,#e2eecd00 100%)}.theme-port .rail-track{background-image:radial-gradient(#dcecf2f2,#cee2eae0 70%,#cee2ea00 100%)}.rail-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.rail-svg path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.rail-svg .bed{stroke:#8a6a3a;stroke-width:16px;opacity:.35}.rail-svg .done{stroke:var(--gold);stroke-width:6px}.stop-n{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)!important}.stop-n.bounce{animation:none!important}.stop-n .disc{width:62px;height:62px;color:var(--ink-hud);border:4px solid var(--ink-hud);background:#fff;border-radius:50%;place-items:center;font:800 26px/1 Be Vietnam Pro;transition:transform .12s;display:grid;box-shadow:0 5px #1f1a148c}.stop-n .disc .ico{width:30px;height:30px}.stop-n.current:not(.selected) .disc{color:#fff;background:var(--lacquer);animation:1.4s ease-in-out infinite stop-pulse}.stop-n.locked .disc{width:50px;height:50px;box-shadow:none;background:#d8d0bf;border-color:#8a8070}.stop-n.locked .disc .ico{width:24px;height:24px}.stop-n.boss .disc .ico{width:42px;height:42px}.stop-n.boss.done .disc{background:var(--lacquer)}.stop-n.selected .disc{box-shadow:0 5px 0 #1f1a148c, 0 0 0 5px #fff, 0 0 0 9px var(--ink-hud);transform:scale(1.12);animation:none!important}.stop-n .st3{clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%);background:#1f1a14d9;gap:0;padding:2px 5px;display:flex;position:absolute;top:calc(100% + 2px)}.stop-n .st3 .ico{width:13px;height:13px}.stop-n .st3 .off .ico{color:#fff3}.stop-n.chest .ico{filter:drop-shadow(0 4px #1f1a1466);width:44px;height:44px}.stop-n.chest.ready .ico{animation:1s ease-in-out infinite chest-bounce}@keyframes chest-bounce{50%{transform:translateY(-6px)rotate(-6deg)}}.stop-n.stall{gap:2px}.stop-n.stall .ico{filter:drop-shadow(0 4px #1f1a1466);width:46px;height:46px}.stop-n .lbl{letter-spacing:1px;white-space:nowrap;color:var(--ink-hud);background:#fff;padding:2px 6px;font:800 10px Be Vietnam Pro}.rail-card{left:50%;bottom:max(14px, env(safe-area-inset-bottom));z-index:2;width:min(640px,100% - 24px);position:absolute;transform:translate(-50%)}.bring{cursor:pointer;background:#1f1a140f;border:2px solid #0000;place-items:center;width:40px;height:40px;padding:0;display:grid;position:relative}.bring .ico{width:24px;height:24px}.bring i{font:800 10px Be Vietnam Pro;position:absolute;bottom:0;right:2px}.bring.on{border-color:var(--ink-hud);background:#e8a91c59}.bring.empty{opacity:.4}.shop{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.card{color:var(--ink-hud);background:var(--paper-hud);clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);flex-direction:column;gap:6px;padding:12px;display:flex;position:relative;box-shadow:0 8px 22px #00000040}.card.locked{opacity:.7}.card.owned{box-shadow:0 8px 22px #00000040, inset 0 4px 0 var(--gold)}.card.equipped{box-shadow:0 8px 22px #00000040, inset 0 4px 0 var(--lacquer)}.pips{gap:3px;margin-left:auto;display:inline-flex}.pips i{background:#1f1a1426;width:10px;height:10px;transform:skew(-12deg)}.pips i.on{background:var(--gold)}.stats{gap:2px;display:grid}.stats .st{justify-content:space-between;font:600 12px Be Vietnam Pro;display:flex}.stats em{color:#2f7a25;font-style:normal}.buy{cursor:pointer;letter-spacing:.5px;color:#fff;background:var(--lacquer);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);border:0;justify-content:center;align-items:center;gap:5px;min-height:40px;margin-top:auto;padding:8px 12px;font:800 14px Be Vietnam Pro;display:inline-flex}.buy .ico{width:18px;height:18px}.buy:hover:not(:disabled){filter:brightness(1.1)}.buy:disabled{cursor:default;color:var(--ink-soft);background:#1f1a141a}#touch{z-index:8;touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}#touch .stick{opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffff2e,#ffffff0f 70%);border:3px solid #ffffff8c;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;transition:opacity .12s;position:absolute;top:0;left:0}#touch .stick.on{opacity:1}#touch .stick .knob{border:3px solid var(--ink-hud);background:#ffffffe6;border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%}#touch .stick.aim{border-color:#ff785abf}#touch .stick.aim .knob{background:var(--lacquer)}#touch .tbtn{width:54px;height:54px;color:var(--ink-hud);touch-action:none;background:#f7f2e6e6;border:0;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 4px #1f1a1473}#touch .tbtn.big{color:#fff;background:var(--lacquer);width:66px;height:66px}#touch .tbtn .ico{width:28px;height:28px}#touch .tbtn:active{transform:translateY(3px);box-shadow:0 1px #1f1a1473}#touch .tbtn.pause{right:max(12px, env(safe-area-inset-right));top:max(12px, env(safe-area-inset-top));width:44px;height:44px;position:absolute}#touch .thint{pointer-events:none;opacity:0;justify-content:space-around;display:flex;position:absolute;bottom:40%;left:0;right:0}#touch .thint span{color:#fff;background:#1f1a14b3;padding:6px 12px;font:800 13px Be Vietnam Pro}body.touch #crosshair{display:none!important}body.touch #game{cursor:default}body.touch .hud-player{left:max(10px, env(safe-area-inset-left));top:max(10px, env(safe-area-inset-top));width:210px;padding:7px 10px 8px;bottom:auto}body.touch #powerups{top:112px;bottom:auto;left:10px}body.touch .hud-top{padding:6px 22px 7px}body.touch .hud-top .cell{min-width:48px;padding:0 8px}body.touch .hud-top .cell:nth-child(3){display:none}body.touch #guide-arrow .label{display:none}@media (max-width:760px),(max-height:520px){.rail-top{gap:8px;padding:8px 10px}.rail-top .icon-btn span{display:none}.ch-tab{padding:5px 10px 5px 8px;font-size:13px}.wallet{padding:5px 10px 5px 6px;font-size:14px}.bring{width:36px;height:36px}.card{padding:9px}.hud-top .cell{min-width:44px;padding:0 7px}.hud-top b{font-size:17px}.hud-card{width:220px}#banner{padding:8px 20px;font-size:20px}}@media (max-height:520px){.rail-scroll{padding-bottom:170px}}@media (max-height:520px) and (min-width:561px){#overlay[data-kind=title]{padding:10px 16px 10px max(22px, env(safe-area-inset-left));justify-content:center;gap:8px}#overlay[data-kind=title] .logo .l1,#overlay[data-kind=title] .logo .l2{font-size:clamp(30px,9vh,46px)}#overlay[data-kind=title] .logo .mascot{width:44px}#overlay[data-kind=title] .tagline{padding:0 0 8px;font-size:13px;line-height:1.4}#overlay[data-kind=title] .tagline:before{margin-bottom:3px}#overlay[data-kind=title] #overlay-buttons{gap:8px}#overlay[data-kind=title] #overlay-buttons button{min-width:260px;padding-top:11px;padding-bottom:11px}#overlay[data-kind=title] #overlay-buttons button.primary{padding-top:13px;padding-bottom:13px;font-size:17px}#overlay[data-kind=title] .title-extra{flex-flow:wrap;gap:8px}#overlay[data-kind=title] .title-tiles .tile{padding:6px 10px 6px 8px;font-size:12px}#overlay[data-kind=title] .title-stats span{padding:4px 10px;font-size:13px}#overlay[data-kind=title] .disclaimer{display:none}}body.touch #overlay[data-kind=title] #overlay-buttons .ghost-btn{display:none}@media (max-height:560px) and (min-width:600px){.rail-body{flex-direction:row}.rail-scroll{padding-bottom:20px}.rail-card{flex:none;width:min(360px,44vw);max-height:100%;padding:8px 10px 8px 0;position:static;overflow-y:auto;transform:none}.rail-top{padding-top:6px;padding-bottom:6px}}#touch .tbtn.big{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:relative}#touch .tbtn.big .ico{width:20px;height:20px}@media (max-width:560px){.rail-top{flex-wrap:wrap;row-gap:6px;overflow:hidden}.ch-tabs{touch-action:none;flex:100%;order:3;justify-content:stretch;overflow:hidden}.ch-tab{flex:1 1 0;min-width:0}.rail-card{width:calc(100% - 16px);bottom:max(8px, env(safe-area-inset-bottom))}.rail-scroll{padding-bottom:300px}}.slots{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}:root{--mask-brush:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20400%20100%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M0.0%205.6%20L16.7%207.2%20L35.7%206.7%20L54.4%200.3%20L68.0%208.5%20L83.7%208.1%20L93.3%204.2%20L104.5%204.9%20L119.3%200.1%20L130.2%202.5%20L148.8%206.9%20L159.0%207.2%20L169.0%205.6%20L178.8%200.0%20L196.9%201.9%20L207.8%208.8%20L225.9%202.6%20L245.1%204.9%20L261.1%201.8%20L280.0%206.2%20L299.3%208.0%20L311.0%203.3%20L321.3%201.3%20L330.4%202.7%20L345.5%200.0%20L361.5%203.0%20L373.4%207.4%20L387.2%202.8%20L400.0%206.3%20L399.3%200.0%20L399.7%2013.8%20L389.4%2026.1%20L390.1%2033.2%20L392.7%2042.8%20L399.4%2049.8%20L388.0%2058.1%20L390.5%2066.5%20L388.1%2080.0%20L395.5%2089.4%20L400.0%2093.0%20L390.4%2093.3%20L373.1%2092.3%20L364.3%2091.5%20L354.8%2096.9%20L339.6%2091.7%20L327.4%2091.7%20L312.9%2097.2%20L300.9%2098.4%20L291.7%2098.7%20L275.5%2091.0%20L265.3%2099.6%20L245.9%2095.2%20L232.9%2097.9%20L217.9%2092.6%20L204.4%2096.2%20L195.3%2091.8%20L186.6%2095.6%20L168.8%2098.8%20L152.2%2091.5%20L136.7%2092.9%20L127.1%2096.1%20L117.1%2092.4%20L105.4%2095.9%20L85.8%2092.3%20L66.4%2095.9%20L52.6%2093.4%20L38.8%2097.4%20L25.9%2098.7%20L13.3%2091.1%20L7.9%20100.0%20L4.3%2089.5%20L3.4%2081.9%20L10.9%2069.4%20L9.9%2059.9%20L8.8%2047.5%20L9.6%2035.8%20L8.9%2026.3%20L6.1%2017.3%20L8.7%204.9Z%27%20fill%3D%27black%27/%3E%3C/svg%3E);--mask-paper:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20400%20400%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M0.0%201.4%20L24.7%200.8%20L45.6%200.5%20L60.0%206.0%20L73.8%203.9%20L91.2%202.7%20L109.1%201.2%20L131.9%200.5%20L146.1%200.1%20L160.7%202.4%20L184.5%202.3%20L196.9%201.6%20L222.0%200.4%20L241.7%202.3%20L262.1%202.0%20L282.8%203.0%20L303.0%205.4%20L322.1%200.9%20L333.9%205.7%20L351.7%201.2%20L376.1%203.5%20L397.4%205.3%20L400.0%202.1%20L392.6%200.0%20L393.6%2010.2%20L394.2%2020.1%20L392.0%2035.4%20L395.8%2052.0%20L398.7%2062.8%20L395.7%2076.5%20L392.4%2086.2%20L394.1%2099.8%20L398.0%20110.7%20L397.1%20119.8%20L396.4%20131.2%20L393.0%20143.6%20L398.5%20160.7%20L398.6%20173.2%20L391.8%20188.2%20L393.6%20199.0%20L399.9%20210.7%20L397.1%20226.6%20L396.3%20237.1%20L396.6%20248.2%20L396.5%20261.2%20L397.6%20275.5%20L399.3%20285.4%20L395.6%20295.3%20L393.2%20307.6%20L394.1%20321.1%20L399.5%20338.9%20L398.8%20348.1%20L395.2%20360.6%20L397.0%20376.3%20L400.0%20393.9%20L400.0%20398.7%20L376.6%20399.8%20L351.9%20395.4%20L326.8%20396.5%20L313.5%20394.2%20L296.3%20399.5%20L276.8%20397.0%20L259.2%20399.1%20L246.6%20396.5%20L229.3%20399.2%20L212.2%20395.6%20L191.1%20397.2%20L174.6%20397.8%20L160.6%20398.8%20L143.3%20399.4%20L122.1%20395.8%20L102.5%20399.9%20L86.4%20397.4%20L74.3%20394.2%20L52.6%20397.0%20L31.7%20398.8%20L17.6%20396.8%20L5.4%20400.0%20L5.2%20390.9%20L6.2%20373.8%20L8.2%20356.4%20L2.5%20345.4%20L8.2%20331.5%20L7.9%20319.1%20L4.3%20302.5%20L8.0%20287.9%20L2.5%20271.8%20L1.6%20255.2%20L8.1%20242.9%20L2.6%20226.3%20L5.1%20214.6%20L5.7%20198.1%20L6.1%20180.6%20L5.1%20164.2%20L3.6%20152.0%20L4.4%20138.6%20L2.3%20122.0%20L6.2%20112.4%20L3.5%20101.0%20L7.0%2090.9%20L2.4%2079.5%20L4.2%2063.2%20L7.5%2051.7%20L3.0%2039.0%20L6.6%2021.3%20L2.1%205.6Z%27%20fill%3D%27black%27/%3E%3C/svg%3E);--mask-torn:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20400%201000%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M0.0%200.0%20L392.0%200.0%20L384.8%200.0%20L377.2%2019.0%20L383.9%2036.4%20L389.0%2055.8%20L381.9%2074.0%20L390.5%2096.7%20L390.5%20111.5%20L380.9%20134.5%20L376.3%20145.2%20L381.5%20170.6%20L389.5%20190.4%20L383.5%20200.7%20L389.0%20211.6%20L391.5%20225.5%20L385.0%20242.9%20L383.7%20266.4%20L384.0%20286.7%20L384.7%20307.3%20L376.0%20321.7%20L378.6%20347.6%20L387.0%20369.0%20L387.4%20382.6%20L379.7%20393.8%20L378.5%20410.2%20L376.7%20426.4%20L392.0%20449.9%20L377.4%20463.3%20L376.3%20480.8%20L390.8%20497.1%20L379.5%20517.2%20L390.6%20531.5%20L376.6%20546.9%20L390.1%20569.0%20L390.4%20582.9%20L379.2%20593.9%20L383.1%20606.7%20L388.9%20623.9%20L389.9%20645.6%20L390.1%20665.9%20L388.6%20682.6%20L376.5%20696.9%20L387.1%20719.8%20L388.6%20744.0%20L378.3%20760.3%20L390.4%20780.5%20L388.6%20806.4%20L379.6%20820.5%20L387.3%20835.8%20L390.6%20846.9%20L388.1%20866.3%20L386.1%20885.9%20L376.7%20903.1%20L382.8%20920.9%20L389.1%20944.7%20L377.5%20957.2%20L388.0%20980.3%20L380.2%20993.3%20L392.0%201000.0%20L0.0%201000.0Z%27%20fill%3D%27black%27/%3E%3C/svg%3E);--cream:#f7f1e3;--cream-2:#efe5cf;--red:#c8302a;--red-dk:#8f1f1a;--gold:#f2b631;--gold-dk:#b8760c;--ink:#241a14;--green:#3f8a2e;--font-display:"Baloo 2", system-ui, sans-serif}img.ico.pic{object-fit:contain;vertical-align:-.45em;filter:drop-shadow(0 1px #00000026);width:1.6em;height:1.6em}.off img.ico,img.ico.off{filter:grayscale()brightness(1.25);opacity:.35}img.wico{object-fit:contain;width:100%;height:100%;display:block}img.portrait{object-fit:cover;object-position:50% 30%;width:100%;height:100%;display:block}.mascot img.mascot-img{filter:drop-shadow(0 4px #241a1459);width:100%;height:auto;display:block}.screen button.primary,.screen button.secondary{clip-path:none;-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;mask:var(--mask-brush) center / 100% 100% no-repeat;font:800 20px/1 var(--font-display);letter-spacing:1.5px;text-transform:uppercase;color:#fff;text-shadow:0 2px #00000059;box-shadow:none;border:0;border-radius:0;padding:17px 40px 15px;transition:transform .16s cubic-bezier(.3,1.6,.5,1),filter .15s;animation:none;position:relative;overflow:hidden}.screen button.primary{background:linear-gradient(180deg, #e0463a 0%, var(--red) 55%, #a8261f 100%)}.screen button.secondary{color:#fff;background:linear-gradient(#3a2e28 0%,#231a15 100%)}.screen button.primary:before,.screen button.secondary:before{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffff73 45%,#0000 60%) -150% 0/220% 100% no-repeat;transition:background-position;position:absolute;inset:0}@media (hover:hover){.screen button.primary:hover,.screen button.secondary:hover{filter:brightness(1.08);box-shadow:none;transform:translateY(-3px)rotate(-.6deg)}.screen button.primary:hover:before,.screen button.secondary:hover:before{background-position:150% 0;transition:background-position .6s}}.screen button.primary:active,.screen button.secondary:active{box-shadow:none;transition-duration:60ms;transform:translateY(2px)scale(.96,.9)}.ripple{pointer-events:none;background:#ffffff8c;border-radius:50%;animation:.55s ease-out forwards ripple;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(4)}}button.bounce{animation:.35s cubic-bezier(.3,1.8,.5,1) btn-bounce!important}@keyframes btn-bounce{0%{transform:scale(.94,.9)}60%{transform:scale(1.04,1.06)}to{transform:none}}.logo{gap:0;position:relative}.logo .mascot{z-index:2;width:clamp(80px,11vw,140px);margin-right:-.6em;position:relative;transform:rotate(-8deg)}.logo .words{z-index:1;position:relative}.logo .toon-text,#overlay[data-kind=title] .logo .l1,#overlay[data-kind=title] .logo .l2{font-family:var(--font-display);letter-spacing:-1px;-webkit-text-stroke:.09em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink), 0 .1em 0 #241a1459;filter:drop-shadow(0 0 .04em #fff)drop-shadow(0 0 .04em #fff);font-weight:800;line-height:.82}.logo .l1{color:#ffcf33;background:0 0}.logo .l2{color:#ef4630}#overlay[data-kind=title]{background:linear-gradient(#0000 75%,#241a1438);gap:14px;padding-left:clamp(30px,5vw,80px)}#overlay[data-kind=title]:before{background:linear-gradient(90deg, var(--red) 0 12px, var(--gold) 12px 16px, transparent 16px), radial-gradient(ellipse at 30% 20%, #fffaf0, transparent 70%), var(--cream);width:min(560px,46vw);-webkit-mask:var(--mask-torn) right / 100% 100% no-repeat;-webkit-mask:var(--mask-torn) right / 100% 100% no-repeat;mask:var(--mask-torn) right / 100% 100% no-repeat;filter:drop-shadow(6px 0 10px #00000040)}#overlay[data-kind=title]>*{z-index:1;max-width:min(470px,40vw);position:relative}#overlay[data-kind=title]>.popup{z-index:40;position:fixed}#overlay[data-kind=title] .logo{margin-left:-10px;animation:3.2s ease-in-out infinite logo-bob-left}#overlay[data-kind=title] .logo .l2{margin-left:.2em}#overlay[data-kind=title] .tagline{color:#3a2c22;padding:0;font:italic 600 16px/1.45 Be Vietnam Pro,system-ui}#overlay[data-kind=title] .tagline:before{color:#fff;background:var(--red);-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;mask:var(--mask-brush) center / 100% 100% no-repeat;font:800 14px/1 var(--font-display);letter-spacing:2px;margin-bottom:10px;padding:7px 14px 6px;display:table}#overlay[data-kind=title] .tagline:after{display:none}#overlay[data-kind=title] #overlay-buttons{gap:10px}#overlay[data-kind=title] #overlay-buttons button{text-align:left;min-width:min(400px,38vw);padding:20px 34px 18px;font-size:24px}#overlay[data-kind=title] #overlay-buttons button.primary{padding:24px 34px 22px;font-size:30px}#overlay[data-kind=title] #overlay-buttons button.secondary{background:linear-gradient(#3a2e28,#1d1612)}#overlay[data-kind=title] #overlay-buttons button.secondary:after{content:"∞";float:right;margin-right:6px;font-size:1.2em;line-height:.8}#overlay[data-kind=title] #overlay-buttons .ghost-btn{color:#6a5a4a}.title-tiles .tile,.title-stats span{clip-path:none;color:var(--ink);background:#fffaf0;border:2px solid #241a1429;border-radius:10px;box-shadow:0 4px #241a142e}.title-tiles .tile{font:700 15px var(--font-display);padding:8px 16px 8px 8px}.title-tiles .tile img.ico{width:44px;height:44px}.title-tiles .tile:active{transform:translateY(2px);box-shadow:0 1px #241a142e}.title-stats{gap:10px}.title-stats span{font:800 17px var(--font-display);padding:6px 14px 6px 8px}.title-stats b{color:var(--ink)}.popup-card{background:var(--cream);clip-path:none;-webkit-mask:var(--mask-paper) center / 100% 100% no-repeat;-webkit-mask:var(--mask-paper) center / 100% 100% no-repeat;mask:var(--mask-paper) center / 100% 100% no-repeat;border-radius:0}.popup-card h3{font:800 26px var(--font-display)}@keyframes chest-wobble{15%,45%,75%{transform:translate(-50%)rotate(-7deg)}30%,60%,90%{transform:translate(-50%)rotate(7deg)}}@keyframes chest-pop{0%{transform:translate(-50%)scale(1)}40%{transform:translate(-50%)scale(1.25,.8)}to{transform:translate(-50%)scale(1)}}@keyframes rays{to{transform:rotate(360deg)}}#loading:before{background:repeating-linear-gradient(90deg, var(--red) 0 40px, #a8261f 40px 44px);height:14px;box-shadow:0 3px 0 var(--gold)}#loading .logo .mascot{width:clamp(90px,12vw,150px)}#loading .loading-bar{clip-path:none;height:26px;box-shadow:0 0 0 3px var(--ink), 0 4px 0 3px #0003;background:#3a2c22;border-radius:14px;width:min(520px,80vw);padding:4px}#loading #loading-fill{background:repeating-linear-gradient(90deg,#ffd23f 0 26px,#f2a91c 26px 30px);border-radius:9px;box-shadow:inset 0 3px #ffffff73}#loading .ld-tip{text-align:left;background:#fffaf0;border:2px solid #241a1426;border-left:0;border-radius:10px;align-items:center;gap:10px;padding:10px 16px;display:flex}#loading .ld-tip b{color:#fff;background:var(--red);-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;mask:var(--mask-brush) center / 100% 100% no-repeat;padding:4px 10px}#overlay[data-kind=rail]{background:#cfe3b0;overflow:hidden}#overlay[data-kind=rail] #overlay-sub,.rail{width:100%;height:100%;overflow:hidden}.rail-top{background:linear-gradient(180deg, #fbf5e6, var(--cream));touch-action:none;-webkit-user-select:none;user-select:none;overflow:hidden;box-shadow:0 4px #241a141f,0 8px 20px #00000026}.ch-tabs{touch-action:none;scrollbar-width:none;overflow:hidden!important}.ch-tab{clip-path:none;color:var(--ink);font-family:var(--font-display);touch-action:manipulation;background:#fffaf0;border:2px solid #241a1426;border-radius:10px;padding:6px 14px 4px;font-size:17px}.ch-tab small{color:var(--red);font-family:Be Vietnam Pro;font-weight:800}.ch-tab.on{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:inset 0 -4px 0 var(--red)}.ch-tab.on small{color:var(--gold)}.wallet{clip-path:none;font-family:var(--font-display);background:#fffaf0;border:2px solid #241a1426;border-radius:12px;font-size:18px;box-shadow:0 3px #241a1426}.icon-btn{clip-path:none;background:#fffaf0;border:2px solid #241a1426;border-radius:12px;box-shadow:0 3px #241a1426}.icon-btn.sq img.ico{width:34px;height:34px}.rail-scroll{z-index:0;background:#cfe3b0;position:relative}.rail-card{z-index:5}.rail-track{width:min(560px,100%);box-shadow:0 0 0 100vmax #cfe3b0;background:#cfe3b0 radial-gradient(circle,#5a8c3c2e 1.5px,#0000 2px) 0 0/22px 22px!important}.theme-port .rail-track,.theme-port .rail-scroll{background:#d9d4c4!important}#overlay[data-kind=rail]:has(.theme-port){background:#d9d4c4!important}.map-ground{width:100%;height:100%;position:absolute;inset:0}.map-ground .lake{fill:#6fb6d8}.map-ground .lake-rim{fill:none;stroke:#f4ead0;stroke-width:3px;vector-effect:non-scaling-stroke}.map-ground .sea{fill:#4f9fc4}.map-ground .street{fill:none;stroke:#efe3c4;stroke-width:18px;vector-effect:non-scaling-stroke;stroke-linecap:round}.map-deco{pointer-events:none;position:absolute;inset:0}.map-deco .deco{filter:drop-shadow(0 3px 2px #241a1440);position:absolute;transform:translate(-50%,-85%)}.rail-svg .ties{stroke:#7a5232;stroke-width:22px;stroke-dasharray:4 9}.rail-svg .rails{stroke:#9aa0a6;stroke-width:15px}.rail-svg .rails-core{stroke:#7a5232;stroke-width:9px}.rail-svg .done{stroke:var(--gold);stroke-width:5px;opacity:.9}.rail-svg .bed{display:none}.stop-n,.stop-n.bounce{position:absolute;animation:none!important;transform:translate(-50%,-50%)!important}.stop-n .ped{background:#8a8378;border-radius:50%;width:80px;height:30px;margin:14px 0 0 -40px;position:absolute;top:50%;left:50%;box-shadow:0 5px #5f594f}.stop-n .disc{z-index:1;border:4px solid var(--ink);width:66px;height:66px;font-family:var(--font-display);background:radial-gradient(circle at 35% 30%,#fff,#e9e2d2);transition:transform .12s,box-shadow .12s;position:relative;box-shadow:0 6px #241a1473}.stop-n:active .disc{transform:scale(.93)}.stop-n .disc img.ico{width:40px;height:40px}.stop-n.done .disc{background:radial-gradient(circle at 35% 30%, #fff1a8, var(--gold) 60%, var(--gold-dk))}.stop-n.done .ped{background:#b8860c;box-shadow:0 5px #7a5208}.stop-n.current .disc{color:#fff;background:radial-gradient(circle at 35% 30%, #ff7a5c, var(--red) 60%, #8f1f1a);box-shadow:0 6px #241a1473,0 0 0 8px #ff5a3c4d,0 0 26px 10px #ff5a3c59}.stop-n.current .ped{background:#c8302a;box-shadow:0 5px #7a1a16,0 0 20px #ff503c99}.stop-n.locked .disc{background:radial-gradient(circle at 35% 30%,#e6e2da,#a9a49b);border-color:#5a554e;width:58px;height:58px}.stop-n.boss .disc{background:radial-gradient(circle at 35% 30%, #4a3a32, var(--ink));border-color:var(--ink);width:84px;height:84px}.stop-n.boss .ped{background:#3a2c22;width:100px;margin-left:-50px;box-shadow:0 5px #1d1612}.stop-n .lbl{z-index:2;font:800 12px/1 var(--font-display);letter-spacing:1px;color:var(--ink);border:2px solid var(--ink);white-space:nowrap;background:#fffaf0;border-radius:6px;padding:4px 9px 3px;position:absolute;top:calc(100% + 10px)}.stop-n.boss .lbl{color:#fff;background:var(--ink)}.stop-n .st3{clip-path:none;z-index:2;background:0 0;gap:0;top:calc(100% + 8px)}.stop-n.chest img.ico,.stop-n.stall img.ico{z-index:1;filter:drop-shadow(0 4px #241a1459);width:66px;height:66px;position:relative}.stop-n.chest .ped{background:var(--red);box-shadow:0 5px #7a1a16}.stop-n.chest.ready .ped{box-shadow:0 5px #7a1a16,0 0 22px 6px #ffc83cb3}.stop-n.stall .lbl{top:auto;bottom:calc(100% + 2px)}.train{z-index:99999;pointer-events:none;filter:drop-shadow(0 4px 2px #241a144d);width:64px;animation:1.4s ease-in-out infinite train-idle;position:absolute;transform:translate(-115%,-70%)}@keyframes train-idle{50%{transform:translate(-115%,-74%)rotate(-2deg)}}.train.moving{transition:left 1.1s cubic-bezier(.5,0,.3,1),top 1.1s cubic-bezier(.5,0,.3,1);animation:none}.stop-n.unlocking .disc{animation:.5s ease-in-out lock-shake}@keyframes lock-shake{20%,60%{transform:rotate(-12deg)scale(1.05)}40%,80%{transform:rotate(12deg)scale(1.05)}}.shard{z-index:100000;border:2px solid var(--ink);pointer-events:none;background:#8a8f96;width:12px;height:12px;animation:.7s ease-out forwards shard;position:absolute}@keyframes shard{to{transform:translate(var(--dx), var(--dy)) rotate(260deg);opacity:0}}.rail-card{width:min(680px,100% - 20px)}.thumb{background:linear-gradient(#bfe3f2,#cfe3b0 60%);border:6px solid #fff;grid-area:thumb;height:130px;position:relative;overflow:hidden;transform:rotate(-4deg);box-shadow:0 4px 10px #00000040}.thumb:after{content:"";background:#f0e6c8cc;width:44px;height:16px;position:absolute;top:-8px;left:30%;transform:rotate(4deg)}.thumb.port{background:linear-gradient(#bfe3f2,#4f9fc4 55%,#d9d4c4 56%)}.thumb.night{background:linear-gradient(#1d2440,#34406a 60%,#2a3550)}.bring{background:#fffaf0;border:2px solid #241a1426;border-radius:10px;width:48px;height:48px}.bring img.ico{width:36px;height:36px}.bring i{color:#fff;background:var(--ink);border-radius:10px;place-items:center;min-width:20px;height:20px;font-size:11px;display:grid;bottom:-5px;right:-5px}.bring.on{border-color:var(--gold-dk);box-shadow:0 0 0 3px var(--gold);background:#ffe7a0}@media (max-width:560px){.thumb{border-width:4px;height:96px}}@media (max-height:560px) and (min-width:600px){.thumb{display:none}}#hud{--hud-paper:#fbf5e6}.hud-header{--hud-h:54px;top:max(8px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));pointer-events:none;z-index:10;align-items:center;gap:8px;display:flex;position:absolute}.hud-player-unit,.hud-mission-unit,.hud-coins-pill,#hud-pause{pointer-events:auto;border:3px solid var(--ink);box-sizing:border-box;height:var(--hud-h);box-shadow:0 4px #241a1466}.hud-player-unit,.hud-mission-unit,.hud-coins-pill{background:linear-gradient(180deg, #fffaf0, var(--cream-2));color:var(--ink)}.hud-player-unit{border-radius:14px;flex:0 200px;align-items:center;min-width:118px;margin-left:4px;padding:5px 10px 6px 50px;display:flex;position:relative}.hp-avatar-wrap{width:52px;height:52px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.hp-avatar-wrap .hp-portrait{border:3px solid var(--ink);background:linear-gradient(#bfe6f5,#fff0cb);border-radius:50%;width:100%;height:100%;overflow:hidden;box-shadow:0 3px #241a1466}.hp-avatar-wrap .hp-portrait img,.hp-avatar-wrap .hp-portrait svg{object-fit:cover;width:100%;height:100%;display:block}.hp-avatar-wrap .lv-badge{min-width:22px;height:22px;font:800 13px/1 var(--font-display);color:#fff;-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;border:2px solid var(--ink);background:linear-gradient(#6fd246,#2d801d);border-radius:11px;place-items:center;padding:0 4px;display:grid;position:absolute;bottom:-4px;right:-4px}.hp-avatar-wrap .lv-badge.up{animation:.5s cubic-bezier(.3,1.8,.5,1) lv-up}@keyframes lv-up{40%{transform:scale(1.4)}}.hud-player-unit .hp-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.hud-player-unit .hc-row{justify-content:space-between;align-items:baseline;gap:6px;line-height:1;display:flex}.hud-player-unit .hc-name{font:800 13px/1 var(--font-display);letter-spacing:1px;white-space:nowrap}.hud-player-unit .hp-val{white-space:nowrap;align-items:baseline;gap:2px;display:inline-flex}.hud-player-unit .hp-val b{font:800 20px/.9 var(--font-display);font-variant-numeric:tabular-nums;color:#ff5a4a;-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill}.hud-player-unit .hp-val i{font:800 10px/1 var(--font-display);color:var(--red-dk);font-style:normal}.hud-player-unit .hpbar{border:2px solid var(--ink);background:#4a3a30;border-radius:7px;height:12px;position:relative;overflow:hidden}#hp-fill{background:linear-gradient(#ff8a6e 0%,#e8392e 55%,#b4231c 100%);width:100%;height:100%;transition:width .2s cubic-bezier(.2,.8,.4,1);box-shadow:inset 0 2px #ffffff73}#hp-fill.low{animation:.6s ease-in-out infinite alternate hp-low-pulse}@keyframes hp-low-pulse{to{filter:brightness(1.45)}}#armor-fill{background:#6cc4ff;width:0;height:3px;position:absolute;bottom:0;left:0}.hud-mission-unit{border-radius:14px;flex-direction:column;flex:auto;justify-content:center;gap:4px;min-width:max-content;max-width:260px;margin:0 auto;padding:0 10px;display:flex}.mission-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.stage-tag{font:800 12px/1 var(--font-display);letter-spacing:.5px;color:#fff;background:linear-gradient(180deg, #e0463a, var(--red));clip-path:polygon(0 0,100% 0,calc(100% - 6px) 50%,100% 100%,0 100%);text-shadow:0 1px #00000059;flex:none;padding:3px 10px 2px 8px}.stage-tag b{color:#ffd23f}.stage-tag.off{display:none}.goal-info{align-items:center;gap:3px;min-width:0;display:flex}.goal-info i img.ico,.goal-info i svg{object-fit:contain;vertical-align:middle;width:18px;height:18px}.goal-info b{font:800 15px/1 var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap}.goal-track{border:2px solid var(--ink);background:#4a3a30;border-radius:6px;height:10px;overflow:hidden}#goal-fill{background:linear-gradient(#ffd23f,#f08a1c);width:0;height:100%;transition:width .2s cubic-bezier(.2,.8,.4,1);box-shadow:inset 0 2px #ffffff80}#goal-fill.boss{background:linear-gradient(#b866ff,#6a1fb0)}.hud-right-unit{pointer-events:auto;flex:none;align-items:center;gap:6px;display:flex}.hud-coins-pill{border-radius:14px;align-items:center;gap:4px;padding:0 12px 0 6px;display:flex}.hud-coins-pill i img.ico,.hud-coins-pill i svg{object-fit:contain;width:24px;height:24px;display:block}.hud-coins-pill b{font:800 18px/1 var(--font-display);font-variant-numeric:tabular-nums;color:#ffd23f;-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill}.hud-coins-pill.bump b{animation:.25s cubic-bezier(.3,1.8,.5,1) coin-bump;display:inline-block}#hud-pause{width:var(--hud-h);background:linear-gradient(180deg, #e0463a, var(--red) 60%, #a8261f);color:#fff;cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;transition:transform .1s;display:grid}#hud-pause:active{transform:translateY(3px);box-shadow:0 1px #241a1466}#hud-pause svg,#hud-pause img.ico{filter:brightness(0)invert();width:18px;height:18px}.hud-gun{left:max(12px, env(safe-area-inset-left));bottom:max(12px, env(safe-area-inset-bottom));align-items:center;gap:10px;width:250px;padding:6px 12px 6px 8px;display:flex}.gun-pic{background:#241a1412;border-radius:10px;flex:none;width:76px;height:46px;padding:2px}.gun-text{flex-direction:column;min-width:0;display:flex}.gun-text #weapon-name{font:800 16px/1.1 var(--font-display)}.gun-text #ammo{font:800 22px/1 var(--font-display)}.hud-gun .reload{height:4px;position:absolute;bottom:4px;left:10px;right:10px}.slot{background:var(--hud-paper);border:3px solid var(--ink);border-radius:12px;height:66px;padding:14px 4px 4px;box-shadow:0 4px #241a1459}.slot .k{width:24px;height:24px;font:800 13px var(--font-display);color:#fff;background:var(--ink);border-radius:50%;place-items:center;display:grid;top:-12px;left:50%;transform:translate(-50%)}.slot .wico{height:40px}.slot.active{border-color:var(--ink);box-shadow:0 4px 0 #241a1459, 0 0 0 4px var(--gold);background:#ffe7a0;transform:translateY(-4px)}.slot.active .k{background:var(--red)}.slot.empty{opacity:.6}#powerups{left:max(12px, env(safe-area-inset-left));bottom:calc(max(12px, env(safe-area-inset-bottom)) + 170px)}#powerups .powerup{border:2px solid var(--ink);background:var(--hud-paper);border-radius:10px}#newspaper{clip-path:none;border:3px solid var(--ink);background:#fffaf0;border-left-width:3px;border-radius:14px;box-shadow:0 5px #241a144d}body.touch .hud-player{top:max(8px, env(safe-area-inset-top));width:250px;padding:6px 10px 8px 6px;bottom:auto}body.touch .hud-gun,body.touch .hud-top .cell:nth-child(3){display:none}body.touch .hud-top{left:calc(50% + 60px)}body.touch .hud-top b{font-size:18px}body.touch .hud-top .cell{padding:4px 10px 4px 6px}body.touch .hud-top .cell i img.ico{width:24px;height:24px}#touch .stick.rest{opacity:.6}#touch .stick.rest,#touch .stick.on{transition:none}#touch .stick.move.rest:before,#touch .stick.move.rest:after{content:"▲";color:#fffc;font-size:12px;position:absolute;top:4px;left:50%;transform:translate(-50%)}#touch .stick.move.rest:after{content:"▼";top:auto;bottom:4px}#touch .stick.aim .knob{background:radial-gradient(circle at 35% 30%, #ff7a5c, var(--red));border-color:#fff;place-items:center;width:76px;height:76px;margin:-38px 0 0 -38px;display:grid;box-shadow:0 5px #00000059}#touch .stick.aim .knob:after{content:"";width:34px;height:34px;box-shadow:inset 0 0 0 7px var(--red), inset 0 0 0 11px #fff;border:4px solid #fff;border-radius:50%}#touch .stick{background:#ffffff2e;border:4px solid #ffffffb3;width:150px;height:150px;margin:-75px 0 0 -75px}#touch .stick .knob{background:#fffaf0;border:4px solid #241a1466;width:64px;height:64px;margin:-32px 0 0 -32px}#touch .tbtn.big{background:radial-gradient(circle at 35% 30%, #ff7a5c, var(--red));border:4px solid #fff;width:82px;height:82px}#touch .tbtn{border:3px solid var(--ink);background:#fffaf0}.hud-top span{white-space:nowrap}#overlay[data-kind=results],#overlay[data-kind=gameover],#overlay[data-kind=""]{background:radial-gradient(at 50% 40%,#ffe6aa40,#1e140a8c 75%);gap:10px;padding-top:10px}#overlay[data-kind=results]{align-items:center;padding-left:min(22vw,300px)}.result-stars{z-index:3;gap:4px;margin-bottom:-26px;position:relative}.result-stars .star img.ico{filter:drop-shadow(0 6px #241a1466);width:92px;height:92px}.result-stars .star:nth-child(2) img.ico{width:124px;height:124px;margin-bottom:14px}.result-stars .star{animation:.6s cubic-bezier(.3,1.8,.5,1) backwards star-in;position:relative}.result-stars .star:first-child{animation-delay:.15s}.result-stars .star:nth-child(2){animation-delay:.45s}.result-stars .star:nth-child(3){animation-delay:.75s}.result-stars .star.off{animation-name:star-in-off}@keyframes star-in{0%{opacity:0;transform:scale(0)rotate(-120deg)}70%{opacity:1;transform:scale(1.25)rotate(10deg)}to{transform:none}}@keyframes star-in-off{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.result-stars .spark{pointer-events:none;opacity:0;background:repeating-conic-gradient(#ffdc5ae6 0 6deg, transparent 6deg 30deg);border-radius:50%;animation:.7s ease-out forwards spark;position:absolute;inset:-30%;-webkit-mask:radial-gradient(circle,#0000 35%,#000 36%,#0000 70%);mask:radial-gradient(circle,#0000 35%,#000 36%,#0000 70%)}.result-stars .star:first-child .spark{animation-delay:.45s}.result-stars .star:nth-child(2) .spark{animation-delay:.75s}.result-stars .star:nth-child(3) .spark{animation-delay:1.05s}@keyframes spark{0%{opacity:1;transform:scale(.4)rotate(0)}to{opacity:0;transform:scale(1.4)rotate(40deg)}}.rs-ribbon{z-index:2;font:800 clamp(28px, 4vw, 44px)/1 var(--font-display);letter-spacing:1px;color:#ffd23f;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;mask:var(--mask-brush) center / 100% 100% no-repeat;background:linear-gradient(#4fae3c,#2f7a25);padding:14px 54px 12px;animation:.5s cubic-bezier(.3,1.6,.5,1) .1s backwards ribbon-in;position:relative}@keyframes ribbon-in{0%{opacity:0;transform:scaleX(.2)}}.rs-card{background:var(--cream);width:min(620px,94vw);-webkit-mask:var(--mask-paper) center / 100% 100% no-repeat;-webkit-mask:var(--mask-paper) center / 100% 100% no-repeat;mask:var(--mask-paper) center / 100% 100% no-repeat;filter:drop-shadow(0 12px 20px #00000059);flex-direction:column;align-items:stretch;gap:12px;margin-top:-14px;padding:28px 22px 16px;animation:.4s cubic-bezier(.3,1.5,.5,1) backwards card-pop;display:flex}@keyframes card-pop{0%{opacity:0;transform:translateY(30px)scale(.92)}}.rs-stats{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.rs-stat{background:#fffaf0;border:2px solid #241a141a;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.rs-stat img.ico{width:38px;height:38px}.rs-stat span{letter-spacing:1px;color:#241a1499;font:800 10px Be Vietnam Pro}.rs-stat b{font:800 22px/1 var(--font-display);color:var(--ink)}.rs-coins{background:#fde9b4;border:2px solid #b8760c59;border-radius:14px;grid-template-columns:1fr 1fr 1.3fr;gap:6px;padding:8px;display:grid}.rs-coins>div{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:6px;display:grid}.rs-coins img.ico{grid-row:1/3;width:40px;height:40px}.rs-coins span{color:#241a14b3;font:700 12px Be Vietnam Pro}.rs-coins b{font:800 24px/1 var(--font-display);color:#2f7a25}.rs-coins .total{border-left:2px dashed #b8760c66;flex-direction:column;align-items:center;display:flex}.rs-coins .total b{color:var(--ink);align-items:center;gap:4px;font-size:30px;display:flex}.rs-coins .total b img.ico{width:30px;height:30px}#overlay[data-kind=results] .star-help{color:#ffffffd9;text-shadow:0 1px 3px #0009}#overlay[data-kind=results] #overlay-buttons,#overlay[data-kind=gameover] #overlay-buttons,#overlay[data-kind=""] #overlay-buttons{gap:12px}#overlay[data-kind=results] button.secondary,#overlay[data-kind=gameover] button.secondary,#overlay[data-kind=""] button.secondary{color:var(--ink);text-shadow:none;background:linear-gradient(#fffaf0,#efe5cf)}#overlay[data-kind=results] button.primary:after{content:" ▶"}.ribbon,.ribbon.danger{font:800 clamp(26px, 3.6vw, 40px)/1 var(--font-display);letter-spacing:1px;clip-path:none;box-shadow:none;color:#fff;-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);background:linear-gradient(180deg, #e0463a, var(--red));-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;mask:var(--mask-brush) center / 100% 100% no-repeat;padding:14px 54px 12px}.ribbon:not(.danger){background:linear-gradient(#3a2e28,#1d1612)}#overlay[data-kind=gameover] .tagline,#overlay[data-kind=""] .tagline{color:var(--ink);text-shadow:none;background:var(--cream);border-radius:12px;padding:12px 20px}@media (max-width:760px),(max-height:560px){#overlay[data-kind=results]{justify-content:flex-start;padding-left:16px;overflow-y:auto}.rs-stats{grid-template-columns:repeat(3,1fr)}.rs-stat:nth-child(n+4){display:none}.rs-coins{grid-template-columns:1fr 1fr}.rs-coins .total{border-top:2px dashed #b8760c66;border-left:0;grid-column:1/-1;padding-top:4px}.result-stars .star img.ico{width:64px;height:64px}.result-stars .star:nth-child(2) img.ico{width:84px;height:84px}.rs-card{gap:8px;padding:22px 14px 12px}}#overlay[data-kind=shop]{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#281a0e8c 0%,#281a0e59 62%,#281a0e00 80%)}.shop .icon-btn{background:#fffaf0}.colan{flex:1;align-items:flex-end;height:84px;display:flex;position:relative}.colan img{filter:drop-shadow(0 4px 4px #00000059);height:120px;margin-bottom:-26px}@keyframes bubble-in{0%{opacity:0;transform:scale(.6)}}.shop .wallet{background:#fffaf0}.card{clip-path:none;background:#fffaf0;border:3px solid #241a142e;border-radius:14px;transition:transform .15s;box-shadow:0 5px #241a142e}@media (hover:hover){.card:hover{transform:translateY(-3px)}}.card.owned{border-color:var(--gold);box-shadow:0 5px #b8760c66}.card.equipped{border-color:var(--red)}.card.locked{background:#d8d2c4}.pips{gap:5px;margin:0 auto}.pips i{background:#d8d2c4;border:2px solid #241a144d;border-radius:50%;width:13px;height:13px;transform:none}.pips i.on{background:radial-gradient(circle at 35% 30%, #fff1a8, var(--gold));border-color:var(--gold-dk)}.stats .st span{color:#241a14a6}.stats em{color:#2f7a25;font-weight:800}.buy{clip-path:none;min-height:44px;font:800 20px var(--font-display);-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;mask:var(--mask-brush) center / 100% 100% no-repeat;background:linear-gradient(180deg, #e0463a, var(--red));border-radius:0}.buy img.ico{width:26px;height:26px}.buy:disabled{color:#241a1499;background:#cfc6b4}.buy.alt{color:var(--ink);background:linear-gradient(#fffaf0,#e9dfc8)}.buy.alt.on{background:linear-gradient(180deg, #ffe08a, var(--gold))}@media (max-width:760px){.colan img{height:86px;margin-bottom:-18px}}.wipe{z-index:90;pointer-events:all;position:fixed;inset:0;overflow:hidden}.wipe-sheet{background:radial-gradient(circle, #241a140d 1px, transparent 1.5px) 0 0 / 16px 16px, var(--cream);border-left:22px solid var(--red);border-right:22px solid var(--red);box-shadow:0 0 0 6px var(--gold) inset, 0 0 40px #0006;place-items:center;display:grid;position:absolute;inset:-5% -25%;transform:translate(-130%)skew(-12deg)}.wipe-stamp{filter:drop-shadow(0 6px #241a144d);width:min(220px,40vw);animation:.45s cubic-bezier(.3,1.8,.5,1) .2s backwards stamp;transform:skew(12deg)rotate(-8deg)}@keyframes stamp{0%{opacity:0;transform:skew(12deg)rotate(-8deg)scale(2.2)}}.fly-coin{z-index:70;pointer-events:none;will-change:transform;filter:drop-shadow(0 0 6px #ffd23ce6);width:34px;height:34px;position:fixed}.feather{z-index:69;pointer-events:none;will-change:transform, opacity;background:#fffaf0;border:2px solid #241a1499;border-radius:50%/70% 70% 30% 30%;width:14px;height:26px;position:fixed}#callout.red{color:#ffcf33;text-shadow:0 5px 0 var(--ink), 0 0 30px #ff7828b3}#callout.show{animation:1.3s cubic-bezier(.2,1.4,.4,1) forwards callout-pop2}@keyframes callout-pop2{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(-8deg)}14%{opacity:1;transform:translate(-50%,-50%)scale(1.15)rotate(-4deg)}20%{transform:translate(calc(-50% - 6px),-50%)scale(1.08)rotate(-2deg)}26%{transform:translate(calc(6px - 50%),-50%)scale(1.1)rotate(-5deg)}32%{transform:translate(-50%,-50%)scale(1)rotate(-3deg)}75%{opacity:1;transform:translate(-50%,-62%)scale(1)rotate(-3deg)}to{opacity:0;transform:translate(-50%,-85%)scale(.95)rotate(-3deg)}}.lock-cover{background:radial-gradient(circle at 35% 30%,#e6e2da,#a9a49b);border:4px solid #5a554e;border-radius:50%;place-items:center;display:grid;position:absolute;inset:-4px}.lock-cover img.ico{width:36px;height:36px}.stop-n.unlocking .lock-cover{animation:.45s ease-in-out lock-shake}body.touch #banner{font-size:20px;top:32%}@media (max-width:760px){#overlay[data-kind=title]{padding:16px 16px max(18px, env(safe-area-inset-bottom));background:0 0;justify-content:flex-end;align-items:stretch;gap:10px}#overlay[data-kind=title]:before{background:linear-gradient(180deg, var(--red) 0 10px, var(--gold) 10px 14px, transparent 14px), var(--cream);clip-path:polygon(0 4%,6% 0,14% 3%,24% 0,35% 2.5%,47% 0,58% 3%,70% .5%,81% 3%,92% 0,100% 2.5%,100% 100%,0 100%);width:auto;height:66%;inset:auto 0 0;-webkit-mask:none;mask:none}#overlay[data-kind=title]>*{max-width:none}#overlay[data-kind=title] .logo{align-self:center;margin:0 0 4px}#overlay[data-kind=title] .logo .l1,#overlay[data-kind=title] .logo .l2{font-size:clamp(40px,12vw,60px)}#overlay[data-kind=title] .logo .mascot{width:76px}#overlay[data-kind=title] #overlay-sub{align-items:center}#overlay[data-kind=title] .tagline{text-align:center;font-size:14px}#overlay[data-kind=title] .tagline:before{margin:0 auto 8px}#overlay[data-kind=title] #overlay-buttons button{width:100%;min-width:0;padding:16px 26px 14px;font-size:21px}#overlay[data-kind=title] #overlay-buttons button.primary{padding:19px 26px 17px;font-size:26px}#overlay[data-kind=title] .title-extra{align-items:stretch}#overlay[data-kind=title] .title-tiles{grid-template-columns:1fr 1fr;display:grid}#overlay[data-kind=title] .title-tiles .tile{justify-content:flex-start;font-size:13px}#overlay[data-kind=title] .title-tiles .tile img.ico{width:34px;height:34px}#overlay[data-kind=title] .title-stats{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}#overlay[data-kind=title] .title-stats span{justify-content:center;padding:5px 6px;font-size:14px}#overlay[data-kind=title] .title-stats span img.ico{width:24px;height:24px}#overlay[data-kind=title] .disclaimer{display:none}}:root{--fs-xs:11px;--fs-s:13px;--fs-m:15px;--fs-l:18px;--fs-xl:22px}#overlay[data-kind=title]>*{max-width:min(400px,36vw)}#overlay[data-kind=title]{gap:12px}#overlay[data-kind=title] .logo .l1,#overlay[data-kind=title] .logo .l2{font-size:clamp(38px,4.4vw,64px)}#overlay[data-kind=title] .logo .mascot{width:clamp(64px,7vw,100px)}#overlay[data-kind=title] .tagline{font-size:var(--fs-s)}#overlay[data-kind=title] .tagline:before{font-size:var(--fs-xs);margin-bottom:6px;padding:5px 10px 4px}#overlay[data-kind=title] #overlay-buttons button{min-width:min(360px,34vw);font-size:var(--fs-l);padding:14px 28px 12px}#overlay[data-kind=title] #overlay-buttons button.primary{font-size:var(--fs-xl);padding:17px 28px 15px}#overlay[data-kind=title] #overlay-buttons .ghost-btn{font-size:var(--fs-s);min-width:0;padding:4px 0}.title-next{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a14b3;align-items:center;gap:8px;display:flex}.title-next b{font:800 var(--fs-m) var(--font-display);color:var(--ink)}.title-next i{font:800 var(--fs-xs) var(--font-display);color:#fff;background:var(--ink);border-radius:6px;align-items:center;gap:2px;padding:2px 7px 1px 3px;font-style:normal;display:inline-flex}.title-next i img.ico{width:16px;height:16px}.title-tiles{gap:8px}.title-tiles .tile{font-size:var(--fs-s);padding:6px 12px 6px 6px}.title-tiles .tile img.ico,.title-tiles .tile>svg{width:32px;height:32px}.title-stats span{font-size:var(--fs-m);padding:4px 10px 4px 6px}.title-stats span img.ico{width:22px;height:22px}#overlay[data-kind=title] .disclaimer{opacity:.7;font-size:10px}.page-top{padding:10px max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));background:linear-gradient(180deg, #fbf5e6, var(--cream));align-items:center;gap:10px;display:flex;box-shadow:0 3px #241a141f,0 6px 16px #00000026}.page-top h2{font:800 var(--fs-xl)/1 var(--font-display);color:var(--ink);text-transform:uppercase;letter-spacing:1px;flex:1;margin:0}.page-top .icon-btn,.rail-top .icon-btn{place-items:center;width:42px;height:42px;padding:0;display:grid}.page-top .icon-btn svg,.rail-top .icon-btn svg{width:22px;height:22px}.wallet{font-size:var(--fs-m);padding:4px 12px 4px 6px}.ch-tab{font-size:var(--fs-m);padding:5px 12px 3px;line-height:1.05}.ch-tab small{letter-spacing:1px;font-size:9px;display:block}.ch-tab.locked{opacity:.55}#overlay[data-kind=shop]{background:radial-gradient(at 50% 30%,#fbf3df,#e9dcc0 70%,#d9c8a4);justify-content:flex-start;padding:0}#overlay[data-kind=shop] #overlay-sub{align-items:stretch;gap:0;width:100%;height:100%;overflow-y:auto}.shop,.forge{flex-direction:column;width:100%;min-height:100%;display:flex}.stop-n .disc{border-width:3px;width:54px;height:54px}.stop-n .disc b{font-size:22px}.stop-n .disc img.ico,.stop-n .disc svg{width:30px;height:30px}.stop-n.locked .disc{width:46px;height:46px}.stop-n.boss .disc{width:66px;height:66px}.stop-n.boss .disc img.ico{width:42px;height:42px;margin-top:-10px}.stop-n .ped{width:64px;height:24px;margin:10px 0 0 -32px}.stop-n.boss .ped{width:80px;margin-left:-40px}.stop-n .lbl{padding:3px 7px 2px;font-size:10px}.stop-n .st3 img.ico{width:16px;height:16px}.stop-n.selected .disc{outline-offset:3px;outline:3px solid #fff}.train{width:52px}.rail-scroll{padding-bottom:120px}.sc{color:var(--ink);background:var(--cream);border:3px solid var(--ink);border-radius:16px;align-items:center;gap:12px;padding:10px 12px 10px 10px;animation:.3s cubic-bezier(.3,1.5,.5,1) card-pop;display:flex;box-shadow:0 5px #241a1459,0 12px 24px #00000040}.sc.boss{background:linear-gradient(180deg, #fff3d6, var(--cream));border-color:var(--red)}.sc.locked{font-size:var(--fs-s);opacity:.92}.sc.locked>img.ico,.sc.locked>svg{flex:none;width:30px;height:30px}.sc.locked p{color:#241a14a6;margin:2px 0 0}.sc-num{width:46px;height:46px;font:800 var(--fs-xl) var(--font-display);color:#fff;background:radial-gradient(circle at 35% 30%, #ff7a5c, var(--red) 60%, #8f1f1a);border:3px solid var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.sc.boss .sc-num{background:radial-gradient(circle at 35% 30%, #4a3a32, var(--ink))}.sc-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sc-body>b{font:800 var(--fs-l)/1.1 var(--font-display);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sc-meta{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.sc-goal{background:#fde9b4;border-radius:8px;padding:2px 8px}.sc-ani,.sc-stars{gap:1px;display:inline-flex}.sc-ani img.ico,.sc-ani svg{width:24px;height:24px}.sc-stars img.ico,.sc-stars svg{width:18px;height:18px}.sc-stars .off img.ico{opacity:.5}.screen button.sc-play{font-size:var(--fs-l);flex:none;padding:13px 22px 11px}.w-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;width:min(1000px,100%);margin:0 auto;padding:14px;display:grid}.wcard{color:var(--ink);background:#fffaf0;border:3px solid #241a142e;border-radius:14px;flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex;position:relative;box-shadow:0 4px #241a142e}.wcard.on{border-color:var(--red);box-shadow:0 4px #8f1f1a73}.wcard.locked{background:#e4ddcd}.wcard.locked .w-art{filter:grayscale()brightness(.6);opacity:.6}.w-art{background:radial-gradient(circle at 50% 60%,#fff3d6,#0000 70%);border-radius:10px;place-items:center;height:70px;display:grid;position:relative}.w-art img,.w-art svg{width:auto;max-width:90%;height:auto;max-height:62px}.plus{font:800 var(--fs-s) var(--font-display);color:#fff;background:var(--red);border-radius:8px;padding:1px 7px 0;font-style:normal;position:absolute;top:4px;right:4px}.w-name{font:800 var(--fs-l)/1.1 var(--font-display)}.w-blurb{font:500 var(--fs-xs)/1.35 "Be Vietnam Pro", system-ui;color:#241a14b3;min-height:2.7em;margin:0}.w-stats{font:600 var(--fs-xs) "Be Vietnam Pro", system-ui;color:#241a14a6;gap:10px;display:flex}.w-stats b{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-s)}.w-row{gap:6px;margin-top:auto;display:flex}.w-row .buy{min-height:38px;font-size:var(--fs-s);color:#fff;cursor:pointer;border:0;flex:1;justify-content:center;align-items:center;gap:4px;display:inline-flex}.w-row .buy img.ico,.w-row .buy svg{width:20px;height:20px}.w-row .buy.alt{color:var(--ink)}.f-tabs{flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 14px 0;display:flex}.f-tabs button{cursor:pointer;background:#fffaf0;border:3px solid #241a142e;border-radius:12px;width:74px;height:50px;padding:4px;position:relative}.f-tabs button img,.f-tabs button svg{max-width:100%;max-height:100%}.f-tabs button i{font:800 10px var(--font-display);color:#fff;background:var(--ink);border-radius:6px;padding:1px 5px 0;font-style:normal;position:absolute;bottom:-6px;right:-6px}.f-tabs button.on{border-color:var(--red);background:#ffe7a0}.f-main{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:clamp(16px,4vw,48px);padding:16px;display:flex}.f-stage{place-items:center;width:min(300px,80vw);height:220px;display:grid;position:relative}.f-stage:before{content:"";opacity:.5;background:radial-gradient(circle,#ffc85073,#0000 65%);border-radius:50%;transition:opacity .3s;position:absolute;inset:10% 5% 0}.f-anvil{filter:drop-shadow(0 6px #241a1459);width:58%;position:absolute;bottom:0}.f-gun{transform-origin:50% 100%;filter:drop-shadow(0 4px 2px #00000059);place-items:center;width:48%;display:grid;position:absolute;bottom:46%}.f-gun img,.f-gun svg{object-fit:contain;width:100%;height:auto;max-height:110px}.f-lv{font:800 34px/1 var(--font-display);color:#ffd23f;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink);position:absolute;top:4px;right:8%}.f-stage.hammering .f-gun{animation:.3s ease-in-out 3 f-hit}.f-stage.hammering:before{opacity:1;animation:.3s ease-in-out 3 f-glow}.f-stage.win:before{opacity:1;background:radial-gradient(circle,#ffdc5af2,#0000 65%);animation:.8s ease-out f-burst}.f-stage.win .f-gun{animation:.6s cubic-bezier(.3,1.8,.5,1) f-up}.f-stage.lose .f-gun{filter:grayscale(.7)drop-shadow(0 4px 2px #00000059);animation:.5s ease-in-out f-shake}.f-stage.lose:before{opacity:.8;background:radial-gradient(circle,#3c323299,#0000 65%)}@keyframes f-hit{50%{transform:translateY(6px)scale(1.03,.94)}}@keyframes f-glow{50%{transform:scale(1.15)}}@keyframes f-burst{0%{transform:scale(.4)}to{transform:scale(1.2)}}@keyframes f-up{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-24px)scale(1.15)rotate(-6deg)}to{transform:none}}@keyframes f-shake{15%,55%{transform:translate(-8px)rotate(-4deg)}35%,75%{transform:translate(8px)rotate(4deg)}}.f-verdict{z-index:3;white-space:nowrap;font:800 var(--fs-xl)/1 var(--font-display);color:#fff;-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink);-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;-webkit-mask:var(--mask-brush) center / 100% 100% no-repeat;mask:var(--mask-brush) center / 100% 100% no-repeat;padding:10px 22px 8px;animation:.45s cubic-bezier(.3,1.8,.5,1) verdict;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.f-verdict.success{color:#ffd23f;background:linear-gradient(#4fae3c,#2f7a25)}.f-verdict.fail,.f-verdict.drop{background:linear-gradient(180deg, #e0463a, var(--red))}@keyframes verdict{0%{opacity:0;transform:translate(-50%,-50%)scale(2)}}.f-info{width:min(380px,92vw);color:var(--ink);background:var(--cream);border:3px solid var(--ink);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex;box-shadow:0 5px #241a144d}.f-info h3{font:800 var(--fs-xl)/1.1 var(--font-display);margin:0}.f-info h3 span{color:var(--red)}.f-rows{flex-direction:column;gap:4px;display:flex}.f-rows>div{font:600 var(--fs-s) "Be Vietnam Pro", system-ui;background:#fffaf0;border-radius:10px;grid-template-columns:1fr auto auto;align-items:baseline;gap:10px;padding:6px 10px;display:grid}.f-rows b{font:800 var(--fs-m) var(--font-display)}.f-rows em{font:800 var(--fs-m) var(--font-display);color:#2f7a25;font-style:normal}.f-chance{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;column-gap:10px;display:grid}.f-bar{background:#241a141f;border:2px solid #241a1440;border-radius:8px;height:14px;overflow:hidden}.f-bar i{background:linear-gradient(#8fdc5c,#3f8a2e);border-radius:6px;height:100%;display:block}.f-chance b{font:800 var(--fs-xl)/1 var(--font-display);color:#2f7a25}.f-chance span{font:600 var(--fs-xs) "Be Vietnam Pro", system-ui;color:#241a1499;grid-column:1/-1}.f-warn{font:600 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a14bf;margin:0}.f-warn b{color:var(--red)}.screen button.f-go{font-size:var(--fs-l);padding:15px 20px 13px}.screen button.f-go:disabled{filter:grayscale();opacity:.6;cursor:not-allowed}@media (max-width:420px){.hud-header{--hud-h:46px;left:max(6px, env(safe-area-inset-left));right:max(6px, env(safe-area-inset-right));gap:4px}.hud-player-unit{flex-basis:140px;min-width:102px;padding:4px 7px 5px 40px}.hp-avatar-wrap{width:44px;height:44px}.hud-player-unit .hc-name{display:none}.hud-player-unit .hp-val b{font-size:17px}.hud-player-unit .hp-val i{font-size:9px}.hud-player-unit .hpbar{height:10px}.hud-mission-unit{gap:3px;padding:0 6px}.mission-top{gap:4px}.stage-tag{padding:2px 8px 1px 6px;font-size:10px}.goal-info b{font-size:13px}.goal-info i img.ico,.goal-info i svg{width:15px;height:15px}.goal-track{height:8px}.hud-right-unit{gap:4px}.hud-coins-pill{gap:2px;padding:0 7px 0 4px}.hud-coins-pill i img.ico,.hud-coins-pill i svg{width:19px;height:19px}.hud-coins-pill b{font-size:14px}#hud-pause svg,#hud-pause img.ico{width:14px;height:14px}}.hud-gun{left:auto;right:max(12px, env(safe-area-inset-right));border-width:2px;width:210px;padding:4px 10px 6px 6px}.gun-pic{width:60px;height:36px}.gun-text #weapon-name{font-size:var(--fs-s)}.gun-text #ammo{font-size:var(--fs-l)}#powerups{bottom:calc(max(12px, env(safe-area-inset-bottom)) + 76px)}#callout{font-size:clamp(22px,3.4vw,40px)}#banner{padding:8px 28px;font-size:clamp(20px,2.8vw,32px)}#combo:not(:empty){font-size:var(--fs-s);top:104px}.toast{font-size:var(--fs-s)}.rs-ribbon,.ribbon,.ribbon.danger{padding:11px 42px 9px;font-size:clamp(22px,2.8vw,32px)}.result-stars .star img.ico{width:70px;height:70px}.result-stars .star:nth-child(2) img.ico{width:92px;height:92px}.rs-card{gap:10px;width:min(520px,94vw);padding:22px 18px 14px}.rs-stats{grid-template-columns:repeat(3,1fr)}.rs-stat img.ico,.rs-stat svg{width:30px;height:30px}.rs-stat b,.rs-coins b{font-size:var(--fs-l)}.rs-coins .total b{font-size:var(--fs-xl)}.rs-coins img.ico{width:30px;height:30px}.rs-new{text-align:center;font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:#fff;background:var(--red);border-radius:10px;padding:8px 12px;animation:.4s cubic-bezier(.3,1.5,.5,1) .8s backwards card-pop}.rs-new b{font-family:var(--font-display);font-size:var(--fs-m);color:#ffd23f}.star-help{font-size:var(--fs-xs)}#overlay[data-kind=results] #overlay-buttons button,#overlay[data-kind=gameover] #overlay-buttons button,#overlay[data-kind=""] #overlay-buttons button{font-size:var(--fs-m);padding:13px 26px 11px}.rs-card.lose{gap:10px}.lose-bar{border:2px solid var(--ink);background:#241a141f;border-radius:14px;height:26px;position:relative;overflow:hidden}.lose-bar>div{background:linear-gradient(90deg, #f2a91c, var(--red));height:100%}.lose-bar span{font:800 var(--fs-s) var(--font-display);color:var(--ink);text-shadow:0 0 4px #fff,0 0 4px #fff;place-items:center;display:grid;position:absolute;inset:0}.lose-tip{text-align:center;font:600 var(--fs-s)/1.5 "Be Vietnam Pro", system-ui;color:var(--ink);margin:0}body.touch #hud-pause{display:grid!important}body.touch #touch .tbtn.pause{display:none!important}body.touch #touch .stick{width:124px;height:124px;margin:-62px 0 0 -62px}body.touch #touch .stick .knob{width:52px;height:52px;margin:-26px 0 0 -26px}body.touch #touch .stick.aim .knob{width:60px;height:60px;margin:-30px 0 0 -30px}@media (max-height:500px){.f-main{flex-wrap:nowrap;padding:8px 14px}.f-stage{width:220px;height:160px}.f-info{gap:6px;padding:10px 12px}.result-stars .star img.ico{width:48px;height:48px}.result-stars .star:nth-child(2) img.ico{width:62px;height:62px}}@media (max-width:760px){#overlay[data-kind=title]>*{max-width:none}#overlay[data-kind=title] .logo .l1,#overlay[data-kind=title] .logo .l2{font-size:clamp(32px,10vw,48px)}#overlay[data-kind=title] .logo .mascot{width:60px}#overlay[data-kind=title] #overlay-buttons button{min-width:0;font-size:var(--fs-m);padding:12px 22px 10px}#overlay[data-kind=title] #overlay-buttons button.primary{font-size:var(--fs-l);padding:15px 22px 13px}#overlay[data-kind=title]:before{height:60%}.title-next{justify-content:center}#overlay[data-kind=title] .title-tiles{grid-template-columns:repeat(4,1fr)}#overlay[data-kind=title] .title-tiles .tile{font-size:var(--fs-xs);flex-direction:column;justify-content:center;gap:2px;padding:6px 4px}#overlay[data-kind=title] .title-stats{justify-content:center;display:flex}.w-grid{grid-template-columns:1fr 1fr;gap:8px;padding:10px}.w-blurb{display:none}.sc{gap:8px;padding:8px}.sc-num{width:38px;height:38px;font-size:var(--fs-l)}.sc-body>b{font-size:var(--fs-m)}.screen button.sc-play{font-size:var(--fs-m);padding:12px 16px 10px}.xpbar{width:min(300px,70vw)}body.touch .hud-top{top:calc(max(6px, env(safe-area-inset-top)) + 34px);left:auto;right:8px;transform:none}}@media (max-height:500px) and (min-width:600px){#overlay[data-kind=title]{justify-content:center;gap:7px;padding-top:10px;padding-bottom:10px}#overlay[data-kind=title]>*{max-width:min(330px,42vw)}#overlay[data-kind=title] .logo .l1,#overlay[data-kind=title] .logo .l2{font-size:clamp(28px,8vh,40px)}#overlay[data-kind=title] .logo .mascot{width:52px}#overlay[data-kind=title] .tagline{display:none}#overlay[data-kind=title] #overlay-buttons{gap:4px}#overlay[data-kind=title] #overlay-buttons button{min-width:min(320px,40vw)}#overlay[data-kind=title] #overlay-buttons button.primary{font-size:var(--fs-l);padding:12px 22px 10px}#overlay[data-kind=title] #overlay-buttons .ghost-btn{display:none}.title-tiles .tile{font-size:var(--fs-xs);white-space:nowrap;padding:4px 8px 4px 4px}.title-tiles .tile img.ico,.title-tiles .tile>svg{width:24px;height:24px}.title-stats span{font-size:var(--fs-s);padding:2px 8px 2px 4px}.title-stats span img.ico{width:18px;height:18px}#overlay[data-kind=title] .disclaimer{display:none}.page-top{padding-top:6px;padding-bottom:6px}.page-top h2{font-size:var(--fs-l)}.rail-top{padding-top:6px;padding-bottom:6px}.rail-card{bottom:8px}.f-tabs{padding-top:6px}.f-tabs button{width:60px;height:40px}.w-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.w-blurb{display:none}.rs-card{gap:6px;padding:16px 14px 10px}.rs-stat{padding:4px}.result-stars{margin-bottom:-18px}#overlay[data-kind=results],#overlay[data-kind=gameover]{gap:6px}}body.touch #combo:not(:empty){top:calc(max(6px, env(safe-area-inset-top)) + 56px);font-size:var(--fs-xs)}body.touch #callout{-webkit-text-stroke-width:4px;font-size:clamp(18px,5vh,28px);top:34%}body.touch #powerups{top:calc(max(6px, env(safe-area-inset-top)) + 52px);bottom:auto}#combo{display:none!important}#notice{left:50%;top:calc(max(8px, env(safe-area-inset-top)) + 96px);z-index:4;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;max-width:min(420px,80vw);font:700 var(--fs-s)/1.2 "Be Vietnam Pro", system-ui;color:#fff;opacity:0;background:#241a14d1;border-radius:999px;padding:6px 14px 5px;transition:opacity .2s,transform .25s cubic-bezier(.3,1.6,.5,1);position:absolute;overflow:hidden;transform:translate(-50%,-8px);box-shadow:0 3px 10px #00000040}#notice.show{opacity:1;transform:translate(-50%)}#notice.gold{color:var(--ink);background:linear-gradient(180deg, #ffe08a, var(--gold))}#notice.red{background:var(--red)}#banner,#banner.show{border:2px solid var(--ink);clip-path:none;font:inherit;letter-spacing:0;color:var(--ink);background:#fbf5e6f2;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:10px 26px 9px;display:flex;top:24%;translate:-50%;box-shadow:0 4px #241a144d}#banner b{font:800 var(--fs-xl)/1.1 var(--font-display)}#banner span{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:var(--red)}#callout{font-size:clamp(22px,3vw,36px);top:32%}#powerups{gap:6px;display:flex}#powerups .powerup{background:conic-gradient(var(--gold) var(--t), #241a1433 0);border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;display:grid;position:relative;box-shadow:0 2px #241a144d}#powerups .powerup:before{content:"";background:var(--hud-paper);border-radius:50%;position:absolute;inset:3px}#powerups .powerup img.ico{width:24px;height:24px;position:relative}#touch .thint{top:auto;bottom:max(8px, env(safe-area-inset-bottom));justify-content:space-between;padding:0 max(30px,6vw);animation:none;display:flex;left:0;right:0}#touch.hinting .thint{opacity:1;animation:none}#touch .thint span{font:700 var(--fs-xs) "Be Vietnam Pro", system-ui;background:#241a1499;border-radius:999px;padding:3px 10px}body.touch #notice{top:calc(max(6px, env(safe-area-inset-top)) + 70px);font-size:var(--fs-xs);padding:4px 12px 3px}body.touch #banner{padding:7px 18px 6px;top:26%}body.touch #banner b{font-size:var(--fs-l)}body.touch #callout{font-size:clamp(18px,5vh,28px)}body.touch #powerups .powerup{width:28px;height:28px}body.touch #powerups .powerup img.ico{width:18px;height:18px}@media (max-width:760px){body.touch #notice{top:calc(max(6px, env(safe-area-inset-top)) + 96px)}}#damage-vignette{background:radial-gradient(#0000 65%,#dc1e2866 100%)}body.touch #notice{top:calc(max(6px, env(safe-area-inset-top)) + 80px)}body.touch #banner,body.touch #banner.show{top:36%}#banner,#banner.show{top:30%}#loading{background:var(--paper,#f7f2e6);justify-content:center;align-items:center;padding:16px;overflow:hidden}#loading:before{content:"";background:repeating-linear-gradient(90deg, var(--red,#d33a2c) 0 40px, #a8261f 40px 44px);height:8px;box-shadow:0 2px 0 var(--gold,#ffc93c);z-index:2;position:absolute;top:0;left:0;right:0}#loading .ld-card{border:3px solid var(--ink);width:min(420px,88vw);box-shadow:0 6px 0 var(--ink), 0 12px 30px #00000026;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffaf0;border-radius:20px;flex-direction:column;align-items:center;gap:16px;margin:0;padding:24px 32px 20px;display:flex}#loading .logo{justify-content:center;align-items:center;margin:0;animation:3s ease-in-out infinite logo-bob;display:flex}#loading .logo .words{text-align:center;flex-direction:column;align-items:center;display:flex}#loading .logo .l1,#loading .logo .l2{white-space:nowrap;font-size:clamp(30px,4.5vw,48px)}#loading .loading-bar{width:100%;max-width:380px;height:20px;box-shadow:0 0 0 2px var(--ink), 0 3px 0 2px #0003;background:#3a2c22;border-radius:12px;padding:3px}#loading #loading-fill{background:repeating-linear-gradient(90deg,#ffd23f 0 24px,#f2a91c 24px 28px);border-radius:8px;width:0%;height:100%;transition:width .2s ease-out;box-shadow:inset 0 2px #ffffff73}#loading #loading-text{font:700 14px/1.4 var(--body,sans-serif);color:#1f1a14b3;letter-spacing:.5px;min-height:1.4em;margin:0}#loading.error #loading-text{color:var(--chili,#d33a2c);font-weight:800}@media (max-height:500px){#loading .ld-card{gap:10px;padding:14px 20px 12px}#loading .logo .l1,#loading .logo .l2{font-size:clamp(24px,7vh,36px)}#loading .loading-bar{height:16px}}.logo .toon-text{padding-bottom:.1em}.logo .l2{margin-top:-.06em}#overlay[data-kind=pause]{padding:max(12px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom));background:#1e140a47;justify-content:center;align-items:center}#overlay[data-kind=pause] #overlay-sub{justify-content:center;width:100%;display:flex}.pz-card{background:var(--cream);width:min(340px,100%);max-height:calc(100dvh - 24px);color:var(--ink);border-radius:18px;flex-direction:column;gap:10px;padding:18px 18px 16px;display:flex;overflow-y:auto;box-shadow:0 6px #241a1440,0 18px 40px #0000004d}.pz-title{font:800 26px/1 var(--font-display);letter-spacing:1px;text-align:center}.pz-actions{flex-direction:column;gap:8px;width:100%;display:flex}.pz-go{width:100%}.pz-restart{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;font:800 16px/1 var(--font-display);color:var(--ink);background:#fdf3d9;border:2px solid #241a1438;border-radius:14px;padding:11px 16px;transition:transform .1s,background .15s;box-shadow:0 3px #241a1429}.pz-restart:hover{background:#ffeec2}.pz-restart:active{transform:translateY(2px);box-shadow:0 1px #241a1429}.pz-restart:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.pz-list{border-top:2px dashed #241a142e;flex-direction:column;display:flex}.pz-row{all:unset;box-sizing:border-box;cursor:pointer;min-height:48px;font:700 17px/1.15 var(--font-display);-webkit-tap-highlight-color:transparent;border-bottom:2px dashed #241a142e;justify-content:space-between;align-items:center;gap:12px;padding:6px 2px;display:flex}.pz-row span{text-align:left;flex-direction:column;display:flex}.pz-row small{opacity:.6;font:600 12px/1.2 system-ui,sans-serif}.pz-row:disabled{cursor:default;opacity:.55}.pz-row:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:8px}.pz-switch{border:2px solid var(--ink);box-sizing:border-box;background:#cfc4ad;border-radius:15px;flex:none;justify-content:flex-end;align-items:center;width:66px;height:30px;padding:0 8px;font-style:normal;transition:background .15s;display:flex;position:relative}.pz-switch:before{content:"";border:2px solid var(--ink);box-sizing:border-box;background:#fffaf0;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.pz-switch b{font:800 11px/1 var(--font-display);letter-spacing:.5px}.pz-switch.on{background:var(--green);color:#fffaf0;justify-content:flex-start}.pz-switch.on:before{transform:translate(34px)}.pz-exit{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;font:800 16px/1 var(--font-display);color:var(--red);border:2px solid #c8302a80;border-radius:12px;padding:12px}.pz-exit:focus-visible{outline:3px solid var(--gold)}#overlay[data-kind=shop] #overlay-sub{overflow:hidden}.shop,.forge{height:100%;min-height:0;overflow:hidden}.shop .page-top,.forge .page-top{padding-top:max(10px, env(safe-area-inset-top));flex:none}.w-grid,.forge .f-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;width:100%;min-height:0;padding:12px max(12px, calc((100% - 1000px) / 2)) calc(16px + env(safe-area-inset-bottom));flex:1;align-content:start;margin:0;overflow:hidden auto}.forge .f-scroll{flex-direction:column;padding-left:12px;padding-right:12px;display:flex}.w-row .buy{white-space:nowrap;padding-left:8px;padding-right:8px}@media (max-width:760px){.w-grid{padding-bottom:max(28px, env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;gap:8px}.wcard{gap:4px;min-height:0;padding:8px 8px 10px}.w-art{height:52px}.w-art img,.w-art svg{max-height:46px}.w-blurb{min-height:2.2em;font-size:11px}.w-stats{flex-direction:column;gap:1px;font-size:11px}.w-row{flex-direction:column;gap:4px}.w-row .buy{min-height:34px;font-size:13px}}@media (max-width:360px){.w-grid{grid-template-columns:1fr}}.screen button.sc-play.nudge{animation:.45s cubic-bezier(.3,1.6,.5,1) sc-nudge}@keyframes sc-nudge{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.stop-n.selected .disc{box-shadow:0 0 0 6px #ffd23f8c,0 6px #241a1459;animation:none!important}.rail-svg .road-edge{stroke:#8a6236;stroke-width:30px}.rail-svg .road{stroke:#e9cf98;stroke-width:24px}.rail-svg .road-rut{stroke:#8a623659;stroke-width:10px;stroke-dasharray:10 8}.theme-port .rail-svg .road-edge{stroke:#6f6a5e}.theme-port .rail-svg .road{stroke:#c9c3b2}.theme-port .rail-svg .road-rut{stroke:#504c424d}.rail-svg .done{stroke:var(--gold);stroke-width:6px;stroke-dasharray:2 10;opacity:1}@media (max-width:760px){#overlay[data-kind=title]:before{top:var(--paper-top,40%);height:auto}#overlay[data-kind=title] .tagline{font-size:0;line-height:0}#overlay[data-kind=title] .tagline:before{margin:0 auto}#overlay[data-kind=title] #overlay-sub{min-height:0}.title-next{cursor:pointer;background:#fde9b4;border:2px solid #241a142e;border-radius:999px;align-self:center;align-items:center;gap:6px;padding:6px 14px;display:inline-flex;box-shadow:0 2px #241a1426}.title-next i{font:800 var(--fs-xs) var(--font-display);color:var(--red);align-items:center;gap:2px;font-style:normal;display:inline-flex}.title-next i svg,.title-next i img{width:16px;height:16px}#overlay[data-kind=title] #overlay-buttons button.primary{letter-spacing:3px;font-size:28px}#overlay[data-kind=title] .title-tiles{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;display:grid}#overlay[data-kind=title] .title-tiles .tile{font:800 12px var(--font-display);white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 2px 6px;display:flex}#overlay[data-kind=title] .title-tiles .tile img.ico,#overlay[data-kind=title] .title-tiles .tile>svg{width:32px;height:32px}#overlay[data-kind=title] .title-stats{justify-content:center;gap:12px;width:100%;display:flex}#overlay[data-kind=title] .title-stats span{border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:15px;display:inline-flex}}.acc-bar{background:#241a140f;border:2px dashed #241a1440;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:6px 10px;display:grid;position:relative}.acc-lv{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a14b3;white-space:nowrap}.acc-lv b{font:800 var(--fs-l)/1 var(--font-display);color:var(--ink)}.acc-track{border:2px solid var(--ink);background:#241a141f;border-radius:8px;height:14px;overflow:hidden}.acc-fill{background:linear-gradient(90deg, #7cd36a, var(--green));height:100%}.acc-xp{font:800 var(--fs-s) var(--font-display);color:var(--green);white-space:nowrap}.acc-up{font:800 var(--fs-xs) var(--font-display);color:#fff;background:var(--red);border-radius:8px;padding:2px 8px 1px;animation:.4s cubic-bezier(.3,1.5,.5,1) card-pop;position:absolute;top:-14px;right:8px}.acc-up[hidden]{display:none}.title-stats .acc-chip b{color:var(--ink)}.wcard.skill .w-art img.ico{width:64px;height:64px}.wcard.skill .w-blurb em{color:var(--green);font-style:normal;font-weight:700}.wallet .acc-chip{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;margin-right:6px}.wallet .acc-chip b{font-family:var(--font-display)}.wallet img.ico{width:22px;height:22px}.wcard.skill .w-blurb.sk-text{flex-shrink:0;min-height:0;display:block}.w-grid{grid-template-rows:none;grid-auto-rows:max-content}.w-grid>.wcard{min-height:max-content}.ch-chests{z-index:1;background:#fbf5e6eb;border-bottom:2px dashed #241a142e;justify-content:center;align-items:center;gap:12px;padding:6px 12px;display:flex;position:relative}.ch-stars{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a14b3;align-items:center;gap:4px;display:inline-flex}.ch-stars b{font:800 var(--fs-l) var(--font-display);color:var(--ink)}.ch-stars img.ico,.ch-stars svg{width:20px;height:20px}.chest-row{gap:8px;display:flex}.chest{font:800 var(--fs-s) var(--font-display);color:var(--ink);cursor:pointer;background:#fffaf0;border:2px solid #241a1433;border-radius:12px;align-items:center;gap:4px;padding:3px 10px 3px 4px;display:inline-flex;position:relative}.chest>img.ico,.chest>svg{width:30px;height:30px}.chest b{align-items:center;gap:1px;display:inline-flex}.chest b img.ico,.chest b svg{width:14px;height:14px}.chest.locked>img.ico,.chest.locked>svg{filter:grayscale();opacity:.55}.chest.ready{border-color:var(--gold-dk);background:#fde9b4;animation:.9s ease-in-out infinite pip}.chest.opened{opacity:.45;cursor:default}@keyframes pip{50%{transform:scale(1.08)}}#overlay[data-kind=title]>.lobby-top{z-index:3;top:max(10px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;max-width:none!important}.lobby-top>*{pointer-events:auto}.lb-profile,.lb-purse span,.title-next,.lobby-dock .tile,.pf-hero,.pf-tile,.pf-gun,.pf-stat{color:var(--ink);background:var(--ui-paper);border:var(--ui-border);box-shadow:var(--ui-shadow)}.lb-profile{cursor:pointer;text-align:left;width:min(270px,52vw);min-width:0;height:54px;font:inherit;border-radius:14px;align-items:center;margin-left:6px;padding:0 12px 0 54px;display:flex;position:relative}.lb-profile:active{box-shadow:var(--ui-shadow-press);transform:translateY(2px)}.lb-profile .lb-face{width:42px;height:42px;left:6px}.lb-profile .lb-lv{min-width:20px;height:20px;font-size:12px;bottom:-3px;right:-5px}.lb-face,.pf-face{width:58px;height:58px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.lb-face img,.pf-face img{object-fit:cover;border:var(--ui-border);box-sizing:border-box;background:linear-gradient(#bfe6f5,#fff0cb);border-radius:50%;width:100%;height:100%;display:block;box-shadow:0 3px #241a1466}.lb-lv{min-width:24px;height:24px;font:800 14px/1 var(--font-display);color:#fff;-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;border:2px solid var(--ink);box-sizing:border-box;background:linear-gradient(#6fd246,#2d801d);border-radius:12px;place-items:center;padding:0 5px;display:grid;position:absolute;bottom:-4px;right:-6px}.lb-who{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.lb-name{font:800 15px/1 var(--font-display);letter-spacing:1px;justify-content:space-between;align-items:center;gap:6px;display:flex}.lb-name em{font:800 14px/1 var(--font-display);color:var(--red-dk);letter-spacing:0;align-items:center;gap:2px;font-style:normal;display:inline-flex}.lb-name em img.ico,.lb-name em svg{vertical-align:middle;width:18px;height:18px}.lb-xp{border:2px solid var(--ink);background:#4a3a30;border-radius:8px;height:14px;display:block;position:relative;overflow:hidden}.lb-xp i{background:linear-gradient(#8fe864,#3a9a26);position:absolute;inset:0 auto 0 0;box-shadow:inset 0 2px #ffffff73}.lb-xp small{text-align:center;font:800 10px/10px var(--font-display);color:#fff;-webkit-text-stroke:.25em var(--ink);paint-order:stroke fill;display:block;position:relative}.lb-xp.big{height:20px}.lb-xp.big small{font-size:12px;line-height:16px}.lb-purse{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.lb-purse span{box-sizing:border-box;border-radius:12px;align-items:center;gap:3px;height:38px;padding:0 10px 0 4px;display:inline-flex}.lb-purse b{font:800 17px/1 var(--font-display);font-variant-numeric:tabular-nums;color:#ffd23f;-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill}.lb-purse small{font:800 11px var(--font-display);color:#241a1499}#overlay[data-kind=title]{padding-top:max(84px, calc(env(safe-area-inset-top) + 74px))}#overlay[data-kind=title] .tagline:before{content:"CHƯƠNG 1 · LÀNG QUÊ"}.title-next{cursor:pointer;width:100%;min-height:48px;font:inherit;text-align:left;border-radius:12px;align-items:center;gap:8px;padding:0 12px 0 0;display:flex;overflow:hidden}.title-next:active{box-shadow:var(--ui-shadow-press);transform:translateY(2px)}.title-next .tn-tag{font:800 15px/1 var(--font-display);color:#fff;text-shadow:0 1px #00000059;background:var(--ui-red-fill);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 50%,100% 100%,0 100%);align-self:stretch;place-items:center;padding:0 14px 0 12px;display:grid}.title-next b{min-width:0;font:800 var(--fs-l)/1.1 var(--font-display);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.title-next .tn-go{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a1499;flex:none}#overlay[data-kind=title] .lobby-dock .title-tiles{grid-template-columns:repeat(5,1fr);gap:8px;width:100%;display:grid}#overlay[data-kind=title] .lobby-dock{width:100%}.lobby-dock .tile{text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:72px;position:relative;font:800 12px/1.1 var(--font-display)!important;padding:6px 2px 5px!important;display:flex!important}.lobby-dock .tile img.ico,.lobby-dock .tile>svg{width:38px!important;height:38px!important}.lobby-dock .tile:active{box-shadow:var(--ui-shadow-press);transform:translateY(2px)}.lobby-dock .tile-face{border:2px solid var(--ink);box-sizing:border-box;background:linear-gradient(#bfe6f5,#fff0cb);border-radius:50%;width:38px;height:38px;overflow:hidden}.lobby-dock .tile-face img{object-fit:cover;width:100%;height:100%}.lobby-dock .dot{border:2px solid var(--ink);background:radial-gradient(circle at 35% 30%,#ff7a5c,#d32a1f);border-radius:50%;width:16px;height:16px;animation:1.2s ease-in-out infinite dot-pulse;position:absolute;top:-6px;right:-6px}@keyframes dot-pulse{50%{transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.lobby-dock .dot{animation:none}}#overlay[data-kind=title] .title-stats{display:none}@media (max-width:760px){#overlay[data-kind=title]{padding-top:16px}#overlay[data-kind=title] .tagline{display:none}#overlay[data-kind=title] .logo .l1,#overlay[data-kind=title] .logo .l2{font-size:clamp(34px,10vw,52px)}#overlay[data-kind=title] .logo .mascot{width:60px}}@media (max-width:420px){#overlay[data-kind=title]>.lobby-top{left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));align-items:flex-start}.lb-profile{flex:auto;width:auto;max-width:190px;height:50px;padding:0 8px 0 50px}.lb-profile .lb-face{width:38px;height:38px;left:5px}.lb-name{font-size:13px}.lb-name em{font-size:12px}.lb-purse{flex-direction:column;align-items:flex-end;gap:4px}.lb-purse span{border-width:2px;height:30px;padding:0 8px 0 2px;box-shadow:0 3px #241a1466}.lb-purse img.ico{width:22px;height:22px}.lb-purse b{font-size:14px}#overlay[data-kind=title] .lobby-dock .title-tiles{gap:5px}.lobby-dock .tile{border-radius:12px;min-height:64px;font-size:11px!important}.lobby-dock .tile img.ico,.lobby-dock .tile>svg,.lobby-dock .tile-face{width:32px!important;height:32px!important}}.profile .pf-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;min-height:0;padding:18px max(14px, calc((100% - 720px) / 2)) calc(20px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.pf-hero{border-radius:18px;align-items:center;min-height:104px;margin-left:14px;padding:12px 14px 12px 104px;display:flex;position:relative}.pf-face{width:108px;height:108px;left:-14px}.pf-face img{border-width:4px}.pf-face .lb-lv{border-width:3px;border-radius:17px;min-width:34px;height:34px;font-size:19px;bottom:0;right:-2px}.pf-who{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.pf-name{font:800 24px/1 var(--font-display);letter-spacing:1px}.pf-name small{font:800 14px var(--font-display);color:#2d801d;letter-spacing:0;margin-left:6px}.pf-power{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a14b3;align-items:center;gap:6px;display:flex}.pf-power img.ico,.pf-power svg{width:22px;height:22px}.pf-power b{font:800 22px/1 var(--font-display);color:#ff5a4a;-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill}.pf-h{font:800 var(--fs-m) var(--font-display);text-transform:uppercase;letter-spacing:1px;color:var(--red-dk);margin:6px 0 0}.pf-tiles{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.pf-tile{text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.pf-tile img.ico,.pf-tile>svg{width:32px;height:32px}.pf-tile span{color:#241a14a6;font:700 11px Be Vietnam Pro,system-ui}.pf-tile b{font:800 var(--fs-l)/1 var(--font-display)}.pf-gun{cursor:pointer;text-align:left;font:inherit;border-radius:14px;align-items:center;gap:12px;padding:8px 14px 8px 8px;display:flex}.pf-gun-art{box-sizing:border-box;background:#241a1412;border-radius:10px;flex:none;width:92px;height:52px;padding:2px}.pf-gun>span:last-child{flex-direction:column;gap:3px;display:flex}.pf-gun b{font:800 var(--fs-l)/1 var(--font-display)}.pf-gun .plus{vertical-align:2px;display:inline-block;position:static}.pf-gun small{font:700 var(--fs-xs) "Be Vietnam Pro", system-ui;color:#241a1499}.pf-stats{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pf-stat{border-width:2px;border-radius:12px;flex-direction:column;gap:2px;padding:7px 10px;display:flex;box-shadow:0 3px #241a144d}.pf-stat span{color:#241a14a6;font:700 11px Be Vietnam Pro,system-ui}.pf-stat b{font:800 var(--fs-l)/1 var(--font-display);color:#241a1473}.pf-stat.on b{color:#2d801d}.pf-more{font:800 var(--fs-m) var(--font-display);color:#fff;background:var(--ui-red-fill);border:var(--ui-border);box-shadow:var(--ui-shadow);cursor:pointer;border-radius:14px;align-self:center;margin-top:4px;padding:12px 22px}.pf-more:active,.pf-gun:active{transform:translateY(2px)}@media (max-width:520px){.pf-hero{min-height:88px;padding-left:84px}.pf-face{width:88px;height:88px}.pf-name{font-size:20px}.pf-tiles,.pf-stats{grid-template-columns:repeat(2,1fr)}}#overlay[data-kind=title]{justify-content:safe center}@media (max-width:760px) and (orientation:portrait){#overlay[data-kind=title]{justify-content:safe flex-end}}@media (min-width:761px){#overlay[data-kind=title]>.lobby-top{left:clamp(28px,6vw,104px)}#overlay[data-kind=title] .logo{margin-top:4px}}.lobby-dock .tile span{white-space:nowrap}#overlay[data-kind=title] .lobby-dock .tile{font-size:11.5px!important}#overlay[data-kind=title] .disclaimer{text-align:left;width:auto;margin:2px 0 0;position:static;transform:none}.sk-rule{font:600 var(--fs-xs) "Be Vietnam Pro", system-ui;color:#241a14bf;background:#fffaf0b3;border-bottom:2px dashed #241a1426;flex-wrap:wrap;flex:none;gap:6px 14px;padding:8px max(14px,50% - 488px);display:flex}.sk-rule span{align-items:center;gap:4px;display:inline-flex}.sk-rule img.ico{width:18px;height:18px}.sk-rule b{color:var(--ink)}.sk-rule .acc-chip{color:#fff;background:#2d801d;border-radius:6px;padding:1px 6px}.sk-bar{background:#241a1426;border-radius:4px;height:6px;overflow:hidden}.sk-bar i{background:linear-gradient(90deg,#8fe864,#3a9a26);height:100%;display:block}.sk-need{font:700 var(--fs-xs) "Be Vietnam Pro", system-ui;color:#2d801d;margin:0}.sk-need.bad{color:var(--red)}:root{--r-common:#9a9184;--r-rare:#3a7bd5;--r-epic:#9b4fd6;--r-legendary:#f0a020}#overlay[data-kind=char]{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;justify-content:stretch;align-items:stretch;padding:0}#overlay[data-kind=char] #overlay-sub{flex:auto;align-items:stretch;gap:0;width:100%;height:auto;min-height:0;overflow:hidden}#overlay[data-kind=char]>:not(#overlay-sub){display:none}.char{flex-direction:column;width:100%;height:100%;display:flex}.char .page-top{padding-top:max(10px, env(safe-area-inset-top));flex:none}.char-body{flex:1;min-height:0;display:flex}.char-stage{pointer-events:none;flex:1;min-width:0;position:relative}.char-stage>*{pointer-events:auto}.char-panel{background:linear-gradient(180deg, #fbf5e6, var(--cream));border-left:3px solid var(--ink);flex-direction:column;flex:none;width:min(460px,46vw);min-height:0;display:flex;box-shadow:-6px 0 18px #0000002e}.nv-col{flex-direction:column;gap:12px;display:flex;position:absolute;top:50%;transform:translateY(-58%)}.nv-col.left{left:max(18px,50% - 230px)}.nv-col.right{right:max(18px,50% - 230px)}.nv-slot,.bag-cell{cursor:pointer;width:78px;height:78px;font:inherit;color:var(--ink);background:var(--ui-paper);border:var(--ui-border);box-shadow:var(--ui-shadow), inset 0 0 0 3px var(--rc,transparent);border-radius:16px;place-items:center;padding:6px;display:grid;position:relative}.nv-slot:active,.bag-cell:active{box-shadow:var(--ui-shadow-press), inset 0 0 0 3px var(--rc,transparent);transform:translateY(2px)}.nv-slot img.ico,.bag-cell img.ico{width:54px;height:54px}.nv-slot small{font:800 11px/1.3 var(--font-display);color:#fff;background:var(--ink);white-space:nowrap;border-radius:8px;padding:1px 8px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.nv-slot.empty{background:#fffaf0a6;border-style:dashed}.nv-slot-empty{font:800 12px var(--font-display);color:#241a1473}.nv-gun{width:64px;height:40px;display:block}.nv-slot .plus,.bag-cell .plus{top:-8px;right:-8px}.r-common{--rc:var(--r-common)}.r-rare{--rc:var(--r-rare)}.r-epic{--rc:var(--r-epic)}.r-legendary{--rc:var(--r-legendary)}.r-legendary.nv-slot,.r-legendary.bag-cell{background:linear-gradient(#fff6da,#f8e0a6)}.nv-slot.picked,.bag-cell.picked{outline-offset:2px;outline:3px solid #fff}.nv-badge{width:min(300px,70%);color:var(--ink);background:var(--ui-paper);border:var(--ui-border);box-shadow:var(--ui-shadow);border-radius:14px;flex-direction:column;gap:6px;padding:8px 12px 10px;display:flex;position:absolute;bottom:max(16px,4%);left:50%;transform:translate(-50%)}.nv-name{font:800 18px/1 var(--font-display);letter-spacing:1px;align-items:center;gap:8px;display:flex}.nv-name .lb-lv{position:static}.nv-power{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a14b3;align-items:center;gap:6px;display:flex}.nv-power svg{width:20px;height:20px}.nv-power b{font:800 20px/1 var(--font-display);color:#ff5a4a;-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill;margin-left:auto}.nv-tabs{border-bottom:3px solid var(--ink);flex:none;gap:4px;padding:10px 12px 0;display:flex}.nv-tab-btn{font:800 var(--fs-m) var(--font-display);color:#241a1499;cursor:pointer;background:#241a1414;border:3px solid #0000;border-bottom:0;border-radius:12px 12px 0 0;margin-bottom:-3px;padding:8px 14px 6px}.nv-tab-btn.on{color:var(--ink);border-color:var(--ink);background:#fffaf0}.nv-tab-btn small{color:#fff;background:var(--red);border-radius:8px;padding:0 6px;font-size:11px}.nv-tab-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;min-height:0;padding:12px 12px calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.nv-chips{flex-wrap:wrap;gap:6px;display:flex}.nv-chip{font:800 var(--fs-s) var(--font-display);color:var(--ink);cursor:pointer;background:#fffaf0;border:2px solid #241a1440;border-radius:12px;padding:5px 12px 4px}.nv-chip.on{color:#fff;background:var(--ink);border-color:var(--ink)}.bag-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:10px;display:grid}.bag-cell{aspect-ratio:1;width:auto;height:auto}.bag-cell em{font:800 9px/1.5 var(--font-display);color:#fff;white-space:nowrap;background:#2d801d;border-radius:6px;padding:0 6px;font-style:normal;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.bag-empty{text-align:center;font:600 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a1499;grid-column:1/-1;margin:0;padding:14px}.item-detail{color:var(--ink);border:var(--ui-border);box-shadow:0 4px 0 #241a144d, inset 0 0 0 3px var(--rc,transparent);background:#fffaf0;border-radius:14px;flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.item-detail.hint{font:600 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a1499;box-shadow:none;border-style:dashed}.id-head{align-items:center;gap:10px;display:flex}.id-head img.ico{width:48px;height:48px}.id-head b{font:800 var(--fs-l)/1.1 var(--font-display);display:block}.id-head .rar{font:800 var(--fs-xs) var(--font-display);color:var(--rc)}.id-stats{grid-template-columns:1fr 1fr;gap:4px 12px;margin:0;padding:0;list-style:none;display:grid}.id-stats li{font:600 var(--fs-s) "Be Vietnam Pro", system-ui;align-items:baseline;gap:6px;display:flex}.id-stats b{font:800 var(--fs-m) var(--font-display);color:#2d801d;margin-left:auto}.id-stats .up{color:#2d801d;font-style:normal}.id-stats .down{color:var(--red);font-style:normal}.id-vs,.nv-note{font:600 var(--fs-xs) "Be Vietnam Pro", system-ui;color:#241a1499;margin:0}.item-detail .w-row{gap:8px;display:flex}.item-detail .w-row .buy{flex:1}.char .pf-tiles,.char .pf-stats{grid-template-columns:repeat(2,1fr)}@media (max-width:760px) and (orientation:portrait){.char-body{flex-direction:column}.char-stage{flex:0 0 44%}.char-panel{border-left:0;border-top:3px solid var(--ink);flex:1;width:auto;box-shadow:0 -6px 18px #0000002e}.nv-col{gap:14px;top:8px;transform:none}.nv-col.left{left:10px}.nv-col.right{right:10px}.nv-slot{border-radius:14px;width:62px;height:62px}.nv-slot img.ico{width:42px;height:42px}.nv-gun{width:52px;height:32px}.nv-slot small{font-size:10px}.nv-badge{flex-direction:row;align-items:center;gap:10px;width:auto;max-width:60%;padding:5px 10px;bottom:8px}.nv-badge .lb-xp{display:none}.nv-power{gap:4px;font-size:0}.nv-power b{margin-left:2px}.nv-name{font-size:15px}.nv-power b{font-size:17px}.nv-tab-btn{font-size:var(--fs-s);padding:7px 10px 5px}.bag-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px}}.f-tabs .f-gear{box-shadow:inset 0 0 0 3px var(--rc,transparent)}.f-tabs .f-gear img.ico{width:40px;height:40px}.f-gun.gear img.ico{width:92px;height:92px}.stone-chip{align-items:center;gap:3px;margin-right:6px;display:inline-flex}.stone-chip img.ico{width:22px;height:22px}.item-detail .w-row .buy img.ico{vertical-align:-3px;width:18px;height:18px;margin-right:2px}.shop-tabs{border-bottom:2px dashed #241a1426;flex-wrap:wrap;flex:none;gap:6px;padding:10px max(14px,50% - 488px);display:flex}.shop-card{box-shadow:0 4px 0 #241a142e, inset 0 0 0 3px var(--rc,transparent)}.shop-card .w-art img.ico{width:64px;height:64px}.shop-card .rar{font:800 var(--fs-xs) var(--font-display);color:var(--rc);margin-top:-4px}.shop-card .plus.have{background:#2d801d}.shop-stats{flex-wrap:wrap;flex-direction:row!important;gap:2px 10px!important}.shop-stats b{color:#2d801d}.shop-note{font:600 var(--fs-xs) "Be Vietnam Pro", system-ui;color:#241a1499;grid-column:1/-1;margin:4px 0 0}.buy-pop{flex-direction:column;align-items:center;gap:4px;display:flex}.buy-pop img.ico{width:84px;height:84px;filter:drop-shadow(0 0 10px var(--rc))}.buy-pop b{font:800 var(--fs-xl) var(--font-display);color:var(--ink)}.buy-pop small{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a1499}.buy-pop .ghost-btn{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a1499;cursor:pointer;background:0 0;border:0;order:10;margin-top:4px;text-decoration:underline}.page-top h2{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}@media (max-width:420px){.page-top{gap:6px}.page-top h2{font-size:18px}.page-top .wallet{gap:2px;padding:3px 8px 3px 4px;font-size:13px}.page-top .wallet img.ico{width:18px;height:18px}.stone-chip{margin-right:2px}}.rec-power{font:800 var(--fs-s)/1.2 var(--font-display);color:#2d801d;background:#2d801d1f;border-radius:8px;flex:none;align-items:center;gap:2px;padding:2px 8px 1px 4px;display:inline-flex}.rec-power svg{width:16px;height:16px}.rec-power.low{color:#fff;background:var(--red)}.rec-power.low svg path{fill:#fff}.rs-loot{border:var(--ui-border);box-shadow:inset 0 0 0 3px var(--rc);background:#fffaf0;border-radius:12px;align-items:center;gap:8px;padding:6px 12px;animation:.4s cubic-bezier(.3,1.5,.5,1) 1s backwards card-pop;display:flex}.rs-loot img.ico{width:40px;height:40px;filter:drop-shadow(0 0 8px var(--rc))}.rs-loot span{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:#241a1499}.rs-loot b{font:800 var(--fs-m) var(--font-display);color:var(--ink)}.rs-loot small{font:800 var(--fs-xs) var(--font-display);color:var(--rc);margin-left:auto}.id-power{font:700 var(--fs-s) "Be Vietnam Pro", system-ui;background:#241a140f;border-radius:8px;align-items:center;gap:6px;margin:0;padding:4px 8px;display:flex}.id-power svg{width:18px;height:18px}.id-power b{font:800 var(--fs-m) var(--font-display)}.id-power.up{color:#2d801d;background:#2d801d1f}.id-power.down{color:var(--red);background:#c8302a1a}.rs-loot.r-legendary{overflow:hidden}.bag-cell.r-legendary:after,.nv-slot.r-legendary:after,.rs-loot.r-legendary:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(110deg,#0000 35%,#ffffffb3 50%,#0000 65%) -150% 0/250% 100% no-repeat;animation:2.4s ease-in-out infinite legend-shine;position:absolute;inset:0}@keyframes legend-shine{60%,to{background-position:150% 0}}@media (prefers-reduced-motion:reduce){.bag-cell.r-legendary:after,.nv-slot.r-legendary:after,.rs-loot.r-legendary:after{animation:none}}.rs-loot{position:relative}:root{--ui-ink:var(--ink);--ui-paper:linear-gradient(180deg, #fffaf0, var(--cream-2));--ui-paper-flat:#fffaf0;--ui-red-fill:linear-gradient(180deg, #e0463a, var(--red));--ui-gold-fill:linear-gradient(180deg, #ffe08a, var(--gold));--ui-green:#2d801d;--ui-muted:#241a149e;--ui-border:3px solid var(--ink);--ui-border-thin:2px solid var(--ink);--ui-shadow:0 4px 0 #241a1466;--ui-shadow-press:0 2px 0 #241a1466;--ui-radius-s:10px;--ui-radius:14px;--ui-radius-l:18px;--ui-gap:8px;--ui-pad:12px;--ui-ease-pop:cubic-bezier(.3, 1.6, .5, 1);--ui-disabled-bg:#ddd4c1;--ui-disabled-fg:#241a1499;--ui-safe-top:env(safe-area-inset-top,0px)}#overlay button:disabled,.popup button:disabled{cursor:not-allowed}.w-row .buy:disabled,.buy:disabled,.screen button.f-go:disabled{filter:none;opacity:1;text-shadow:none;color:var(--ui-disabled-fg)!important;background:var(--ui-disabled-bg)!important}.w-row .buy:disabled img.ico,.w-row .buy:disabled svg{opacity:.7}#overlay button:focus-visible,#hud button:focus-visible,.popup button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media (hover:hover){.lobby-dock .tile:hover,.nv-slot:hover,.bag-cell:hover,.nv-chip:hover,.lb-profile:hover,.title-next:hover{transform:translateY(-2px)}}#banner,#banner.show,body.touch #banner,body.touch #banner.show{top:calc(var(--ui-safe-top) + 78px)}.popup-card{max-height:calc(100dvh - 32px);overflow-y:auto}#toast{border-radius:var(--ui-radius-s);clip-path:none;border:var(--ui-border-thin);box-shadow:var(--ui-shadow);text-align:center;max-width:calc(100vw - 32px)}.f-tabs{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;flex:none;justify-content:flex-start;padding-bottom:10px;overflow:auto hidden}.f-tabs button{flex:none}@media (min-width:1100px){.f-tabs{justify-content:safe center}}@media (max-height:520px){.forge .f-main{gap:10px;padding-top:4px}.forge .f-stage{transform-origin:top;transform:scale(.8)}}@media (max-height:520px) and (orientation:landscape){#overlay[data-kind=title]{padding:calc(var(--ui-safe-top) + 62px) 16px 10px max(20px, env(safe-area-inset-left));background:linear-gradient(90deg,#f7f2e6f7 0%,#f7f2e6f2 46%,#f7f2e600 60%);justify-content:safe center;align-items:flex-start;gap:8px}#overlay[data-kind=title]:before{clip-path:none;background:linear-gradient(90deg, var(--red) 0 5px, var(--gold) 5px 8px);width:8px;height:auto;bottom:0;left:0;right:auto;-webkit-mask:none;mask:none;top:0!important}#overlay[data-kind=title]>:not(.lobby-top){width:100%;max-width:min(380px,54vw)}#overlay[data-kind=title] .logo{align-self:flex-start;margin:0}#overlay[data-kind=title] .logo .l1,#overlay[data-kind=title] .logo .l2{font-size:28px}#overlay[data-kind=title] .logo .mascot{width:40px}#overlay[data-kind=title] .tagline,#overlay[data-kind=title] #overlay-buttons .ghost-btn{display:none}#overlay[data-kind=title] #overlay-buttons{align-items:stretch}#overlay[data-kind=title] #overlay-buttons button{width:100%;min-width:0;padding:11px 22px 9px;font-size:18px}#overlay[data-kind=title] #overlay-buttons button.primary{padding:12px 22px 10px;font-size:20px}#overlay[data-kind=title]>.title-next{align-self:flex-start;min-height:40px;margin:0}#overlay[data-kind=title] .lobby-dock .tile{min-height:54px;padding:4px 2px 3px!important}#overlay[data-kind=title] .lobby-dock .tile img.ico,#overlay[data-kind=title] .lobby-dock .tile>svg,.lobby-dock .tile-face{width:26px!important;height:26px!important}#overlay[data-kind=title]>.lobby-top{left:max(14px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));align-items:center}.lb-purse{flex-direction:row}#overlay[data-kind=title] .disclaimer{display:none}.char-panel{width:min(400px,50vw)}.nv-col{gap:8px;transform:translateY(-55%)}.nv-slot{border-radius:12px;width:54px;height:54px;padding:4px}.nv-slot img.ico{width:38px;height:38px}.nv-gun{width:46px;height:28px}.nv-slot small{font-size:9px;bottom:-8px}.nv-col.left{left:12px}.nv-col.right{right:12px}.nv-badge{flex-direction:row;align-items:center;gap:10px;width:auto;max-width:70%;padding:4px 10px;bottom:6px}.nv-badge .lb-xp{display:none}.nv-power{gap:4px;font-size:0}.nv-tabs{padding-top:6px}.nv-tab-btn{font-size:var(--fs-s);padding:6px 10px 4px}.bag-grid{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px}}@media (min-width:1600px) and (min-height:900px){#overlay,.hud-header,.hud-gun,#powerups,#banner,#callout,#notice,#toast{zoom:1.25}}@media (min-width:2300px) and (min-height:1300px){#overlay,.hud-header,.hud-gun,#powerups,#banner,#callout,#notice,#toast{zoom:1.6}}:root{--ui-dur-fast:.12s;--ui-dur:.2s;--ui-z-tip:70;--inv-slot:76px;--inv-side:340px}.lobby-dock .title-tiles,#overlay[data-kind=title] .lobby-dock .title-tiles{grid-template-columns:repeat(6,1fr)}#overlay[data-kind=bag]{background:radial-gradient(at 50% 20%,#fbf3df,#ecdfc4 70%,#dccaa6);justify-content:stretch;align-items:stretch;padding:0}#overlay[data-kind=bag] #overlay-sub{flex:auto;align-items:stretch;gap:0;width:100%;height:auto;min-height:0;overflow:hidden}#overlay[data-kind=bag]>:not(#overlay-sub){display:none}.inv{flex-direction:column;width:100%;height:100%;display:flex}.inv .page-top{padding-top:max(10px, var(--ui-safe-top));flex:none}.inv-body{grid-template-columns:auto minmax(0, 1fr) var(--inv-side);width:min(1180px,100%);min-height:0;padding:14px max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));flex:1;gap:14px;margin:0 auto;display:grid}.inv-cats{flex-direction:column;gap:8px;display:flex}.inv-cat{cursor:pointer;text-align:left;min-width:150px;font:inherit;color:var(--ui-muted);border:var(--ui-border-thin);border-radius:var(--ui-radius);transition:transform var(--ui-dur-fast), background var(--ui-dur-fast);background:#fffaf099;border-color:#241a1433;grid-template-rows:auto auto;grid-template-columns:34px auto;align-items:center;column-gap:8px;padding:8px 12px 8px 8px;display:grid;position:relative}.inv-cat img.ico,.inv-cat>svg{grid-row:span 2;width:34px;height:34px}.inv-cat span{font:800 var(--fs-m)/1.1 var(--font-display);color:var(--ink)}.inv-cat small{font:700 var(--fs-xs) "Be Vietnam Pro", system-ui}.inv-cat.on{background:var(--ui-paper);border:var(--ui-border);box-shadow:var(--ui-shadow);color:var(--ink)}.inv-cat.on:before{content:"";background:var(--red);border-radius:0 4px 4px 0;width:5px;position:absolute;top:10px;bottom:10px;left:-3px}.inv-main{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}.inv-tools{flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.inv-chips{flex-wrap:wrap;gap:6px;display:flex}.inv-sort{border-radius:var(--ui-radius-s);background:#241a1414;align-items:center;gap:0;margin-left:auto;padding:3px;display:inline-flex}.inv-sort span{font:700 var(--fs-xs) "Be Vietnam Pro", system-ui;color:var(--ui-muted);padding:0 8px 0 6px}.inv-sort button{cursor:pointer;font:800 var(--fs-s) var(--font-display);color:var(--ui-muted);background:0 0;border:0;border-radius:8px;padding:5px 10px 4px}.inv-sort button.on{color:var(--ink);background:#fffaf0;box-shadow:0 2px #241a1440}.inv-grid{overscroll-behavior:contain;touch-action:pan-y;grid-template-columns:repeat(auto-fill, minmax(var(--inv-slot), 1fr));border-radius:var(--ui-radius-l);background:#241a1412;flex:1;align-content:start;gap:10px;min-height:0;padding:10px;display:grid;overflow-y:auto;box-shadow:inset 0 2px 6px #241a141f}.inv-grid.compact{--inv-slot:64px;flex:none;max-height:none;overflow:visible}.inv-empty{text-align:center;font:600 var(--fs-s) "Be Vietnam Pro", system-ui;color:var(--ui-muted);margin:0;padding:10px}.inv-slot{--rc:transparent;aspect-ratio:1;cursor:pointer;min-width:0;font:inherit;color:var(--ink);border:var(--ui-border-thin);background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--rc) 24%, #fffaf0) 0%, #fffaf0 72%);box-shadow:inset 0 -4px 0 var(--rc), 0 3px 0 #241a144d;transition:transform var(--ui-dur-fast), box-shadow var(--ui-dur-fast);border-radius:12px;place-items:center;padding:8px;display:grid;position:relative}.inv-slot.r-none{--rc:#241a1426}.inv-slot.r-common{--rc:var(--r-common)}.inv-slot.r-rare{--rc:var(--r-rare)}.inv-slot.r-epic{--rc:var(--r-epic)}.inv-slot.r-legendary{--rc:var(--r-legendary)}.inv-pic{place-items:center;width:100%;height:100%;display:grid}.inv-pic img.ico,.inv-pic svg,.inv-pic img.wico{object-fit:contain;width:100%;max-width:64px;height:100%;max-height:64px}.inv-lv{font:800 11px/1.45 var(--font-display);color:#fff;background:var(--ink);border-radius:6px;padding:0 5px;position:absolute;top:3px;right:4px}.inv-qty{font:800 14px/1 var(--font-display);color:#fff;-webkit-text-stroke:.22em var(--ink);paint-order:stroke fill;position:absolute;bottom:6px;right:5px}.inv-new{font:800 9px/1.6 var(--font-display);color:#fff;background:var(--red);border:2px solid #fff;border-radius:6px;padding:0 5px;font-style:normal;position:absolute;top:-7px;left:-5px}.inv-worn{width:18px;height:18px;font:800 11px/1 var(--font-display);color:#fff;background:var(--ui-green);border:2px solid #fff;border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute;bottom:6px;left:4px}.inv-lock{background:#241a1459;border-radius:10px;place-items:center;display:grid;position:absolute;inset:0}.inv-lock img.ico{width:26px;height:26px}.inv-slot.is-locked .inv-pic{filter:grayscale();opacity:.6}@media (hover:hover){.inv-slot:not(.is-empty):not(.is-static):hover{box-shadow:inset 0 -4px 0 var(--rc), 0 5px 0 #241a144d;transform:translateY(-2px)}}.inv-slot:not(.is-static):active{transform:translateY(1px)}.inv-slot.is-picked{outline:3px solid var(--gold);outline-offset:2px;transform:translateY(-2px)}.inv-slot.is-empty{cursor:default;box-shadow:none;background:#fffaf059;border-style:dashed;border-color:#241a142e}.inv-slot.is-static{cursor:default}.inv-slot.is-big{flex:none;width:84px;height:84px}.inv-slot.r-legendary:not(.is-empty):after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 35%,#ffffffa6 50%,#0000 65%) -150% 0/250% 100% no-repeat;border-radius:10px;animation:2.6s ease-in-out infinite legend-shine;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.inv-slot.r-legendary:after{animation:none}}.rar-badge{font:800 var(--fs-xs)/1.5 var(--font-display);color:#fff;background:var(--rc);border-radius:999px;align-items:center;padding:1px 8px;display:inline-flex}.rar-badge.r-common{--rc:var(--r-common)}.rar-badge.r-rare{--rc:var(--r-rare)}.rar-badge.r-epic{--rc:var(--r-epic)}.rar-badge.r-legendary{--rc:var(--r-legendary);color:var(--ink)}.inv-side{overscroll-behavior:contain;min-width:0;min-height:0;overflow-y:auto}.inv-card{color:var(--ink);background:var(--ui-paper);border:var(--ui-border);border-radius:var(--ui-radius-l);box-shadow:var(--ui-shadow);border-top:6px solid var(--rc,var(--ink));flex-direction:column;gap:10px;padding:14px;display:flex}.inv-card.r-common{--rc:var(--r-common)}.inv-card.r-rare{--rc:var(--r-rare)}.inv-card.r-epic{--rc:var(--r-epic)}.inv-card.r-legendary{--rc:var(--r-legendary)}.inv-card.r-none{--rc:var(--ink)}.inv-card.is-hint{text-align:center;box-shadow:none;background:#fffaf099;border-style:dashed;border-top-width:3px;align-items:center}.inv-card.is-hint p{font:600 var(--fs-s) "Be Vietnam Pro", system-ui;color:var(--ui-muted);margin:0}.inv-hint-ico img.ico{opacity:.6;width:44px;height:44px}.inv-head{align-items:center;gap:12px;display:flex}.inv-title{flex-direction:column;gap:6px;min-width:0;display:flex}.inv-title>b{font:800 var(--fs-xl)/1.1 var(--font-display)}.inv-plus{color:var(--red)}.inv-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inv-type,.inv-state{font:800 var(--fs-xs)/1.5 var(--font-display);color:var(--ink);background:#241a1414;border-radius:999px;padding:1px 8px}.inv-state{color:#fff;background:var(--ui-green)}.inv-state.qty{color:var(--ink);background:#ffe8a8}.inv-lvbar{border:var(--ui-border-thin);background:#4a3a30;border-radius:9px;height:18px;position:relative;overflow:hidden}.inv-lvbar i{background:linear-gradient(#ffd23f,#f08a1c);position:absolute;inset:0 auto 0 0}.inv-lvbar span{text-align:center;font:800 11px/14px var(--font-display);color:#fff;-webkit-text-stroke:.22em var(--ink);paint-order:stroke fill;display:block;position:relative}.inv-stats{border-radius:var(--ui-radius-s);background:#241a140f;grid-template-columns:1fr 1fr;gap:6px 14px;margin:0;padding:8px 10px;list-style:none;display:grid}.inv-stats li{font:600 var(--fs-s) "Be Vietnam Pro", system-ui;align-items:baseline;gap:4px;display:flex}.inv-stats b{font:800 var(--fs-m) var(--font-display);color:var(--ui-green);margin-left:auto}.inv-stats i{font-size:11px;font-style:normal}.inv-stats .up{color:var(--ui-green)}.inv-stats .down{color:var(--red)}.inv-power{border-radius:var(--ui-radius-s);font:700 var(--fs-s) "Be Vietnam Pro", system-ui;align-items:center;gap:6px;margin:0;padding:6px 10px;display:flex}.inv-power svg{width:18px;height:18px}.inv-power b{font:800 var(--fs-m) var(--font-display)}.inv-power.up{color:var(--ui-green);background:#2d801d1f}.inv-power.down{color:var(--red);background:#c8302a1a}.inv-note,.inv-locked{font:600 var(--fs-xs)/1.5 "Be Vietnam Pro", system-ui;color:var(--ui-muted);margin:0}.inv-locked{color:var(--red);align-items:center;gap:6px;display:flex}.inv-locked img.ico{width:18px;height:18px}.inv-actions{flex-wrap:wrap;gap:8px;display:flex}.inv-btn{cursor:pointer;min-height:42px;font:800 var(--fs-m) var(--font-display);color:var(--ink);background:var(--ui-paper);border:var(--ui-border-thin);border-radius:var(--ui-radius-s);box-shadow:var(--ui-shadow);transition:transform var(--ui-dur-fast);flex:auto;padding:8px 14px}.inv-btn.is-primary{color:#fff;background:var(--ui-red-fill);border-color:var(--ink);text-shadow:0 1px #0000004d;flex-basis:100%}.inv-btn.is-danger{color:var(--red-dk)}.inv-btn:active:not(:disabled){box-shadow:var(--ui-shadow-press);transform:translateY(2px)}.inv-btn:disabled{color:var(--ui-disabled-fg);background:var(--ui-disabled-bg);box-shadow:none;text-shadow:none}@media (hover:hover){.inv-btn:hover:not(:disabled),.inv-cat:hover{transform:translateY(-2px)}}.inv-tip{z-index:var(--ui-z-tip);pointer-events:none;width:230px;color:var(--ink);border:var(--ui-border-thin);border-radius:var(--ui-radius);opacity:0;transition:opacity var(--ui-dur-fast);background:#fffaf0;padding:10px 12px;position:fixed;top:0;left:0;box-shadow:0 8px 20px #00000040}.inv-tip.show{opacity:1}.inv-tip .tip-name{font:800 var(--fs-m)/1.15 var(--font-display);margin-bottom:4px;display:block}.inv-tip .inv-stats{grid-template-columns:1fr;margin-top:8px;padding:6px 8px}.inv-tip .tip-qty,.inv-tip .inv-locked{font:600 var(--fs-xs) "Be Vietnam Pro", system-ui;margin:6px 0 0}.char .inv-card{padding:12px}.char .inv-slot.is-big{width:64px;height:64px}.nv-chip.ghost{border-style:dashed;margin-left:auto}@media (max-width:1000px){.inv-body{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:auto minmax(0,1fr)}.inv-side{grid-column:2;max-height:46vh}.inv-cats{grid-row:span 2}}@media (max-width:760px) and (orientation:portrait){:root{--inv-slot:62px}.inv-body{padding:8px 10px max(10px, env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}.inv-cats{flex-direction:row;flex:none;gap:6px;padding-bottom:2px;overflow-x:auto}.inv-cat{flex:none;grid-template-columns:24px auto;min-width:0;padding:5px 10px 5px 6px}.inv-cat img.ico,.inv-cat>svg{width:24px;height:24px}.inv-cat span{font-size:var(--fs-s)}.inv-cat.on:before,.inv-sort span{display:none}.inv-grid{gap:8px;padding:8px}.inv-side{flex:none;max-height:44%}.inv-side:not(.has-pick){display:none}.inv-card{gap:8px;padding:10px 12px}.inv-slot.is-big{width:60px;height:60px}.inv-title>b{font-size:var(--fs-l)}.inv-btn{min-height:38px;font-size:var(--fs-s)}}@media (max-height:520px) and (orientation:landscape){:root{--inv-slot:58px;--inv-side:270px}.inv-body{grid-template-columns:auto minmax(0, 1fr) var(--inv-side);grid-template-rows:1fr;gap:8px;padding:6px 10px 8px}.inv-side{grid-column:auto;max-height:none}.inv-cats{grid-row:auto}.inv-cat{grid-template-columns:26px;min-width:0;padding:6px}.inv-cat span,.inv-cat small{display:none}.inv-cat img.ico,.inv-cat>svg{width:26px;height:26px}.inv-sort span{display:none}.inv-card{gap:6px;padding:8px 10px}.inv-slot.is-big{width:52px;height:52px}.inv-title>b{font-size:var(--fs-m)}.inv-btn{min-height:34px;font-size:var(--fs-s);padding:4px 10px}}.shop-card{box-shadow:var(--ui-shadow);border:var(--ui-border-thin)}.shop-head{align-items:center;gap:10px;display:flex}.shop-head .inv-slot.is-big{width:72px;height:72px}.shop-head .w-name{margin-bottom:4px;display:block}.shop-card.locked .shop-head .inv-pic{filter:grayscale();opacity:.55}.f-tabs .inv-slot{flex:none;width:64px;height:64px;padding:6px}.f-tabs .inv-slot .inv-pic img.ico,.f-tabs .inv-slot .inv-pic svg,.f-tabs .inv-slot .inv-pic img.wico{max-width:48px;max-height:44px}.f-tabs{gap:10px;padding-top:14px}.nv-slot{background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--rc,transparent) 24%, #fffaf0) 0%, #fffaf0 72%);box-shadow:inset 0 -4px 0 var(--rc,transparent), var(--ui-shadow)}.nv-slot:active{box-shadow:inset 0 -4px 0 var(--rc,transparent), var(--ui-shadow-press)}.nv-slot.picked{outline:3px solid var(--gold);outline-offset:2px}.f-cost{border-radius:var(--ui-radius-s);font:700 var(--fs-s) "Be Vietnam Pro", system-ui;background:#241a140f;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 10px;display:flex}.f-cost>span{color:var(--ui-muted)}.f-cost b{font:800 var(--fs-m) var(--font-display);color:var(--ink);align-items:center;gap:3px;display:inline-flex}.f-cost b img.ico{width:20px;height:20px}.f-cost b small{font:600 var(--fs-xs) "Be Vietnam Pro", system-ui;color:var(--ui-muted)}.f-cost b.short{color:var(--red)}.f-info .inv-tags{margin-top:-4px}#overlay[data-kind=title] .lobby-dock .title-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:480px){#overlay[data-kind=title] .lobby-dock .title-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#overlay[data-kind=title] .lobby-dock .tile{justify-content:flex-start;gap:4px;min-height:46px;flex-direction:row!important;padding:4px 4px 4px 5px!important;font-size:11.5px!important}#overlay[data-kind=title] .lobby-dock .tile img.ico,#overlay[data-kind=title] .lobby-dock .tile>svg,.lobby-dock .tile-face{flex:none;width:24px!important;height:24px!important}.lobby-dock .dot{width:14px;height:14px;top:-5px;right:-5px}}@media (max-width:760px) and (orientation:portrait){.char-stage{flex:auto;min-height:34%}.char-panel{flex:0 auto;max-height:62%}.char .nv-tab-body{padding:8px 10px calc(10px + env(safe-area-inset-bottom));gap:8px}.char .inv-grid.compact{overscroll-behavior-x:contain;touch-action:pan-x;grid-template-rows:58px;grid-template-columns:none;grid-auto-columns:58px;grid-auto-flow:column;gap:8px;padding:8px;overflow:auto hidden}.char .inv-grid.compact .inv-slot{padding:5px}.char .nv-chips{flex-wrap:nowrap;overflow-x:auto}.char .nv-chip{flex:none;padding:4px 10px 3px}.char .inv-card{border-top-width:4px;gap:6px;padding:8px 10px}.char .inv-card .inv-note,.char .inv-card .inv-lvbar{display:none}.char .inv-card.is-hint{text-align:left;flex-direction:row}.char .inv-hint-ico img.ico{width:28px;height:28px}.char .inv-slot.is-big{width:48px;height:48px;padding:4px}.char .inv-title>b{font-size:var(--fs-m)}.char .inv-stats{gap:2px 12px;padding:5px 8px}.char .inv-power{padding:3px 8px}.char .inv-actions{flex-wrap:nowrap}.char .inv-btn{min-height:36px;font-size:var(--fs-s);flex:1 1 0;padding:4px 8px}.char .inv-btn.is-primary{flex-basis:0}.char .nv-tabs{padding-top:6px}}#hp-fill{background:linear-gradient(#ff6b57,#d8352b);box-shadow:inset 0 2px #ffffff59}.hud-player-unit .armorbar{background:#241a142e;border-radius:3px;height:5px;margin-top:2px;overflow:hidden}.hud-player-unit .armorbar.empty{display:none}#armor-fill{background:#5b8fd6;border-radius:3px;width:0;height:100%;display:block;position:static}.hud-player-unit .hc-row{overflow:hidden}@media (max-width:600px){.hud-player-unit .hc-name{display:none}.hud-player-unit .hc-row{justify-content:flex-start}}#overlay[data-kind=results] #overlay-buttons,#overlay[data-kind=gameover] #overlay-buttons,#overlay[data-kind=""] #overlay-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(520px,94vw);margin-top:4px;display:grid}#overlay[data-kind=results] #overlay-buttons button,#overlay[data-kind=gameover] #overlay-buttons button,#overlay[data-kind=""] #overlay-buttons button{clip-path:none;letter-spacing:.5px;text-transform:none;border:var(--ui-border-thin);border-radius:var(--ui-radius);min-width:0;min-height:48px;box-shadow:var(--ui-shadow);margin:0;transform:none;-webkit-mask:none;mask:none;font:800 var(--fs-m)/1.1 var(--font-display)!important;padding:10px 12px!important}#overlay[data-kind=results] #overlay-buttons button.primary,#overlay[data-kind=gameover] #overlay-buttons button.primary,#overlay[data-kind=""] #overlay-buttons button.primary{color:#fff;background:var(--ui-red-fill);text-shadow:0 1px #0000004d;grid-column:1/-1;min-height:56px;font-size:var(--fs-xl)!important}#overlay[data-kind=results] #overlay-buttons button.secondary,#overlay[data-kind=gameover] #overlay-buttons button.secondary,#overlay[data-kind=""] #overlay-buttons button.secondary{color:var(--ink);background:var(--ui-paper)}#overlay[data-kind=results] #overlay-buttons button:active,#overlay[data-kind=gameover] #overlay-buttons button:active,#overlay[data-kind=""] #overlay-buttons button:active{box-shadow:var(--ui-shadow-press);transform:translateY(2px)}#overlay[data-kind=results] #overlay-buttons button.secondary:only-of-type{grid-column:1/-1}#overlay-buttons.arming button{pointer-events:none;opacity:.55;transition:opacity .2s}.hud-header .hud-player-unit{gap:8px;margin-left:0;padding:4px 10px 4px 4px}.hud-header .hp-avatar-wrap{width:calc(var(--hud-h) - 12px);height:calc(var(--hud-h) - 12px);flex:none;position:relative;top:auto;left:auto;transform:none}.hud-header .hp-avatar-wrap .hp-portrait{box-shadow:none;border-width:2px}.hud-header .hp-avatar-wrap .lv-badge{min-width:18px;height:18px;font-size:11px;bottom:-5px;right:-5px}.hud-player-unit .armorbar{display:none}.armor-chip{font:800 12px/18px var(--font-display);color:var(--ink);background:#241a1414;border-radius:8px;align-items:center;gap:1px;margin-left:auto;padding:0 5px 0 2px;display:inline-flex}.armor-chip.empty{display:none}.armor-chip img.ico{vertical-align:middle;width:16px;height:16px}@media (max-width:600px){.hud-player-unit .hp-val i{display:none}.hud-player-unit .hc-row{gap:4px}.armor-chip{padding:0 4px 0 1px;font-size:11px}.armor-chip img.ico{width:14px;height:14px}}@media (max-width:420px){.hud-header .hud-player-unit{gap:6px;padding:3px 7px 3px 3px}}.lb-purse{border:var(--ui-border-thin);background:var(--ui-paper);height:38px;box-shadow:var(--ui-shadow);border-radius:19px;flex-wrap:nowrap;align-items:center;gap:0;padding:0 4px;flex-direction:row!important}.lb-purse span{border-radius:0;height:auto;padding:0 7px 0 3px;box-shadow:none!important;background:0 0!important;border:0!important}.lb-purse span+span{border-left:1px solid #241a1426!important}.lb-purse img.ico{width:22px;height:22px}.lb-purse b{font-size:15px}@media (max-width:420px){.lb-purse{height:34px}.lb-purse span{padding:0 5px 0 2px}.lb-purse img.ico{width:18px;height:18px}.lb-purse b{font-size:13px}.lb-purse small{display:none}}#overlay[data-kind=title] #overlay-buttons button.primary.play-big{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-width:0;display:flex;padding:16px 64px 15px 26px!important}#overlay[data-kind=title] #overlay-buttons button.primary.play-big:after{float:none;margin:0;font-size:28px;position:absolute;top:50%;right:26px;translate:0 -50%}.play-big .pb-main{font:800 30px/1 var(--font-display);letter-spacing:3px}.play-big .pb-sub{letter-spacing:0;text-transform:none;text-shadow:none;color:#ffffffeb;flex-wrap:wrap;align-items:center;gap:4px 8px;font:700 14px/1.2 Be Vietnam Pro,system-ui;display:flex}.play-big .pb-sub b{font-family:var(--font-display);color:#ffd23f}.play-big .pb-boss,.play-big .pb-rec{font:800 11px/1.5 var(--font-display);border-radius:8px;align-items:center;gap:2px;padding:1px 7px 0 3px;font-style:normal;display:inline-flex}.play-big .pb-boss{color:#fff;background:#241a148c}.play-big .pb-boss img.ico{width:14px;height:14px}.play-big .pb-rec{color:var(--ink);background:#ffffffd9}.play-big .pb-rec svg{width:13px;height:13px}.play-big .pb-rec.low{color:#fff;background:var(--red-dk)}.play-big .pb-rec.low svg path{fill:#ffd23f}#overlay[data-kind=title] .lobby-dock{border-top:2px dashed #241a1424;margin-top:10px;padding-top:12px}#overlay[data-kind=title] .lobby-dock .title-tiles{gap:6px;grid-template-columns:repeat(6,minmax(0,1fr))!important}#overlay[data-kind=title] .lobby-dock .tile{min-height:60px;color:var(--ink);box-shadow:none;background:#fffaf0b3;border:1.5px solid #241a1429;border-radius:12px;justify-content:center;gap:3px;flex-direction:column!important;padding:6px 2px 5px!important;font:700 11px/1.1 Be Vietnam Pro,system-ui!important}#overlay[data-kind=title] .lobby-dock .tile img.ico,#overlay[data-kind=title] .lobby-dock .tile>svg,.lobby-dock .tile-face{width:30px!important;height:30px!important}#overlay[data-kind=title] .lobby-dock .tile span{white-space:nowrap}#overlay[data-kind=title] .lobby-dock .tile:active{background:#fffaf0;transform:translateY(1px)}.lobby-dock .dot{border-width:2px;width:12px;height:12px;top:-4px;right:-4px}@media (max-width:400px){#overlay[data-kind=title] .lobby-dock .tile{min-height:56px;font-size:10px!important}#overlay[data-kind=title] .lobby-dock .tile img.ico,#overlay[data-kind=title] .lobby-dock .tile>svg,.lobby-dock .tile-face{width:26px!important;height:26px!important}.play-big .pb-main{font-size:26px}#overlay[data-kind=title] #overlay-buttons button.primary.play-big{padding:14px 54px 13px 20px!important}}@media (max-width:760px) and (orientation:portrait){#overlay[data-kind=title] .logo .l1,#overlay[data-kind=title] .logo .l2{font-size:clamp(30px,9vw,44px)}#overlay[data-kind=title] .logo .mascot{width:50px}}#overlay[data-kind=title] .lobby-dock .tile{letter-spacing:-.15px;padding-left:1px!important;padding-right:1px!important;font-size:10.5px!important}@media (max-width:400px){#overlay[data-kind=title] .lobby-dock .title-tiles{grid-template-columns:repeat(3,minmax(0,1fr))!important}#overlay[data-kind=title] .lobby-dock .tile{justify-content:flex-start;gap:5px;min-height:42px;flex-direction:row!important;padding:4px 6px!important;font-size:11px!important}#overlay[data-kind=title] .lobby-dock .tile img.ico,#overlay[data-kind=title] .lobby-dock .tile>svg,.lobby-dock .tile-face{width:24px!important;height:24px!important}}#overlay[data-kind=title] #overlay-buttons{width:100%}body.touch .hud-gun{left:auto;right:max(12px, env(safe-area-inset-right));width:auto;bottom:calc(env(safe-area-inset-bottom) + max(110px, 20vh) + 74px);border:var(--ui-border-thin);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);background:var(--ui-paper);clip-path:none;gap:6px;padding:4px 12px 6px 6px;display:flex!important}body.touch .hud-gun .gun-pic{width:44px;height:28px;padding:1px}body.touch .hud-gun #weapon-name{display:none}body.touch .hud-gun #ammo{font-size:18px}body.touch .hud-gun #ammo-reserve{color:var(--ui-muted);font-size:12px}body.touch .hud-gun .reload{height:3px;bottom:2px;left:8px;right:8px}#ammo.empty #ammo-mag{color:var(--red)}@media (max-width:760px) and (orientation:portrait){.inv-cats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0;display:grid;overflow:visible}.inv-cat{text-align:center;grid-template-rows:auto auto auto;grid-template-columns:1fr;justify-items:center;row-gap:1px;min-width:0;padding:6px 4px 5px}.inv-cat img.ico,.inv-cat>svg{grid-row:auto;width:24px;height:24px}.inv-cat span{white-space:nowrap;font-size:12px}.inv-cat small{font-size:10px}}#touch .thint{grid-template-columns:1fr 1fr;justify-items:center;gap:8px;padding:0 12px;display:grid}#touch .thint span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:3px 10px;font-size:12px;overflow:hidden}#hud{z-index:9}#overlay button,.popup button{-webkit-tap-highlight-color:transparent}#overlay .inv-slot:focus:not(:focus-visible),#overlay .inv-btn:focus:not(:focus-visible){outline:none}@media (max-width:760px) and (orientation:portrait){:root{--inv-slot:54px}.inv-slot{padding:6px}.inv-main{flex:1 1 0;min-height:0}.inv-side{overscroll-behavior:auto;max-height:none;overflow:visible}.inv-card{border-top-width:4px;gap:6px;padding:8px 10px}.inv-head{gap:10px}.inv-slot.is-big{width:46px;height:46px;padding:4px}.inv-title{gap:3px}.inv-title>b{font-size:var(--fs-m)}.inv-lvbar{height:14px}.inv-lvbar span{font-size:10px;line-height:10px}.inv-stats{gap:2px 12px;padding:5px 8px}.inv-stats li{font-size:var(--fs-xs)}.inv-stats b{font-size:var(--fs-s)}.inv-note{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.inv-actions{flex-wrap:nowrap;gap:6px}.inv-btn,.inv-btn.is-primary{min-height:34px;font-size:var(--fs-s);flex:1 1 0;padding:4px 8px}.inv-sort button{padding:4px 8px 3px}}@media (max-width:760px) and (orientation:portrait) and (max-height:700px){.inv-note{display:none}}*{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0;display:none}.inv-grid{overflow-x:hidden}#touch .tbtn.boss{right:max(12px, env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + max(110px, 20vh) + 126px);pointer-events:auto;white-space:nowrap;width:auto;height:40px;font:800 13px var(--font-display);color:var(--ink);background:var(--ui-paper);border:var(--ui-border-thin);box-shadow:var(--ui-shadow);border-radius:20px;align-items:center;gap:4px;padding:0 12px 0 8px;display:flex;position:absolute}#touch .tbtn.boss.hidden{display:none}#touch .tbtn.boss img.ico{width:22px;height:22px}#touch .tbtn.boss.on{color:#fff;background:var(--ui-red-fill)}#touch .tbtn.boss.on span:after{content:" ✓"}.rw{font:800 12px/1.2 var(--font-display);color:var(--ink);white-space:nowrap;background:#241a1412;border-radius:999px;align-items:center;gap:3px;padding:2px 7px 2px 4px;display:inline-flex}.rw img.ico,.rw svg{object-fit:contain;width:18px;height:18px}.rw.r-rare{background:#3c8ce624}.rw.r-epic{background:#9650dc24}.rw.r-legendary{background:#f0a01e33}.lobby-quest{width:100%;color:var(--ink);background:var(--ui-paper);border:var(--ui-border-thin);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);flex:none;align-items:center;gap:8px;padding:8px 10px 12px;display:flex;position:relative;overflow:hidden}.lobby-quest.ready{border-color:var(--ui-green)}.lobby-quest .lq-main{text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;display:flex}.lq-ico{background:#c832281a;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid;position:relative}.lq-ico img.ico{width:22px;height:22px}.lq-ico i{min-width:16px;font:800 10px/16px var(--font-display);color:#fff;background:var(--red);border-radius:8px;padding:0 4px;font-style:normal;position:absolute;top:-4px;right:-4px}.lq-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.lq-body b{font:800 var(--fs-m)/1.15 var(--font-display);align-items:baseline;gap:6px;display:flex}.lq-body b em{font:800 12px var(--font-display);color:var(--ui-muted);font-style:normal}.lobby-quest.ready .lq-body b em{color:var(--ui-green)}.lq-body small{font:600 var(--fs-xs) "Be Vietnam Pro", system-ui;color:var(--ui-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lq-rw{flex:none;gap:4px;display:flex}.lq-bar{background:#241a141a;height:4px;position:absolute;bottom:0;left:0;right:0}.lq-bar i{background:linear-gradient(90deg,#8fe864,#3a9a26);position:absolute;inset:0 auto 0 0}.lq-claim{cursor:pointer;min-height:38px;font:800 var(--fs-m) var(--font-display);color:#fff;border:var(--ui-border-thin);border-radius:var(--ui-radius-s);box-shadow:0 3px 0 var(--ink);background:linear-gradient(#6fd246,#2d801d);flex:none;padding:0 18px;animation:1.2s ease-in-out infinite dot-pulse}.lq-claim:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}@media (prefers-reduced-motion:reduce){.lq-claim{animation:none}}@media (max-height:520px) and (orientation:landscape){.lq-body small{display:none}}.quests .q-list{min-height:0;padding:12px max(12px, calc((100% - 560px) / 2)) calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.q-sum{border-radius:var(--ui-radius);background:#241a140f;grid-template-columns:1fr auto;align-items:center;gap:6px 8px;padding:10px 12px;display:grid}.q-sum>span:first-child{font:800 var(--fs-s) var(--font-display);color:var(--red-dk);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;display:inline-flex}.q-sum img.ico{width:20px;height:20px}.q-sum>b{font:800 var(--fs-m) var(--font-display);color:var(--ink)}.q-sum .qc-bar{grid-column:1/-1}.qc-bar{background:#241a141f;border-radius:5px;height:8px;display:block;position:relative;overflow:hidden}.qc-bar i{background:linear-gradient(90deg,#8fe864,#3a9a26);border-radius:5px;position:absolute;inset:0 auto 0 0}.qcard{color:var(--ink);background:var(--ui-paper);border:var(--ui-border-thin);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);flex-direction:column;gap:6px;padding:12px;display:flex}.qcard.ready{border-color:var(--ui-green)}.qc-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.qc-head b{font:800 var(--fs-l) var(--font-display)}.qc-head em{font:800 var(--fs-s) var(--font-display);color:var(--ui-muted);font-style:normal}.qcard.ready .qc-head em{color:var(--ui-green)}.qcard small{font:600 var(--fs-s) "Be Vietnam Pro", system-ui;color:var(--ui-muted)}.qc-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.qc-rw{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.qcard .q-claim{padding:0 24px}.q-sec{font:800 var(--fs-xs) var(--font-display);color:var(--ui-muted);text-transform:uppercase;letter-spacing:.8px;margin:8px 2px 0}.qline{min-height:40px;color:var(--ink);border-radius:var(--ui-radius-s);background:#ffffff73;border:1px dashed #241a1438;align-items:center;gap:8px;padding:4px 10px;display:flex}.qline b{min-width:0;font:700 var(--fs-s) var(--font-display);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.qline small{font:800 10px var(--font-display);color:var(--red-dk);background:#c832281a;border-radius:6px;flex:none;padding:1px 6px}.qline .ql-mark{width:22px;height:22px;font:800 12px var(--font-display);color:#fff;background:#241a1433;border-radius:50%;flex:none;place-items:center;display:grid}.qline .ql-mark img.ico{opacity:.7;width:13px;height:13px}.qline.locked{color:var(--ui-muted)}.qline.claimed{color:var(--ui-muted);background:#241a140a;border-style:solid;border-color:#0000}.qline.claimed .ql-mark{background:var(--ui-green)}.qline.claimed b{-webkit-text-decoration:line-through #241a144d;text-decoration:line-through #241a144d}.q-done{flex-direction:column;gap:6px;display:flex}.q-done summary{cursor:pointer;font:800 var(--fs-xs) var(--font-display);color:var(--ui-muted);text-transform:uppercase;letter-spacing:.8px;margin:8px 2px 4px}.q-done .qline+.qline{margin-top:6px}.q-empty{text-align:center;font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:var(--ui-muted);margin:0;padding:16px}.popup-card:has(.quest-pop){width:min(380px,100%)}.quest-pop h3{font:800 var(--fs-xl) var(--font-display);color:var(--ink);margin:0 0 8px}.qp-rewards{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.qp-rewards .rw{border-radius:var(--ui-radius-s);font-size:var(--fs-m);gap:6px;padding:6px 12px 6px 8px}.qp-rewards .rw img.ico,.qp-rewards .rw svg{width:28px;height:28px}.rs-quest{border:var(--ui-border-thin);background:#fffaf0;border-radius:12px;align-items:center;gap:8px;padding:6px 12px;display:flex}.rs-quest img.ico{width:26px;height:26px}.rs-quest span{font:700 var(--fs-xs) "Be Vietnam Pro", system-ui;color:var(--ui-muted)}.rs-quest b{font:800 var(--fs-m) var(--font-display);color:var(--ink)}.rs-quest em{font:800 var(--fs-s) var(--font-display);color:var(--red-dk);margin-left:auto;font-style:normal}.rs-quest.ready{border-color:var(--ui-green)}.rs-quest.ready em{color:var(--ui-green)}.lobby-daily{text-align:left;cursor:pointer;width:100%;font:inherit;color:#fff;background:linear-gradient(180deg, #4a3a32, var(--ink));border:var(--ui-border-thin);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;column-gap:8px;margin-bottom:10px;padding:7px 12px 7px 8px;display:grid}.lobby-daily img.ico{grid-row:span 2;width:30px;height:30px}.lobby-daily b{font:800 var(--fs-m)/1.1 var(--font-display);color:#ffd23f}.lobby-daily span{font:600 var(--fs-xs) "Be Vietnam Pro", system-ui;color:#fffc;grid-column:2}.lobby-daily i{font:800 22px var(--font-display);color:#ffd23f;grid-area:1/3/span 2;font-style:normal}.lobby-daily.spent b{color:#fff}.lobby-daily:active{box-shadow:var(--ui-shadow-press);transform:translateY(2px)}.rs-runs{text-align:center;font:700 var(--fs-s) "Be Vietnam Pro", system-ui;color:var(--ink);background:#ffe8a8;border-radius:10px;padding:6px 12px}.rs-runs b{font-family:var(--font-display)}.rs-runs.none{color:var(--ui-muted);background:#241a1412}@media (max-width:760px){#overlay[data-kind=results]{padding:max(6px, env(safe-area-inset-top)) 12px max(8px, env(safe-area-inset-bottom));justify-content:center;gap:6px}#overlay[data-kind=results] .result-stars{margin-bottom:-14px}#overlay[data-kind=results] .result-stars .star img.ico{width:48px;height:48px}#overlay[data-kind=results] .result-stars .star:nth-child(2) img.ico{width:62px;height:62px;margin-bottom:8px}.rs-ribbon{padding:9px 30px 7px;font-size:22px}.rs-card{gap:6px;padding:16px 10px 10px}.rs-stats{gap:4px}.rs-stat{border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;place-items:center start;column-gap:6px;padding:5px 8px;display:grid}.rs-stat img.ico,.rs-stat svg{grid-row:1/3;width:24px;height:24px}.rs-stat span{letter-spacing:.5px;white-space:nowrap;font-size:9px}.rs-stat b{font-size:var(--fs-m)}.rs-coins{grid-template-columns:1fr 1fr 1.1fr;gap:4px;padding:6px 8px}.rs-coins img.ico{width:22px;height:22px}.rs-coins span{font-size:var(--fs-xs);white-space:nowrap}.rs-coins b{font-size:var(--fs-m)}.rs-coins .total{border-top:0;border-left:2px dashed #b8760c66;grid-column:auto;padding-top:0}.rs-coins .total b{font-size:var(--fs-l)}.rs-coins .total b img.ico{width:20px;height:20px}.rs-new{padding:5px 10px}.rs-loot,.rs-quest{gap:6px;min-width:0;padding:4px 10px}.rs-loot img.ico{width:28px;height:28px}.rs-quest img.ico{width:20px;height:20px}.rs-loot span,.rs-quest span,.rs-quest em{white-space:nowrap}.rs-loot b,.rs-quest b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.acc-bar{padding:4px 8px}#overlay[data-kind=results] .star-help{margin:0;font-size:10px}#overlay[data-kind=results] #overlay-buttons{gap:8px;margin-top:2px}#overlay[data-kind=results] #overlay-buttons button{min-height:42px}#overlay[data-kind=results] #overlay-buttons button.primary{min-height:48px;font-size:var(--fs-l)!important}}@media (max-width:760px) and (max-height:640px){#overlay[data-kind=results] .star-help{display:none}}.rs-main,.rs-side{display:contents}@media (max-height:560px) and (min-width:561px){#overlay[data-kind=results]{padding:max(6px, env(safe-area-inset-top)) 12px max(6px, env(safe-area-inset-bottom));justify-content:center;gap:4px}#overlay[data-kind=results] .result-stars{margin-bottom:-10px}#overlay[data-kind=results] .result-stars .star img.ico{width:34px;height:34px}#overlay[data-kind=results] .result-stars .star:nth-child(2) img.ico{width:44px;height:44px;margin-bottom:6px}.rs-ribbon{padding:7px 26px 5px;font-size:20px}.rs-card{grid-template-columns:1fr 1fr;align-items:start;gap:10px;width:min(760px,96vw);padding:14px 12px 10px;display:grid}.rs-main,.rs-side{flex-direction:column;gap:6px;min-width:0;display:flex}.rs-stats{grid-template-columns:repeat(3,1fr);gap:4px}.rs-stat:nth-child(n+4){display:none}.rs-stat{border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;place-items:center start;column-gap:6px;padding:5px 8px;display:grid}.rs-stat img.ico,.rs-stat svg{grid-row:1/3;width:22px;height:22px}.rs-stat span{letter-spacing:.5px;white-space:nowrap;font-size:9px}.rs-stat b{font-size:var(--fs-m)}.rs-coins{grid-template-columns:1fr 1fr;gap:4px;padding:6px 8px}.rs-coins img.ico{width:22px;height:22px}.rs-coins span{font-size:var(--fs-xs);white-space:nowrap}.rs-coins b{font-size:var(--fs-m)}.rs-coins .total{border-top:2px dashed #b8760c66;border-left:0;flex-direction:row;grid-column:1/-1;justify-content:center;gap:8px;padding-top:4px}.rs-coins .total b{font-size:var(--fs-l)}.rs-coins .total b img.ico{width:20px;height:20px}.rs-new{padding:5px 10px}.rs-loot,.rs-quest{gap:6px;min-width:0;padding:4px 10px}.rs-loot img.ico{width:26px;height:26px}.rs-quest img.ico{width:20px;height:20px}.rs-loot span,.rs-quest span,.rs-quest em{white-space:nowrap}.rs-loot b,.rs-quest b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.acc-bar{padding:4px 8px}#overlay[data-kind=results] .star-help{display:none}#overlay[data-kind=results] #overlay-buttons{grid-template-columns:1.4fr 1fr 1fr;gap:8px;width:min(760px,96vw);margin-top:2px}#overlay[data-kind=results] #overlay-buttons button{min-height:42px}#overlay[data-kind=results] #overlay-buttons button.primary{grid-column:auto;min-height:42px;font-size:var(--fs-l)!important}}@media (min-width:761px) and (min-height:561px){.rs-stats{grid-template-columns:repeat(4,1fr)}}@media (min-width:761px) and (min-height:561px) and (max-height:760px){#overlay[data-kind=results] .result-stars .star img.ico{width:72px;height:72px}#overlay[data-kind=results] .result-stars .star:nth-child(2) img.ico{width:96px;height:96px}}
