:root{--leaf:#2fbf71;--leaf-dark:#1b8a4f;--leaf-deep:#0f5a37;--sun:#ffc93c;--sun-dark:#e59a12;--orange:#ff8a3d;--berry:#ff5f8f;--sky:#4aa3ff;--cream:#fff8e8;--cream-2:#ffebc4;--ink:#2b2118;--ink-soft:#6b5640;--gold:#f6c453;--panel-border:#e2b86a;--shadow-lg:0 18px 40px #141e0a59, 0 4px 10px #141e0a40;--radius-lg:28px;--radius-md:18px;--ui-scale:1;--font:"Baloo 2", "Mitr", "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Microsoft YaHei", "Malgun Gothic", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--gutter:clamp(10px, 2vw, 22px);font-size:calc(16px * var(--ui-scale))}:root.large-ui{--ui-scale:1.2}*{box-sizing:border-box}html,body{width:100%;height:100%;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;background:#0c2a1e;margin:0;overflow:hidden}#game{position:fixed;inset:0}.game-canvas{outline:none;display:block;width:100%!important;height:100%!important}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}#ui>*{pointer-events:none}#ui .interactive,#ui button,#ui input,#ui [role=dialog]{pointer-events:auto}.hidden{display:none!important}.sr-only{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.title-logo{text-align:center;filter:drop-shadow(0 6px #3c1e0559)drop-shadow(0 18px 30px #00000059);line-height:.95}.title-logo .brand{letter-spacing:.02em;background:linear-gradient(#fff6b0 0%,#ffd23f 45%,#ff9a1f 100%);color:#0000;filter:drop-shadow(2.5px 0 #7a3e0a)drop-shadow(-2.5px 0 #7a3e0a)drop-shadow(0 2.5px #7a3e0a)drop-shadow(0 -2.5px #7a3e0a);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.6rem,9vw,6.4rem);font-weight:800;display:inline-block}.title-logo .brand .cool{background:linear-gradient(#d9fff0 0%,#5fe3a0 50%,#1fae6a 100%);filter:drop-shadow(1px 0 #0b4a2c)drop-shadow(-1px 0 #0b4a2c)drop-shadow(0 1px #0b4a2c)drop-shadow(0 -1px #0b4a2c);-webkit-background-clip:text;background-clip:text}.title-logo .sub{letter-spacing:.18em;color:#fff;-webkit-text-stroke:1.5px #0f4a30;paint-order:stroke fill;margin-top:.2em;font-size:clamp(1rem,2.8vw,1.9rem);font-weight:800;display:block}.title-logo .name{letter-spacing:.08em;color:#fff8e0;text-shadow:0 2px #0000004d;background:linear-gradient(#2fbf71,#178a4c);border:3px solid #0e5a33;border-radius:999px;margin-top:.35em;padding:.18em 1.1em .1em;font-size:clamp(1.05rem,3.2vw,2.1rem);font-weight:800;display:inline-block;box-shadow:inset 0 3px #ffffff59,0 5px #0b3f24}.title-logo .tagline{letter-spacing:.4em;color:#fff;text-shadow:0 2px 6px #00000080;margin-top:.7em;font-size:clamp(.8rem,1.8vw,1.1rem);font-weight:700;display:block}.btn{--btn-top:#ffe27a;--btn-bottom:#ffb21f;--btn-edge:#c77a06;--btn-ink:#4a2a05;min-width:3.1rem;min-height:3.1rem;font:800 1.15rem/1 var(--font);letter-spacing:.04em;color:var(--btn-ink);background:linear-gradient(180deg, var(--btn-top), var(--btn-bottom));border:3px solid var(--btn-edge);box-shadow:inset 0 3px 0 #ffffff8c, inset 0 -4px 0 #00000014, 0 6px 0 var(--btn-edge), 0 10px 18px #0000004d;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:999px;outline:none;justify-content:center;align-items:center;gap:.55em;padding:.5em 1.4em .4em;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,filter .2s;display:inline-flex;position:relative}.btn svg{flex:none;width:1.3em;height:1.3em}.btn:after{content:"";border-radius:inherit;pointer-events:none;transition:box-shadow .25s;position:absolute;inset:-8px;box-shadow:0 0 #ffe67800}.btn:hover{filter:brightness(1.06);transform:translateY(-2px)scale(1.05)}.btn:hover:after{box-shadow:0 0 22px 4px #ffe6788c}.btn:active,.btn.pressed{box-shadow:inset 0 3px 0 #ffffff73, 0 1px 0 var(--btn-edge), 0 3px 8px #0000004d;transition-duration:60ms;transform:translateY(5px)scale(.98)}.btn:focus-visible{outline-offset:4px;outline:4px solid #fff}.btn[disabled]{filter:grayscale(.7)brightness(.9);opacity:.7;cursor:not-allowed;transform:none}.btn.green{--btn-top:#7cf0a8;--btn-bottom:#26b565;--btn-edge:#137a40;--btn-ink:#fff;text-shadow:0 2px #003c1473}.btn.blue{--btn-top:#8fd0ff;--btn-bottom:#3d8bff;--btn-edge:#1c5bb8;--btn-ink:#fff;text-shadow:0 2px #001e5a73}.btn.pink{--btn-top:#ffb3cf;--btn-bottom:#ff5f8f;--btn-edge:#c23462;--btn-ink:#fff;text-shadow:0 2px #5a001e66}.btn.cream{--btn-top:#fffaf0;--btn-bottom:#ffe8bf;--btn-edge:#cfa15a;--btn-ink:#5a3a12}.btn.big{min-height:4rem;padding:.55em 1.8em .45em;font-size:1.55rem}.btn.round{width:3.4rem;height:3.4rem;padding:0}.btn.round svg{width:1.6em;height:1.6em}.btn.small{min-height:2.5rem;padding:.4em 1em .3em;font-size:.95rem}.btn.wide{min-width:min(78vw,17rem)}.btn.pulse{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:inset 0 3px 0 #ffffff8c, 0 6px 0 var(--btn-edge), 0 10px 18px #0000004d, 0 0 0 0 #ffdc5a99}50%{box-shadow:inset 0 3px 0 #ffffff8c, 0 6px 0 var(--btn-edge), 0 10px 18px #0000004d, 0 0 0 14px #ffdc5a00}}.panel{background:linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%);border:4px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:inset 0 3px 0 #fffc, inset 0 -6px 0 #b478281f, var(--shadow-lg);color:var(--ink);padding:1.4rem 1.6rem;position:relative}.panel .ribbon{letter-spacing:.08em;color:#fff;text-shadow:0 2px #0000004d;white-space:nowrap;background:linear-gradient(#37c97c,#1c9555);border:3px solid #0f6b3a;border-radius:14px;padding:.35em 1.6em .25em;font-size:1.35rem;font-weight:800;position:absolute;top:-1.45rem;left:50%;transform:translate(-50%);box-shadow:inset 0 3px #ffffff59,0 5px #0b4d2a}.panel .ribbon.gold{color:#5a3200;text-shadow:none;background:linear-gradient(#ffd96a,#f0a41f);border-color:#b06d05;box-shadow:inset 0 3px #ffffff73,0 5px #8a5405}.modal-backdrop{padding:var(--gutter);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;background:radial-gradient(circle at 50% 40%,#0a281940,#05140ca6);place-items:center;animation:.3s both fadeIn;display:grid;position:absolute;inset:0}.modal-backdrop>.panel{flex-direction:column;width:min(560px,100%);max-height:calc(100% - 2.5rem);margin-top:1.5rem;padding:1.9rem 1.2rem 1.1rem;animation:.45s cubic-bezier(.34,1.56,.64,1) both popIn;display:flex}.modal-body{overscroll-behavior:contain;min-height:0;padding:.2rem .3rem;overflow-y:auto}.modal-backdrop.closing{animation:.25s both fadeOut}.modal-backdrop.closing>.panel{animation:.25s both popOut}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes popIn{0%{opacity:0;transform:scale(.7)translateY(30px)}to{opacity:1;transform:none}}@keyframes popOut{to{opacity:0;transform:scale(.85)translateY(20px)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-60px)rotate(-3deg)}to{opacity:1;transform:none}}@keyframes slideInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.row{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.col{flex-direction:column;gap:.8rem;display:flex}.center{text-align:center;justify-content:center;align-items:center}.screen{padding:calc(var(--gutter) + var(--safe-top)) var(--gutter) calc(var(--gutter) + var(--safe-bottom));flex-direction:column;display:flex;position:absolute;inset:0}.menu-screen{justify-content:space-between;align-items:center;animation:.8s both fadeIn}.menu-screen .title-logo{margin-top:clamp(.5rem,5vh,3.5rem);animation:1s cubic-bezier(.34,1.56,.64,1) .2s both popIn}.menu-buttons{pointer-events:auto;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.9rem 1rem;width:min(1100px,100%);margin-bottom:clamp(.5rem,3vh,2rem);display:flex}.menu-buttons .btn{animation:.6s cubic-bezier(.34,1.56,.64,1) both slideInUp}.menu-buttons .btn.play{order:0;min-width:15rem}.menu-buttons .btn:first-child{animation-delay:.16s}.menu-buttons .btn:nth-child(2),.menu-buttons .btn:nth-child(4){animation-delay:80ms}.menu-buttons .btn:nth-child(5){animation-delay:.16s}.menu-corner{top:calc(var(--gutter) + var(--safe-top));right:var(--gutter);pointer-events:auto;position:absolute}.corner-credit{bottom:calc(.6rem + var(--safe-bottom));color:#ffffffbf;text-shadow:0 1px 3px #0009;font-size:.8rem;font-weight:700;position:absolute;right:.9rem}.hud{padding:calc(var(--gutter) + var(--safe-top)) var(--gutter) calc(var(--gutter) + var(--safe-bottom));animation:.6s both fadeIn;position:absolute;inset:0}.hud-top{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.hud-chip{border:3px solid var(--panel-border);pointer-events:auto;background:linear-gradient(#fffaeef5,#ffecc8f5);border-radius:999px;align-items:center;gap:.6rem;max-width:46vw;padding:.35rem 1rem .3rem .4rem;display:flex;box-shadow:0 5px #96641e73,0 8px 16px #0003}.hud-chip .badge{color:#fff;background:linear-gradient(#37c97c,#1c9555);border:2px solid #0f6b3a;border-radius:50%;flex:none;place-items:center;width:2.4rem;height:2.4rem;font-size:1.2rem;font-weight:800;display:grid}.hud-chip .label{flex-direction:column;min-width:0;line-height:1.05;display:flex}.hud-chip .label small{letter-spacing:.1em;color:var(--leaf-dark);font-size:.72rem;font-weight:800}.hud-chip .label b{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}.hud-right{align-items:center;gap:.5rem;display:flex}.hud-stars{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#281e0f73;border-radius:999px;gap:.15rem;padding:.35rem .7rem;display:flex}.hud-stars .star{width:1.8rem;height:1.8rem;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.hud-stars .star.lit{filter:drop-shadow(0 0 6px #ffd75ae6);transform:scale(1.15)}.hud-mission{top:calc(var(--gutter) + var(--safe-top) + .2rem);text-align:center;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-shadow:0 1px 2px #00000080;background:#143223b8;border:2px solid #ffffff40;border-radius:16px;max-width:min(44vw,520px);padding:.45rem 1.1rem .35rem;font-size:1rem;font-weight:700;line-height:1.2;position:absolute;left:50%;transform:translate(-50%)}.hud-counter{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#143223b3;border-radius:999px;align-items:center;gap:.35rem;margin-top:.5rem;padding:.3rem .9rem .2rem;font-weight:800;display:inline-flex}.hud-bottom{left:0;right:0;bottom:calc(var(--gutter) + var(--safe-bottom));padding:0 var(--gutter);flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex;position:absolute}.hud-bottom .btn{animation:.45s cubic-bezier(.34,1.56,.64,1) both slideInUp}.mission-panel{left:var(--gutter);top:calc(var(--gutter) + var(--safe-top) + 4.2rem);bottom:calc(var(--gutter) + var(--safe-bottom));width:min(420px, calc(100% - 2 * var(--gutter)));pointer-events:none;align-items:center;animation:.6s cubic-bezier(.34,1.56,.64,1) both slideInLeft;display:flex;position:absolute}.mission-panel .panel{pointer-events:auto;padding:2rem 1.3rem 1.1rem}.mission-panel h2{color:var(--leaf-deep);margin:0 0 .3rem;font-size:1.55rem;line-height:1.15}.mission-panel p{color:var(--ink-soft);margin:.35rem 0;font-size:1.02rem;font-weight:600;line-height:1.35}.mission-panel .reqs{gap:.45rem;margin:.9rem 0 1.1rem;padding:0;list-style:none;display:grid}.mission-panel .reqs li{background:#fff9;border:2px solid #e2b86a99;border-radius:14px;align-items:center;gap:.6rem;padding:.45rem .7rem;font-weight:700;line-height:1.2;display:flex}.mission-panel .reqs li svg{flex:none;width:1.6rem;height:1.6rem}.mission-panel .reqs li.done{background:#78e69659;border-color:#37c97c}.mission-panel.closing{animation:.3s both popOut}.toast-layer{flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;top:22%;left:0;right:0}.toast{text-align:center;color:#4a2a05;background:linear-gradient(#fff7da,#ffe29a);border:3px solid #e0a53a;border-radius:999px;max-width:min(90vw,560px);padding:.6rem 1.4rem .5rem;font-size:1.15rem;font-weight:800;animation:.4s cubic-bezier(.34,1.56,.64,1) both popIn;box-shadow:0 6px #965a0a66,0 10px 20px #00000040}.toast.warn{color:#fff;text-shadow:0 2px #781e0066;background:linear-gradient(#ffb36b,#ff7a3d);border-color:#c24e12}.toast.good{color:#fff;text-shadow:0 2px #003c1466;background:linear-gradient(#7cf0a8,#26b565);border-color:#137a40}.toast.info{color:#fff;text-shadow:0 2px #001e5a66;background:linear-gradient(#8fd0ff,#3d8bff);border-color:#1c5bb8}.toast.big{letter-spacing:.06em;padding:.6rem 2rem .5rem;font-size:2.2rem}.toast.leaving{animation:.3s both popOut}.subtitles{left:50%;bottom:calc(12% + var(--safe-bottom));text-align:center;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-shadow:0 2px 4px #0009;background:#0a19129e;border-radius:16px;max-width:min(88vw,780px);padding:.6rem 1.4rem .5rem;font-size:1.3rem;font-weight:700;line-height:1.35;animation:.5s both fadeIn;position:absolute;transform:translate(-50%)}.world-label{color:#fff;white-space:nowrap;pointer-events:none;background:#143223c7;border:2px solid #ffffff59;border-radius:999px;padding:.25rem .7rem .15rem;font-size:.9rem;font-weight:800;transition:opacity .3s;position:absolute;transform:translate(-50%,-100%)}.fade{opacity:0;pointer-events:none;z-index:50;background:#06140d;transition:opacity .6s;position:fixed;inset:0}.fade.white{background:#fffbea}.fade.on{opacity:1;pointer-events:auto}.letterbox:before,.letterbox:after{content:"";z-index:5;background:#000;height:0;transition:height .8s cubic-bezier(.65,0,.35,1);position:fixed;left:0;right:0}.letterbox:before{top:0}.letterbox:after{bottom:0}.letterbox.lb-on:before,.letterbox.lb-on:after{height:8vh}.skip-btn{right:var(--gutter);bottom:calc(var(--gutter) + var(--safe-bottom));z-index:20;position:absolute}.loading-screen{padding-bottom:calc(10vh + var(--safe-bottom));justify-content:flex-end;align-items:center;animation:.4s both fadeIn}.energy{text-align:center;width:min(520px,86vw)}.energy .msg{color:#fff;text-shadow:0 2px 6px #0009;min-height:1.6em;margin-bottom:.7rem;font-size:1.35rem;font-weight:800}.energy .bar{background:#0a1e14b3;border:3px solid #ffffffb3;border-radius:999px;height:1.6rem;position:relative;overflow:hidden;box-shadow:0 0 24px #78ffdc59,inset 0 3px 8px #00000080}.energy .fill{border-radius:inherit;background:linear-gradient(90deg,#6ff0c8,#9ff7ff 40%,#ffe07a 80%,#fff);width:0%;transition:width .35s;position:absolute;inset:0;box-shadow:0 0 18px #a0ffe6e6}.energy .fill:after{content:"";background:repeating-linear-gradient(115deg,#ffffff59 0 12px,#0000 12px 26px);animation:.8s linear infinite energyFlow;position:absolute;inset:0}@keyframes energyFlow{to{background-position:57px 0}}.complete-screen{pointer-events:auto;background:radial-gradient(circle at 50% 40%,#ffe69640,#05140c8c);justify-content:center;align-items:center;animation:.5s both fadeIn}.complete-card{text-align:center;width:min(560px,100%);padding-top:2.4rem;animation:.6s cubic-bezier(.34,1.56,.64,1) both popIn}.complete-card h1{color:var(--leaf-deep);margin:.2rem 0;font-size:clamp(1.6rem,5vw,2.4rem)}.big-stars{justify-content:center;align-items:flex-end;gap:.6rem;min-height:6.5rem;margin:.6rem 0 .4rem;display:flex}.big-star{opacity:.25;filter:grayscale();width:5.2rem;height:5.2rem;transition:all .4s}.big-star.mid{width:6.4rem;height:6.4rem;margin-bottom:.6rem}.big-star.lit{opacity:1;filter:drop-shadow(0 0 14px #ffd250f2);animation:.7s cubic-bezier(.34,1.56,.64,1) both starPop}@keyframes starPop{0%{opacity:0;transform:scale(2.4)rotate(-120deg)}60%{opacity:1;transform:scale(.85)rotate(10deg)}to{transform:scale(1)rotate(0)}}.star-reqs{text-align:left;gap:.35rem;max-width:420px;margin:.6rem auto 1rem;padding:0;list-style:none;display:grid}.star-reqs li{color:var(--ink-soft);align-items:center;gap:.5rem;font-weight:700;display:flex}.star-reqs li svg{flex:none;width:1.4rem;height:1.4rem}.star-reqs li.ok{color:var(--leaf-deep)}.stats{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:1.1rem;display:flex}.stat{background:#ffffffb3;border:2px solid #e2b86ab3;border-radius:12px;padding:.35rem .9rem .25rem;font-weight:700}.stat b{color:var(--leaf-deep)}.fly-star{z-index:60;pointer-events:none;filter:drop-shadow(0 0 12px #ffd75a);width:3rem;height:3rem;position:fixed}.final-inner{flex-direction:column;align-items:center;width:100%;margin:auto 0;padding:.5rem 0 1rem;display:flex}.final-screen{pointer-events:auto;background:radial-gradient(circle at 50% 30%,#fff5c859,#0a1e1480);justify-content:flex-start;align-items:center;overflow-y:auto}.final-title{text-align:center;background:linear-gradient(#fffbe0,#ffd23f 50%,#ff9a1f);color:#0000;filter:drop-shadow(3px 0 #7a3e0a)drop-shadow(-3px 0 #7a3e0a)drop-shadow(0 3px #7a3e0a)drop-shadow(0 -3px #7a3e0a)drop-shadow(0 6px #3c1e0566)drop-shadow(0 0 30px #ffdc78cc);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.4rem,8vw,4.8rem);font-weight:800;line-height:1;animation:.9s cubic-bezier(.34,1.56,.64,1) both popIn}.final-sub{color:#fff;text-shadow:0 3px 8px #0009;text-align:center;margin:.4rem 0 1rem;font-size:clamp(1.2rem,3.5vw,1.8rem);font-weight:800}.promo{background:linear-gradient(135deg,#2fbf7124,#4aa3ff29);border:2px dashed #2f8c5a80;border-radius:20px;margin-top:1rem;padding:1rem 1.2rem}.promo p{color:var(--leaf-deep);margin:0 0 .8rem;font-size:1.15rem;font-weight:800}.kidscool-logo{letter-spacing:.02em;font-size:2.2rem;font-weight:800;line-height:1}.kidscool-logo .k{color:#ff8a1f;filter:drop-shadow(1.5px 0 #7a3e0a)drop-shadow(-1.5px 0 #7a3e0a)drop-shadow(0 1.5px #7a3e0a)drop-shadow(0 -1.5px #7a3e0a)}.kidscool-logo .c{color:#26b565;filter:drop-shadow(1.5px 0 #0b4a2c)drop-shadow(-1.5px 0 #0b4a2c)drop-shadow(0 1.5px #0b4a2c)drop-shadow(0 -1.5px #0b4a2c)}.setting-group{margin:.4rem 0 1rem}.setting-group h3{letter-spacing:.14em;color:var(--leaf-dark);text-transform:uppercase;margin:0 0 .5rem;font-size:.85rem}.setting{background:#fff9;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;min-height:2.9rem;margin-bottom:.45rem;padding:.55rem .8rem;font-size:1.05rem;font-weight:700;display:flex}.slider{appearance:none;background:linear-gradient(90deg, var(--leaf) var(--v,50%), #e3d3b0 var(--v,50%));cursor:pointer;border-radius:999px;outline:none;width:min(46%,220px);height:14px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:radial-gradient(circle at 35% 30%,#fff,#ffd23f 60%,#e59a12);border:3px solid #b06d05;border-radius:50%;width:28px;height:28px;box-shadow:0 3px 6px #0000004d}.slider::-moz-range-thumb{background:#ffd23f;border:3px solid #b06d05;border-radius:50%;width:24px;height:24px}.slider:focus-visible{outline:3px solid var(--sky);outline-offset:4px}.toggle{cursor:pointer;background:#e3d3b0;border:3px solid #b99a62;border-radius:999px;flex:none;width:3.6rem;height:2rem;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:1.4rem;height:1.4rem;transition:transform .25s cubic-bezier(.34,1.56,.64,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000004d}.toggle[aria-checked=true]{background:var(--leaf);border-color:var(--leaf-dark)}.toggle[aria-checked=true]:after{transform:translate(1.55rem)}.toggle:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.segmented{flex-wrap:wrap;justify-content:flex-end;gap:.3rem;display:flex}.segmented button{font:800 .9rem var(--font);color:#5a3a12;cursor:pointer;background:#fffaf0;border:2px solid #cfa15a;border-radius:999px;padding:.35rem .8rem .25rem}.segmented button[aria-pressed=true]{background:var(--leaf);border-color:var(--leaf-dark);color:#fff}.segmented button:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.lang-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;display:grid}.lang-grid .btn{width:100%}.lang-grid .btn[aria-pressed=true]{--btn-top:#7cf0a8;--btn-bottom:#26b565;--btn-edge:#137a40;--btn-ink:#fff}.modal-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1rem;display:flex}.map-screen{pointer-events:none}.map-screen .top{pointer-events:auto;justify-content:space-between;align-items:center;display:flex}.map-title{color:#fff;filter:drop-shadow(2px 0 #0f4a30)drop-shadow(-2px 0 #0f4a30)drop-shadow(0 2px #0f4a30)drop-shadow(0 -2px #0f4a30)drop-shadow(0 4px #00000040);font-size:clamp(1.6rem,4vw,2.6rem);font-weight:800}.map-node{pointer-events:auto;cursor:pointer;flex-direction:column;align-items:center;gap:.3rem;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;transform:translate(-50%,-100%)}.map-node:hover{transform:translate(-50%,-100%)scale(1.07)}.map-node .card{text-align:center;background:linear-gradient(180deg, var(--cream), var(--cream-2));border:3px solid var(--panel-border);border-radius:18px;min-width:11rem;padding:.55rem .9rem .6rem;box-shadow:0 6px #96641e73,0 12px 20px #0000004d}.map-node .card .num{letter-spacing:.12em;color:var(--leaf-dark);font-size:.8rem;font-weight:800}.map-node .card .nm{font-size:1.2rem;font-weight:800;line-height:1.1}.map-node .card .skill{color:var(--ink-soft);font-size:.8rem;font-weight:700}.map-node .stars-row{justify-content:center;gap:.1rem;margin-top:.25rem;display:flex}.map-node.locked .card{filter:grayscale(.8)brightness(.85)}.map-node .card svg{width:2rem;height:2rem}.map-node .stars-row svg{width:1.4rem;height:1.4rem}.map-node .pin{filter:drop-shadow(0 4px 4px #00000059);width:2.4rem;height:2.4rem;animation:1.6s ease-in-out infinite floatY}.map-node.current .card{border-color:#37c97c;box-shadow:0 6px #1c9555,0 0 24px #50ffa099}.char-screen{justify-content:space-between;align-items:center}.char-card{text-align:center;pointer-events:auto;width:min(460px,100%);padding-top:2.3rem;animation:.4s both slideInUp}.char-card h2{color:var(--leaf-deep);margin:0;font-size:2rem}.char-card p{color:var(--ink-soft);margin:.3rem 0 .8rem;font-weight:600}.char-card .tag{background:var(--leaf);color:#fff;letter-spacing:.1em;border-radius:999px;padding:.15rem .8rem;font-size:.8rem;font-weight:800;display:inline-block}.collection-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;display:grid}.coll-item{text-align:center;background:#ffffffa6;border:2px solid #e2b86ab3;border-radius:18px;padding:.8rem;font-weight:700}.coll-item svg{width:3rem;height:3rem}.coll-item.locked{opacity:.55;filter:grayscale()}.coll-item small{color:var(--ink-soft);font-weight:600;display:block}.puzzle-panel{left:0;right:0;bottom:calc(var(--gutter) + var(--safe-bottom));width:min(760px, calc(100% - 2 * var(--gutter)));pointer-events:auto;margin:0 auto;animation:.5s cubic-bezier(.34,1.56,.64,1) both slideInUp;position:absolute}.puzzle-panel .prompt{text-align:center;margin:0 0 .8rem;font-size:1.2rem;font-weight:800;line-height:1.3}.glyph-row{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.8rem;display:flex}.glyph{background:radial-gradient(circle at 40% 30%,#3a4a58,#1d2a33);border:3px solid #5a6a78;border-radius:16px;place-items:center;width:clamp(3rem,9vw,4.2rem);height:clamp(3rem,9vw,4.2rem);display:grid;box-shadow:inset 0 2px #ffffff26,0 4px #0000004d}.glyph canvas{width:80%;height:80%}.glyph.q{color:#7a4a05;background:radial-gradient(circle at 40% 30%,#fff3c4,#ffd56a);border-color:#d9a13a;font-size:2rem;font-weight:800;animation:1.4s ease-in-out infinite floatY}.glyph.dim{opacity:.35}.glyph.hl{border-color:#ffe07a;box-shadow:0 0 0 4px #ffe07a99,0 0 22px #ffe07ae6}button.glyph{cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}button.glyph:hover{transform:translateY(-3px)scale(1.08)}button.glyph:active{transform:translateY(2px)scale(.96)}button.glyph:focus-visible{outline-offset:3px;outline:4px solid #fff}button.glyph.glow{animation:1s ease-in-out infinite glowPulse}@keyframes glowPulse{0%,to{box-shadow:0 0 0 3px #ffe07ab3,0 0 12px #ffe07acc}50%{box-shadow:0 0 0 6px #ffe07a4d,0 0 30px #ffe07a}}.shake{animation:.45s both shake}@keyframes shake{20%{transform:translate(-10px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.statements{gap:.5rem;margin-bottom:.9rem;display:grid}.statement{background:#ffffffb3;border:2px solid #e2b86ab3;border-radius:14px;align-items:center;gap:.7rem;padding:.55rem .8rem;font-weight:700;line-height:1.25;display:flex}.statement .sw{border-radius:10px;flex:none;place-items:center;width:2.2rem;height:2.2rem;display:grid}.statement .sw canvas{width:80%;height:80%}.choice-row{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.progress-dots{justify-content:center;gap:.4rem;margin-bottom:.6rem;display:flex}.progress-dots span{background:#d8c8a0;border-radius:50%;width:.8rem;height:.8rem}.progress-dots span.on{background:var(--leaf);box-shadow:0 0 8px #2fbf71cc}.rune-bar{top:calc(var(--gutter) + var(--safe-top) + 6.4rem);left:var(--gutter);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14281e99;border-radius:14px;gap:.3rem;padding:.35rem;display:flex;position:absolute}.rune-bar .glyph{border-width:2px;border-radius:10px;width:2.4rem;height:2.4rem;font-size:1.2rem;animation:none}.rune-slots{justify-content:center;gap:.5rem;margin-bottom:.8rem;display:flex}.legend{right:var(--gutter);bottom:calc(var(--gutter) + var(--safe-bottom) + 4.6rem);border:3px solid var(--panel-border);pointer-events:auto;background:#fff8e8f0;border-radius:16px;padding:.6rem .9rem;font-size:.9rem;font-weight:700;position:absolute;box-shadow:0 6px 14px #0003}.legend h4{letter-spacing:.12em;color:var(--leaf-dark);text-transform:uppercase;margin:0 0 .3rem;font-size:.75rem}.legend div{align-items:center;gap:.5rem;margin:.2rem 0;display:flex}.legend i{color:#fff;border-radius:50%;place-items:center;width:1.3rem;height:1.3rem;font-size:.8rem;font-style:normal;font-weight:800;display:inline-grid}.boot{z-index:100;background:radial-gradient(circle at 50% 35%,#1f6b47,#0b2a1c 70%);place-items:center;transition:opacity .6s;display:grid;position:fixed;inset:0}.boot.gone{opacity:0;pointer-events:none}.boot .inner{text-align:center}.boot .energy{margin:1.6rem auto 0}.fatal{text-align:center;max-width:520px;margin:2rem;font-size:1.2rem;font-weight:700}.high-contrast .panel,.high-contrast .hud-chip,.high-contrast .toast,.high-contrast .legend{color:#000;background:#fff;border-color:#000}.high-contrast .hud-mission,.high-contrast .subtitles,.high-contrast .hud-counter{background:#000;border-color:#fff}.high-contrast .btn{border-color:#000;outline:2px solid #fff}.high-contrast .mission-panel p,.high-contrast .star-reqs li{color:#000}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:50ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (max-width:900px){.menu-buttons{grid-template-columns:1fr 1fr;gap:.65rem;width:min(520px,100%);display:grid}.menu-buttons .btn{width:100%}.menu-buttons .btn.play{order:-1;grid-column:1/-1}}@media (max-width:720px){.btn{min-height:2.9rem;padding:.45em 1em .35em;font-size:1rem}.btn.big{min-height:3.5rem;font-size:1.3rem}.hud-mission{top:auto;bottom:calc(var(--gutter) + var(--safe-bottom) + 4.2rem);max-width:92vw;font-size:.92rem}.hud-chip .label b{font-size:.95rem}.hud-stars .star{width:1.4rem;height:1.4rem}.btn.round{width:3rem;height:3rem}.mission-panel{top:calc(var(--gutter) + var(--safe-top) + 3.6rem);align-items:flex-end}.legend{bottom:auto;top:calc(var(--gutter) + var(--safe-top) + 4rem);font-size:.8rem}.subtitles{bottom:calc(16% + var(--safe-bottom));font-size:1.05rem}}@media (max-height:520px) and (orientation:landscape){.menu-screen .title-logo{margin-top:0;transform:scale(.8)}.menu-buttons{margin-bottom:.3rem;display:flex}.menu-buttons .btn{width:auto}.mission-panel{width:min(380px,62vw);top:calc(var(--gutter) + 3.4rem)}.mission-panel h2{font-size:1.2rem}.mission-panel p{margin:.2rem 0;font-size:.9rem}.mission-panel .panel{padding:1.6rem 1rem .8rem}.mission-panel .reqs{margin:.4rem 0 .6rem}}:root[data-lang=th] *,:root[data-lang=zh] *,:root[data-lang=ja] *,:root[data-lang=ko] *{letter-spacing:.01em!important}:root[data-lang=th]{--font:"Mitr", "Baloo 2", system-ui, sans-serif}:root[data-lang=th] .btn,:root[data-lang=th] .panel,:root[data-lang=th] .hud{font-weight:600}.puzzle-panel .panel{padding:2.3rem 1.2rem 1.1rem}.puzzle-panel .prompt{margin:.1rem 2.6rem .75rem;font-size:1.15rem}.pz-progress{color:#fff;background:var(--leaf-dark);border-radius:999px;padding:.15rem .7rem .1rem;font-size:.8rem;font-weight:800;position:absolute;top:.55rem;right:.9rem}.pz-body{flex-direction:column;gap:.7rem;display:flex}.pz-section{flex-direction:column;align-items:center;gap:.35rem;display:flex}.pz-label{letter-spacing:.14em;text-transform:uppercase;color:#7a6040;font-size:.75rem;font-weight:800}.pz-label.answer-label{color:var(--leaf-dark)}.pz-label.answer-label:before{content:"▼ "}.clue-strip{background:linear-gradient(#4a4034,#362e25);border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;width:100%;padding:.55rem .7rem;display:flex;box-shadow:inset 0 3px 8px #0000008c,inset 0 -1px #ffffff14}.clue-strip .statements{width:100%;margin:0}.glyph.clue{width:clamp(2.4rem,7vw,3.1rem);height:clamp(2.4rem,7vw,3.1rem);box-shadow:none;background:#00000040;border:2px solid #ffffff1f;border-radius:12px}.glyph.clue.q{background:radial-gradient(circle at 40% 30%,#fff3c4,#ffd56a);border-color:#ffe9a8;font-size:1.6rem}.glyph.clue.dim{opacity:.4}.clue-strip .arrow{color:#fff0c899;font-size:1.1rem;font-weight:800}.answer-row{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}button.glyph.answer{background:linear-gradient(#fffaf0,#ffe8bf);border:3px solid #d9a13a;border-radius:18px;flex-direction:column;align-items:center;gap:.15rem;width:clamp(3.8rem,11vw,5rem);height:auto;padding:.45rem .3rem .35rem;display:flex;box-shadow:inset 0 3px #fffc,0 5px #b07a2a,0 8px 14px #00000040}button.glyph.answer canvas{width:2.6rem;height:2.6rem}button.glyph.answer .glyph-name{font:800 .78rem/1.1 var(--font);color:#5a3a12;white-space:nowrap}button.glyph.answer:hover{transform:translateY(-3px)scale(1.06)}button.glyph.answer:active{transform:translateY(3px);box-shadow:inset 0 3px #fffc,0 2px #b07a2a}button.glyph.answer[disabled]{opacity:.45;filter:grayscale(.6);cursor:default;transform:none}button.glyph.answer.hl{border-color:#2fbf71;box-shadow:0 0 0 4px #2fbf7173,0 5px #1b8a4f}.answer-row .btn{min-width:9rem}.statement{background:#fff8e8f5;padding:.35rem .7rem;font-size:.95rem}.clue-strip .statements{gap:.35rem}.statement .sw{width:1.9rem;height:1.9rem}.statement.speaker b{color:var(--leaf-deep)}.slot-row{align-items:center;gap:.35rem;display:flex}.slot-row .slot-num{color:#fff0c8b3;margin-right:-.2rem;font-size:.8rem;font-weight:800}@media (max-width:720px){.puzzle-panel .panel{padding:2.1rem .7rem .8rem}.puzzle-panel .prompt{margin:.1rem .2rem .6rem;font-size:1rem}.pz-progress{top:auto;bottom:calc(100% + 1.9rem);right:0}.statement{padding:.4rem .55rem;font-size:.88rem}button.glyph.answer canvas{width:2.1rem;height:2.1rem}}
