@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-devanagari-600-normal-CuT_xCk5.woff2)format("woff2"),url(/assets/baloo-2-devanagari-600-normal-Cnn1WFYO.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:600;src:url(/assets/baloo-2-vietnamese-600-normal-C5EqHgu0.woff2)format("woff2"),url(/assets/baloo-2-vietnamese-600-normal-CGkk4Wtx.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:600;src:url(/assets/baloo-2-latin-ext-600-normal-DiVeaYrH.woff2)format("woff2"),url(/assets/baloo-2-latin-ext-600-normal-CFaB2nBN.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:600;src:url(/assets/baloo-2-latin-600-normal-tIfxVoAe.woff2)format("woff2"),url(/assets/baloo-2-latin-600-normal-B4tNaogw.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}html,body,#app{background:#4fb0ee;width:100%;height:100%;margin:0;padding:0;overflow:hidden}:root{color:#fff;font-family:"Baloo 2",system-ui,sans-serif}#ui-root{pointer-events:none;z-index:10;position:fixed;inset:0}#ui-root button,#ui-root input{pointer-events:auto}.ui-btn{color:#fff;text-shadow:1px 1px #23180f,-1px 1px #23180f,1px -1px #23180f,-1px -1px #23180f;cursor:pointer;background:#ffb938;border:3px solid #23180f;border-radius:14px;min-width:48px;min-height:48px;font-family:inherit;font-weight:800;box-shadow:0 4px #c77d0a}.ui-btn:disabled{color:#e4e7ee;cursor:default;opacity:.72;background:#8d93a0;box-shadow:0 4px #5c6270}.ui-panel{box-sizing:border-box;color:#3a2414;pointer-events:auto;background:linear-gradient(#fff1cc,#e7c27a);border:4px solid #23180f;border-radius:22px;padding:16px;box-shadow:0 8px #8a5a24}.ui-panel h1,.ui-panel h2,.ui-panel h3,.ui-panel p,.ui-panel label{color:#3a2414;text-shadow:none}.title-card{z-index:15;text-align:center;flex-direction:column;align-items:center;gap:12px;width:min(420px,100% - 28px);display:flex;position:fixed;top:14%;left:50%;transform:translate(-50%)rotate(-2deg)}.title-card h1{margin:0;font-size:52px;line-height:.95}.hud-top{top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute}.hud-cluster{text-align:right;text-shadow:0 1px #23180f,0 0 6px #0a141e73;max-width:min(340px,42vw)}.lvl-btn{flex-direction:column;justify-content:center;align-items:center;gap:0;padding:4px 2px;line-height:1;display:flex}.lvl-stars{letter-spacing:-.5px;color:#fff4c2;font-size:11px}.results-panel{left:50%;bottom:max(12px, env(safe-area-inset-bottom));z-index:25;flex-direction:column;gap:8px;width:min(460px,100% - 20px);display:none;position:fixed;transform:translate(-50%)}.results-panel h2{margin:0;font-size:28px}.results-actions{gap:8px;display:flex}.results-actions .ui-btn{flex:1}#results-stars{gap:8px;min-height:32px;font-size:28px;display:flex}.star.on{color:#ffe066;animation:.35s both star-pop}@keyframes star-pop{0%{transform:scale(.2)}to{transform:scale(1)}}.hud-score{text-align:right;font-size:32px;font-weight:800}.hud-best,.hud-tip{text-align:right;overflow-wrap:anywhere;font-size:14px;line-height:1.25}#rotate-prompt{z-index:100;pointer-events:auto;background:#2b3a55;flex-direction:column;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#rotate-prompt.visible{display:flex}.ui-btn{justify-content:center;align-items:center;gap:8px;padding:6px 14px;transition:transform 70ms,box-shadow 70ms;display:inline-flex}.ui-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #c77d0a}.ui-btn:focus-visible{outline-offset:2px;outline:3px solid #fff}.icon-btn svg{flex:none;display:block}.ui-primary{background:#63c132;box-shadow:0 4px #3d8a17}.ui-primary:active:not(:disabled){box-shadow:0 1px #3d8a17}.ui-danger{background:#e2452b;box-shadow:0 4px #8f2a18}.ui-danger:active:not(:disabled){box-shadow:0 1px #8f2a18}@keyframes ui-pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes ui-wobble{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes ui-drop{0%{opacity:0;transform:translateY(-140%)rotate(-6deg)}60%{opacity:1;transform:translateY(6%)rotate(1.5deg)}to{transform:translateY(0)rotate(0)}}@keyframes ui-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ffe066b3}50%{transform:scale(1.09);box-shadow:0 0 0 9px #ffe06600}}@keyframes ui-node-pulse{0%,to{box-shadow:0 4px #c77d0a,0 0 #ffe066b3}50%{box-shadow:0 4px #c77d0a,0 0 0 10px #ffe06600}}.modal-pop{animation:.25s cubic-bezier(.34,1.4,.64,1) both ui-pop}.modal-wrap{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));z-index:29;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-wrap.open{display:flex}.modal-backdrop{background:#140e0673;position:absolute;inset:0}.modal-wrap .ui-panel.modal{flex-direction:column;gap:12px;max-width:min(520px,100%);max-height:calc(100dvh - 24px);display:flex;position:relative;overflow:auto}.panel-title{text-align:center;margin:0;font-size:26px;font-weight:800}.btn-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn-row .ui-btn{min-width:56px;min-height:56px;font-size:18px}#splash{z-index:90;background:linear-gradient(#53b3f0,#9bd6f7 60%,#6ecf68 60.5%,#4da53f);flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .35s;display:flex;position:fixed;inset:0}#splash.gone{opacity:0;pointer-events:none}.splash-logo{color:#ffb938;text-shadow:3px 3px #23180f,-3px 3px #23180f,3px -3px #23180f,-3px -3px #23180f,0 8px #23180f59;letter-spacing:2px;font-size:clamp(44px,9vw,84px);font-weight:800;animation:2.6s ease-in-out infinite ui-wobble}.splash-bot{image-rendering:auto;width:96px;height:96px;animation:1.8s ease-in-out infinite ui-wobble}.splash-bar{background:#fff1cc;border:3px solid #23180f;border-radius:10px;width:min(280px,60vw);height:18px;overflow:hidden}.splash-bar>div{background:linear-gradient(#ffd76b,#f2a51f);width:0%;height:100%;transition:width .2s}.title-card{box-shadow:none;background:0 0;border:none;padding:0;top:8%}.title-card .game-logo{color:#ffb938;text-shadow:3px 3px #23180f,-3px 3px #23180f,3px -3px #23180f,-3px -3px #23180f,0 9px #23180f59;letter-spacing:2px;font-size:clamp(48px,10vw,92px);font-weight:800;line-height:.92;animation:.6s cubic-bezier(.3,1.3,.5,1) both ui-drop}.title-card .tagline{color:#fff;text-shadow:2px 2px #23180f;margin:0;font-size:20px;animation:.3s .35s both ui-pop}.title-card .title-stars{color:#ffe066;text-shadow:1.5px 1.5px #23180f;align-items:center;gap:6px;font-size:20px;font-weight:800;display:flex}.title-card .title-stars svg{filter:drop-shadow(1.5px 1.5px #23180f)}.title-card .ui-btn.title-play{border-radius:20px;margin-top:6px;padding:14px 54px;font-size:30px;animation:.3s .5s both ui-pop}.title-secondary{gap:10px;animation:.3s .62s both ui-pop;display:flex}.title-lineup{left:50%;bottom:max(3.5%, env(safe-area-inset-bottom));z-index:5;pointer-events:none;flex-direction:column;align-items:center;animation:.4s .7s both ui-pop;display:flex;position:fixed;transform:translate(-50%)}.lineup-row{align-items:flex-end;display:flex}.lineup-row.back{gap:6px;margin-bottom:-16px}.lineup-row.front{gap:14px}.lineup-bot{height:64px;animation:lineup-bob 2.6s ease-in-out calc(var(--i) * .17s) infinite;position:relative}.lineup-bot>img.body{transform-origin:50% 90%;height:100%;display:block}.lineup-bot>img.eye{transform-origin:50%;height:auto;position:absolute;transform:translate(-50%,-50%)}.lineup-row.back .lineup-bot{height:44px}@keyframes lineup-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.hud-banner{opacity:0;pointer-events:none;background:#141e2d8c;border:3px solid #23180f;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:10px 26px;transition:opacity .35s,transform .35s;display:flex;position:absolute;top:22%;left:50%;transform:translate(-50%,-20px)}.hud-banner.show{opacity:1;transform:translate(-50%)}.hud-banner-kicker{letter-spacing:.12em;text-transform:uppercase;color:#ffe066;font-size:14px;font-weight:600}.hud-banner-title{text-shadow:2px 2px #23180f,-1px -1px #23180f,1px -1px #23180f,-1px 1px #23180f;font-size:30px;font-weight:800;line-height:1}.map-screen{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));z-index:15;pointer-events:auto;flex-direction:column;align-items:center;display:none;position:fixed;inset:0;overflow:auto}.map-screen.open{display:flex}.map-title{color:#fff;text-shadow:2px 2px #23180f;margin:4px 0 10px;font-size:34px;font-weight:800}.chapter-cards{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.chapter-card{cursor:pointer;text-align:left;border:4px solid #23180f;border-radius:20px;flex-direction:column;justify-content:flex-end;width:min(250px,82vw);min-height:190px;padding:0;font-family:inherit;display:flex;position:relative;overflow:hidden;box-shadow:0 7px #23180f8c}.chapter-card:disabled{cursor:default;filter:saturate(.4)brightness(.75)}.chapter-card:focus-visible{outline-offset:2px;outline:3px solid #fff}.chapter-card .card-art{position:absolute;inset:0}.chapter-card .card-art img{width:76px;height:76px;position:absolute;top:8px;right:8px}.chapter-card .card-body{color:#fff;text-shadow:1.5px 1.5px #23180f;background:#23180f8c;padding:10px 12px;position:relative}.chapter-card .card-name{font-size:21px;font-weight:800}.chapter-card .card-stars{color:#ffe066;align-items:center;gap:4px;font-size:15px;font-weight:800;display:flex}.chapter-card .card-lock{color:#fff;text-shadow:1px 1px #23180f;text-align:center;background:#140e068c;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:14px;font-weight:800;display:flex;position:absolute;inset:0}.path-wrap{flex:1;width:min(560px,94vw);height:min(640px,78dvh);position:relative}.path-wrap svg.path-svg{width:100%;height:100%;position:absolute;inset:0}.lvl-node{color:#fff;text-shadow:1.5px 1.5px #23180f;cursor:pointer;background:#ffb938;border:4px solid #23180f;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:58px;height:58px;margin:-29px 0 0 -29px;padding:0;font-family:inherit;font-size:20px;font-weight:800;display:flex;position:absolute;box-shadow:0 4px #c77d0a}.lvl-node .node-stars{letter-spacing:-1px;color:#fff4c2;margin-top:-2px;font-size:10px}.lvl-node.locked{cursor:default;background:#8d93a0;box-shadow:0 4px #5c6270}.lvl-node.current{animation:1.4s ease-in-out infinite ui-node-pulse}.lvl-node:focus-visible{outline-offset:2px;outline:3px solid #fff}.map-back{align-self:flex-start}@media (height<=500px){.title-card{gap:7px;top:3%}.title-card .game-logo{font-size:clamp(36px,8vw,56px)}.title-card .tagline,.title-card .title-stars{font-size:15px}.title-card .ui-btn.title-play{border-radius:14px;margin-top:0;padding:10px 40px;font-size:22px}.title-lineup{bottom:5px;left:auto;right:6px;transform:none}.lineup-bot{height:30px}.lineup-row.back .lineup-bot{height:20px}.lineup-row.back{gap:3px;margin-bottom:-6px}.lineup-row.front{gap:5px}.lvl-node{width:44px;height:44px;margin:-22px 0 0 -22px;font-size:15px}.results-panel h2{font-size:24px}.results-score{font-size:28px}#results-stars{gap:6px;min-height:38px;font-size:32px}.results-pig{width:64px;height:64px}.results-actions .ui-btn{min-height:44px}}.hud-top{pointer-events:none}.hud-top .ui-btn{pointer-events:auto}.hud-starbar{background:#23180f80;border:3px solid #23180f;border-radius:9px;width:min(200px,26vw);height:16px;margin-top:14px;position:relative;overflow:visible}.hud-starbar .fill{background:linear-gradient(#ffe066,#f2a51f);border-radius:6px;width:0%;transition:width .25s;position:absolute;inset:0 auto 0 0}.hud-starbar .notch{color:#8d93a0;filter:drop-shadow(1px 1px #23180f);width:22px;height:22px;margin-left:-11px;position:absolute;top:-7px}.hud-starbar .notch.lit{color:#ffe066}.hud-right{text-shadow:0 1px #23180f,0 0 6px #0a141e73;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.hud-score{transition:transform .12s}.hud-score.bump{transform:scale(1.18)}.hud-targets{align-items:center;gap:5px;font-size:18px;font-weight:800;display:flex}.hud-targets svg{filter:drop-shadow(1px 1px #23180f)}.ui-toast{color:#3a2414;z-index:40;pointer-events:auto;background:linear-gradient(#fff1cc,#e7c27a);border:3px solid #23180f;border-radius:14px;align-items:center;gap:8px;max-width:min(480px,100vw - 24px);padding:8px 16px;font-size:15px;font-weight:800;animation:.25s both toast-pop;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px #8a5a24}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%)scale(.6)}70%{opacity:1;transform:translate(-50%)scale(1.06)}to{opacity:1;transform:translate(-50%)scale(1)}}.ui-toast.hud-tip{bottom:max(12px, env(safe-area-inset-bottom))}.ui-toast.achv{top:max(56px, env(safe-area-inset-top));color:#fff;text-shadow:1px 1px #23180f;background:linear-gradient(#6b5b95,#4a3d6e);box-shadow:0 4px #2e2547}.ui-toast .toast-badge{object-fit:contain;width:26px;height:26px}.results-panel{z-index:35;text-align:center;align-items:center;width:min(440px,100vw - 20px);max-height:calc(100dvh - 24px);top:50%;bottom:auto;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@keyframes results-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}70%{opacity:1;transform:translate(-50%,-50%)scale(1.06)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.results-panel.open{animation:.3s cubic-bezier(.34,1.4,.64,1) both results-pop;display:flex}.results-panel h2{letter-spacing:1px;font-size:34px}.results-score{margin:0;font-size:40px;font-weight:800}#results-stars{gap:10px;min-height:52px;font-size:44px}.results-ribbon{color:#fff;background:#e2452b;border:3px solid #23180f;border-radius:20px;padding:4px 18px;font-weight:800;animation:.3s both ribbon-pop;transform:rotate(-3deg)}@keyframes ribbon-pop{0%{opacity:0;transform:rotate(-3deg)scale(.6)}70%{opacity:1;transform:rotate(-3deg)scale(1.06)}to{opacity:1;transform:rotate(-3deg)scale(1)}}.results-achv{color:#4a3d6e;font-size:14px;font-weight:800}.results-pig{width:110px;height:110px}.results-endcard{font-size:17px;font-weight:800}.confetti{pointer-events:none;border-radius:2px;width:8px;height:8px;animation:.7s ease-out forwards confetti-pop;position:absolute}@keyframes confetti-pop{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--dx), var(--dy)) rotate(240deg);opacity:0}}.settings-row{justify-content:space-between;align-items:center;gap:12px;font-size:16px;font-weight:800;display:flex}.settings-row input[type=range]{accent-color:#f2a51f;flex:1;max-width:220px;min-height:40px}.seg{border:3px solid #23180f;border-radius:12px;display:flex;overflow:hidden}.seg button{color:#3a2414;cursor:pointer;background:#fff1cc;border:none;min-height:44px;padding:8px 14px;font-family:inherit;font-weight:800}.seg button.on{color:#fff;text-shadow:1px 1px #23180f;background:#63c132}.achv-list{flex-direction:column;gap:6px;max-height:52dvh;display:flex;overflow:auto}.achv-row{background:#ffffff59;border-radius:12px;align-items:center;gap:10px;padding:6px 8px;display:flex}.achv-row.locked{opacity:.55}.achv-badge{object-fit:contain;flex:none;width:34px;height:34px}.achv-row.locked .achv-badge{filter:grayscale(.9)}.achv-row .achv-name{font-weight:800}.achv-row .achv-desc{font-size:12.5px;line-height:1.2}.achv-bar{background:#fff1cc;border:2px solid #23180f;border-radius:5px;height:8px;margin-top:3px;overflow:hidden}.achv-bar>div{background:#63c132;height:100%}.bot-card{text-align:center;flex-direction:column;align-items:center;gap:10px;width:min(330px,100vw - 24px);animation:.3s cubic-bezier(.34,1.4,.64,1) both ui-pop;display:flex}.bot-card canvas{width:150px;height:150px}.bot-card .bot-name{font-size:28px;font-weight:800}.bot-card .bot-tip{margin:0;font-size:16px;line-height:1.3}.credits-body p{margin:4px 0;font-size:15px}@media (prefers-reduced-motion:reduce){.modal-pop,.results-panel.open,.bot-card,.title-card .game-logo,.title-card .tagline,.title-card .ui-btn.title-play,.title-secondary,.title-lineup,.lineup-bot,.ui-toast,.results-ribbon,.star.on,.splash-logo,.splash-bot,.lvl-node.current{animation:none!important}}
