@charset "UTF-8";
:root{--ink:#252b1f;--cream:#fff8e5;--yellow:#f5c542;--orange:#fa7141;--green:#b9d85b;--line:#292c22;--shadow:5px 6px 0 var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:#e5dab5}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:4px solid #fa7141;outline-offset:4px}button{color:var(--ink)}button:hover{filter:brightness(1.02)}button:active{transform:translateY(2px)}input{min-width:0;outline:none}input:focus{box-shadow:inset 0 -3px 0 var(--orange)}a{color:inherit;text-decoration:none}.hidden{display:none!important}#game{display:block;position:fixed;inset:0;width:100%;height:100%;touch-action:none}button span,button b,button small{pointer-events:none}.overlay{position:fixed;inset:0;z-index:30}.global-tools{position:fixed;right:max(22px,env(safe-area-inset-right));top:max(21px,env(safe-area-inset-top));display:flex;gap:8px;z-index:80}.icon-btn{width:41px;height:41px;border:2px solid var(--ink);border-radius:50%;background:var(--cream);box-shadow:2px 3px 0 var(--ink);font-weight:900;font-size:22px;display:grid;place-items:center;line-height:1}.sound-icon{font-size:26px}.home{overflow:auto;background-color:var(--cream);background-image:radial-gradient(#ccbfa022 .8px,transparent .8px);background-size:7px 7px;padding:0 max(40px,calc((100vw - 1300px)/2));-webkit-overflow-scrolling:touch}.home::before{content:"";position:fixed;bottom:-160px;left:-220px;width:600px;height:380px;border:1px solid #e9dcc2;border-radius:50%;transform:rotate(20deg);pointer-events:none}.home-topbar{height:100px;display:flex;justify-content:space-between;align-items:center;padding-right:108px;border-bottom:1px solid #d8ceb3}.brand{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:900;line-height:1.5;letter-spacing:1px}.brand small{font-size:8px;letter-spacing:1.3px}.brand-emblem{display:grid;place-items:center;width:39px;height:43px;background:var(--orange);border:2px solid var(--ink);border-radius:10px;transform:rotate(-8deg);font-size:25px;box-shadow:2px 2px 0 var(--ink)}.edition{text-align:right;letter-spacing:2px;font-size:12px;font-weight:700}.edition span{display:block;letter-spacing:1px;font-size:9px;margin-top:6px;color:#868269}.home-grid{max-width:1190px;margin:40px auto 22px;display:grid;grid-template-columns:1.04fr 1fr;gap:46px;align-items:start}.title-section{position:relative;min-width:0}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1px;font-weight:800;margin:0 0 14px}.live-dot{width:8px;height:8px;background:var(--orange);border:1.5px solid var(--ink);border-radius:50%;box-shadow:0 0 0 3px #fa714118}h1{margin:0;font-weight:1000;font-size:90px;letter-spacing:-7px;line-height:.97;position:relative;z-index:2;width:max-content;transform:rotate(-3deg)}h1>span:first-child{display:block;color:var(--orange);-webkit-text-stroke:2px var(--ink);text-shadow:4px 5px 0 var(--ink)}.title-line{display:block;font-size:103px;color:var(--ink);margin-left:35px;white-space:nowrap}.outline-title{color:var(--yellow);-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink)}.title-spark{font-size:44px;position:absolute;top:12px;right:15px;color:var(--green);-webkit-text-stroke:2px var(--ink)}.tagline{font-size:24px;font-weight:900;margin:24px 0 9px;letter-spacing:-.5px;position:relative;z-index:3}.tagline span{padding:2px 3px;background:var(--green);box-decoration-break:clone;transform:rotate(-2deg);display:inline-block}.intro{font-size:13px;line-height:1.85;color:#6b6a54;margin:9px 0 14px;position:relative;z-index:3}.game-tags{display:flex;gap:6px;font-size:10px;position:relative;z-index:3;white-space:nowrap}.game-tags span{border:1px solid #d3c7aa;padding:6px 8px;border-radius:4px}.hero-scene{position:relative;height:300px;margin-top:-4px;overflow:visible}.hero-orbit{position:absolute;width:292px;height:230px;background:var(--yellow);border:2px solid var(--ink);border-radius:50%;left:121px;top:38px;transform:rotate(-12deg)}.orbit-two{background:transparent;border:1px dashed #998853;top:24px;left:105px;width:325px;height:259px;transform:rotate(10deg)}.hero-character{height:308px;width:300px;object-fit:contain;position:absolute;bottom:14px;left:113px;z-index:2;transform:rotate(7deg);filter:drop-shadow(5px 8px 0 #292c2240);animation:chicken-bob 4s ease-in-out infinite}.hero-ground{position:absolute;bottom:16px;left:150px;width:243px;height:32px;background:var(--ink);opacity:.12;border-radius:50%;transform:rotate(-6deg)}.comic-bubble{position:absolute;z-index:4;left:14px;top:34px;background:var(--cream);border:2px solid var(--ink);border-radius:50%;padding:20px 24px;line-height:1.7;font-size:11px;transform:rotate(-8deg);box-shadow:2px 3px 0 var(--ink)}.comic-bubble:after{content:"";position:absolute;right:2px;bottom:9px;width:18px;height:15px;background:var(--cream);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:skew(26deg) rotate(-8deg)}.comic-bubble b{font-size:16px}.hero-star{position:absolute;z-index:4}.hero-star-one{left:74px;top:178px;font-size:39px;color:var(--orange);-webkit-text-stroke:1.5px var(--ink)}.hero-star-two{right:25px;top:58px;font-size:40px}.hero-sticker{position:absolute;right:11px;bottom:36px;width:76px;height:76px;border:2px solid var(--ink);border-radius:50%;background:var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(13deg);box-shadow:2px 3px 0 var(--ink);z-index:4}.hero-sticker span{font-size:20px;font-weight:1000;line-height:1}.hero-sticker b{font-size:11px;margin-top:4px}.hero-caption{position:absolute;left:187px;bottom:-2px;font-size:9px;letter-spacing:3px;transform:rotate(-3deg);white-space:nowrap}.setup-panel{background:#fffcf2;border:2px solid var(--ink);border-radius:15px;box-shadow:var(--shadow);padding:24px 27px 18px;position:relative}.setup-panel::before{content:"";position:absolute;width:72px;height:18px;left:50%;top:-9px;transform:translateX(-50%) rotate(-4deg);background:#d6ddaeaa;border-left:1px dashed #929b63;border-right:1px dashed #929b63;z-index:2}.panel-heading{display:flex;justify-content:space-between;align-items:center}.tiny-label{font-size:9px;letter-spacing:1.8px;font-weight:900}.ticket-mark{font-size:25px;font-weight:900}h2{font-size:29px;letter-spacing:-1px;line-height:1.3;margin:7px 0 22px;font-weight:1000}.field-label{font-size:11px;font-weight:800;display:flex;justify-content:space-between;align-items:center;margin:14px 0 9px;gap:7px}.field-label span{font-size:9px;font-weight:400;color:#90876e}.name-field{display:flex;align-items:center;gap:9px;min-height:46px;border:1.5px solid #ccc2a8;border-radius:7px;background:var(--cream);padding:0 12px}.name-field>span{font-weight:900;font-size:16px;color:#978c66;transform:rotate(-10deg)}.name-field input{border:0;background:transparent;font-size:13px;width:100%;height:41px;color:var(--ink)}.name-field input::placeholder{color:#aaa18c;font-size:11px}.role-selector{display:flex;gap:8px}.role-card{position:relative;flex:1;background:#f8f4e7;min-width:0;border:1.5px solid #c9bea3;border-radius:8px;padding:11px 2px 9px;display:flex;flex-direction:column;align-items:center;transition:transform .15s,background .15s}.role-symbol{font-size:25px;height:32px}.role-card b{font-size:13px;margin:3px 0 5px}.role-card small{font-size:8px;color:#7c745e;white-space:nowrap}.role-card.selected{border:2px solid var(--ink);background:var(--yellow);box-shadow:2px 2px 0 var(--ink);transform:translateY(-2px)}.role-check{display:none;width:17px;height:17px;font-size:10px;position:absolute;top:-5px;right:-4px;border:1.5px solid var(--ink);border-radius:50%;background:var(--ink);color:var(--yellow)}.role-card.selected .role-check{display:grid;place-items:center}.difficulty-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:17px 0}.difficulty-row>.field-label{margin:0;white-space:nowrap}.difficulty-selector{display:flex;gap:5px}.difficulty-selector button{font-size:10px;background:none;border:1px solid #d2c8b2;border-radius:20px;padding:6px 10px;white-space:nowrap}.difficulty-selector button.selected{background:var(--ink);color:var(--cream);border-color:var(--ink)}.primary-btn{width:100%;min-height:67px;border:2px solid var(--ink);border-radius:8px;background:var(--orange);box-shadow:3px 4px 0 var(--ink);font-size:21px;font-weight:1000;text-align:left;padding:13px 15px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;position:relative;gap:2px}.primary-btn small{width:100%;font-size:9px;line-height:1.5;letter-spacing:.3px;font-weight:500;margin-top:3px}.button-arrow{font-size:28px;line-height:1}.online-divider{display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:1px;margin:24px 0 13px;color:#8f8365}.online-divider:before,.online-divider:after{content:"";height:1px;background:#dbd1b7;flex:1}.online-options{display:flex;gap:8px}.secondary-btn{border:1.5px solid var(--ink);border-radius:7px;background:var(--green);height:43px;padding:0 12px;font-size:11px;font-weight:800;flex-shrink:0}.join-field{display:flex;align-items:center;flex:1;border:1.5px solid #cbbda0;border-radius:7px;overflow:hidden;height:43px}.join-field input{width:100%;flex:1;background:var(--cream);height:100%;border:0;padding:0 9px;font-size:10px}.join-field button{height:100%;border:0;background:var(--cream);white-space:nowrap;padding:0 9px;font-size:10px;font-weight:900}.setup-note{font-size:8px;margin:13px 0 0;color:#918568;display:flex;align-items:center;gap:5px;line-height:1.7}.note-dot{width:4px;height:4px;border-radius:50%;background:#8d9865}.home-footer{max-width:1190px;margin:0 auto 22px;display:flex;justify-content:space-between;border-top:1px solid #d8ceb3;padding-top:15px;font-size:9px;color:#91866b}.home-footer>span:first-child{font-weight:900;color:#494b39}.home-footer b{padding:0 12px;color:var(--orange)}.scrim{background:#25301eb8;backdrop-filter:blur(7px);display:flex;justify-content:center;align-items:center;padding:24px;overflow-y:auto}.modal{border:2px solid var(--ink);border-radius:15px;background:var(--cream);box-shadow:7px 8px 0 #171f1baa;padding:32px;max-width:470px;width:100%;position:relative;max-height:94dvh;overflow:auto}.modal h2{margin:9px 0 11px;font-size:31px}.modal-intro{font-size:12px;line-height:1.9;color:#776f58;margin:0 0 20px}.modal .primary-btn{margin-top:19px;min-height:53px;font-size:17px}.text-btn{display:block;background:none;border:0;text-decoration:underline;text-underline-offset:4px;padding:15px 8px 4px;margin:0 auto;font-size:11px;color:#7e7257}.small-note{text-align:center;color:#988c6c;font-size:9px;line-height:1.8;margin:18px 0 0}.room-ticket{display:flex;align-items:center;gap:14px;border:1.5px dashed #b9a676;padding:14px;background:#f6e9bb;border-radius:8px}.room-ticket>span{font-size:10px}.room-ticket b{font-size:24px;letter-spacing:3px;flex:1}.mini-btn{border:1.5px solid var(--ink);border-radius:5px;background:var(--cream);font-size:10px;padding:6px 10px}.party-list{margin:18px 0;display:grid;gap:8px}.party-list>div,.party-member,.party-slot{display:flex;align-items:center;padding:10px 12px;border:1.5px solid #c8bca0;border-radius:8px;background:#fffdf3;gap:10px;font-size:12px}.party-list img{width:35px;height:42px;object-fit:contain}.party-list small{font-size:9px;color:#978769;margin-left:auto}.status-line{font-size:11px;font-weight:700;text-align:center;color:#74674f}.hud{position:fixed;inset:0;z-index:10;pointer-events:none;padding:18px 22px;display:flex;align-items:flex-start;justify-content:space-between;color:var(--ink)}.hud-left{width:208px}.wave-chip{display:flex;gap:8px;align-items:center;border:2px solid var(--ink);border-radius:10px;background:var(--cream);padding:7px 10px;box-shadow:2px 3px 0 #292c2266;width:max-content}.chip-bird{background:var(--orange);border:1.5px solid var(--ink);width:30px;height:31px;border-radius:7px;display:grid;place-items:center;transform:rotate(-7deg);font-weight:1000;font-size:21px}.wave-chip small{font-size:8px;display:block;letter-spacing:1px;color:#8a7a57}.wave-chip b{font-size:13px;white-space:nowrap}.egg-health{margin-top:9px;background:var(--cream);padding:9px 10px;border:1.5px solid var(--ink);border-radius:8px;box-shadow:2px 3px 0 #292c2255}.bar-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;font-weight:800;margin-bottom:5px}.bar-heading b{font-size:9px}.health-track{background:#ded4bd;height:9px;border:1.5px solid var(--ink);border-radius:20px;overflow:hidden}.health-track>div{height:100%;width:100%;transition:width .12s;border-radius:20px;background:var(--yellow)}#playerBar{background:var(--green)}.hud-center{position:absolute;left:50%;transform:translateX(-50%);top:25px;text-align:center;max-width:45%;min-width:170px}.objective{font-size:11px;font-weight:800;background:#fff8e5ed;border:1.5px solid var(--ink);border-radius:30px;padding:8px 17px;box-shadow:2px 2px 0 #292c2244}.game-toast{display:table;margin:10px auto 0;background:var(--ink);color:var(--cream);font-size:12px;font-weight:800;border-radius:7px;padding:8px 14px;box-shadow:0 3px 0 #191e1655;opacity:0;transform:translateY(-5px);transition:opacity .2s,transform .2s;max-width:350px;white-space:normal}.game-toast:not(:empty){opacity:1;transform:translateY(0)}.hud-right{display:flex;gap:8px;align-items:flex-start;margin-right:98px}.score-chip{border:1.5px solid var(--ink);border-radius:9px;background:var(--cream);padding:6px 12px;text-align:right;min-width:82px;box-shadow:2px 3px 0 #292c2255}.score-chip small{font-size:8px;display:block;color:#8f7d58}.score-chip b{font-size:21px;line-height:1.2;font-variant-numeric:tabular-nums}.hud #pauseBtn{pointer-events:auto;width:36px;height:36px;font-size:16px}.hud-bottom{position:absolute;bottom:55px;left:22px;display:flex;flex-direction:column;gap:8px}.player-health{background:var(--cream);border:1.5px solid var(--ink);border-radius:8px;padding:8px 10px;width:180px;box-shadow:2px 3px 0 #292c2255}.squad-list{display:flex;gap:5px;flex-wrap:wrap;max-width:350px}.squad-list>div,.squad-member{background:#fff8e5dc;border:1px solid #35382c;border-radius:5px;font-size:9px;padding:5px 7px;min-width:64px}.squad-list b{font-size:9px}.squad-list small{font-size:8px}.squad-list .down{background:#ffc1a1}.keyboard-hints{position:absolute;left:22px;bottom:18px;display:flex;gap:14px;align-items:center;font-size:9px;color:#454835;background:#fff8e5b5;border-radius:5px;padding:5px 9px}.keyboard-hints span{white-space:nowrap}kbd{font:800 9px "PingFang SC",sans-serif;display:inline-block;border:1px solid #6b6d59;border-bottom-width:2px;border-radius:3px;background:#fff9e8;min-width:15px;text-align:center;padding:1px 3px;margin-right:1px}.touch-controls{position:fixed;inset:0;z-index:20;pointer-events:none}.joystick{width:126px;height:126px;position:absolute;left:max(27px,env(safe-area-inset-left));bottom:max(29px,env(safe-area-inset-bottom));border:2px solid #363f3066;background:#fff8e547;border-radius:50%;pointer-events:auto;touch-action:none;box-shadow:inset 0 0 0 12px #fff8e51c}.joystick-dots{position:absolute;inset:14px;border:1.5px dashed #363f3055;border-radius:50%;pointer-events:none}.stick{width:54px;height:54px;border:2px solid #293724b0;background:#fff8e5a8;border-radius:50%;position:absolute;top:34px;left:34px;box-shadow:0 4px 0 #27372344;pointer-events:none;will-change:transform}.action-controls{position:absolute;right:max(25px,env(safe-area-inset-right));bottom:max(29px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:12px}.action-btn{pointer-events:auto;position:relative;width:66px;height:66px;border:2px solid var(--ink);border-radius:50%;box-shadow:2px 4px 0 #292c2288;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;background:#fff8e5dc;gap:3px}.action-btn>span{font-weight:1000;font-size:22px;line-height:1}.action-btn b{font-size:10px;white-space:nowrap}.action-btn.skill{background:#b9d85be0;margin-bottom:24px;width:74px;height:74px}.action-btn.ultimate{background:#f4c542e6;margin-bottom:1px;width:65px;height:65px}.action-btn.dash{background:#fa7141e6;width:80px;height:80px}.action-btn .cooldown{position:absolute;inset:-2px;display:grid;place-items:center;background:#26341fcc;color:#fff9e4;font-size:22px;border:2px solid var(--ink);border-radius:50%;font-weight:1000;pointer-events:none}.action-btn .cooldown:empty{display:none}.upgrade-modal{max-width:770px}.upgrade-top{display:flex;align-items:center;justify-content:space-between}.timer-pill{font-size:12px;font-weight:900;background:var(--yellow);border:1.5px solid var(--ink);border-radius:20px;padding:5px 10px}.upgrade-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upgrade-cards button,.upgrade-card{border:2px solid var(--ink);border-radius:10px;min-height:180px;padding:21px 14px;background:#fffdf3;text-align:left;box-shadow:3px 4px 0 var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:10px;transition:transform .15s,background .15s}.upgrade-cards button:hover{transform:translateY(-5px);background:var(--yellow)}.upgrade-cards button>span:first-child,.upgrade-icon{font-size:30px}.upgrade-cards h3,.upgrade-cards b{font-size:17px;margin:0}.upgrade-cards p,.upgrade-cards small{font-size:11px;line-height:1.8;margin:0;font-weight:400;color:#76664a}.upgrade-cards button>span:last-child{font-size:9px}.result-modal{text-align:center}.result-symbol{font-size:75px;color:var(--orange);line-height:1.2;-webkit-text-stroke:2px var(--ink);text-shadow:3px 3px 0 var(--ink)}.result-modal h2{font-size:39px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:23px 0}.result-stats>div{border:1px solid #c4b38d;border-radius:7px;padding:13px 6px;background:#f9edc7}.result-stats b{display:block;font-size:23px;font-weight:1000}.result-stats span,.result-stats small{font-size:9px;color:#8c7b57}.help-modal{max-width:630px}.modal-close{position:absolute;right:21px;top:19px;width:30px;height:30px;font-size:19px}.help-steps{margin:25px 0}.help-steps article{display:flex;gap:14px;margin:18px 0}.help-steps article>span{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;background:var(--yellow);font-size:12px;font-weight:1000}.help-steps h3{font-size:14px;margin:0 0 5px}.help-steps p{font-size:11px;line-height:1.85;color:#7d6c4b;margin:0}.help-controls{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d0bc92;border-radius:8px;overflow:hidden}.help-controls>div{padding:15px 17px;background:#faf0d4}.help-controls>div:first-child{border-right:1px solid #d0bc92}.help-controls b{font-size:12px}.help-controls p{font-size:10px;line-height:2;margin:6px 0 0;color:#786849}.pause-modal{max-width:370px}.pulse{animation:pulse .6s ease-in-out infinite alternate}@keyframes chicken-bob{0%,100%{transform:translateY(0) rotate(7deg)}50%{transform:translateY(-8px) rotate(3deg)}}@keyframes pulse{to{transform:scale(1.05)}}
@media(min-width:1400px) and (min-height:850px){.home-grid{margin-top:55px;gap:75px}.hero-scene{height:333px}.hero-character{height:345px;width:336px;left:126px}.hero-orbit{width:319px;height:250px;left:141px;top:57px}.orbit-two{width:349px;height:290px;left:124px;top:32px}.setup-panel{padding:30px 31px 23px}.field-label{margin-top:20px}.role-card{padding-top:16px;padding-bottom:13px}.home-footer{margin-top:18px}}
@media(max-width:1000px){.home{padding:0 30px}.home-grid{gap:26px;grid-template-columns:1fr 1.05fr}h1{font-size:76px}.title-line{font-size:86px;margin-left:22px}.title-spark{font-size:34px}.tagline{font-size:20px}.hero-character{left:76px;height:279px;width:270px}.hero-orbit{left:69px;width:270px;top:48px;height:215px}.orbit-two{left:56px;top:37px;width:294px;height:241px}.comic-bubble{left:0;top:40px;padding:16px 20px}.hero-star-one{left:24px}.hero-star-two{right:-2px}.hero-sticker{right:0;bottom:30px;width:63px;height:63px}.hero-caption{left:105px}.setup-panel{padding:23px 20px 17px}.home-footer{font-size:8px}.hud-center{top:21px}.hud-right{margin-right:95px}.hud-left{width:183px}}
@media(max-width:740px){.home{padding:0 19px}.home-topbar{height:73px;padding-right:91px}.brand{font-size:10px;gap:7px}.brand-emblem{width:32px;height:35px;font-size:21px}.brand small{font-size:6px}.edition{font-size:8px;letter-spacing:.7px}.edition span{font-size:6px;letter-spacing:.2px}.global-tools{right:17px;top:18px;gap:7px}.icon-btn{width:33px;height:33px;font-size:17px}.sound-icon{font-size:21px}.home-grid{margin:22px auto 25px;display:block;max-width:465px}.title-section{min-height:296px}.eyebrow{font-size:8px;letter-spacing:.6px;margin-bottom:12px}.live-dot{width:6px;height:6px}h1{font-size:63px;letter-spacing:-5px}.title-line{font-size:73px;margin-left:18px}.title-spark{font-size:25px;right:8px;top:7px}.tagline{font-size:15px;margin:16px 0 8px;letter-spacing:-.4px;max-width:225px}.intro{font-size:10px;line-height:1.65;max-width:215px;margin:9px 0}.game-tags{display:none}.hero-scene{position:absolute;width:220px;height:235px;right:-12px;top:67px;margin:0;pointer-events:none}.hero-character{height:224px;width:213px;left:9px;bottom:7px}.hero-orbit{width:191px;height:164px;left:23px;top:53px}.orbit-two{width:214px;height:191px;left:10px;top:40px}.comic-bubble{left:47px;top:-21px;padding:10px 14px;font-size:8px;line-height:1.4}.comic-bubble b{font-size:11px}.comic-bubble:after{width:12px;height:10px;right:12px;bottom:-3px}.hero-star-one{font-size:24px;left:10px;top:142px}.hero-star-two{font-size:24px;right:1px;top:72px}.hero-sticker{width:49px;height:49px;right:3px;bottom:14px;transform:rotate(10deg)}.hero-sticker span{font-size:14px}.hero-sticker b{font-size:8px;margin-top:3px}.hero-caption{bottom:-7px;left:66px;font-size:6px;letter-spacing:1px}.hero-ground{left:54px;width:145px;bottom:5px;height:22px}.setup-panel{padding:22px 19px 17px;border-radius:13px;box-shadow:4px 5px 0 var(--ink)}h2{font-size:25px;margin-bottom:18px}.tiny-label{font-size:8px}.ticket-mark{font-size:21px}.role-card{padding:10px 3px 8px}.role-card b{font-size:12px}.role-card small{font-size:8px}.primary-btn{font-size:19px;min-height:64px}.home-footer{padding-top:13px;max-width:465px;gap:10px;align-items:center;font-size:7px;line-height:1.7}.home-footer>span:last-child{text-align:right;max-width:220px}.home-footer b{padding:0 5px}.modal{padding:25px 20px;max-height:92dvh}.modal h2{font-size:26px}.scrim{padding:19px}.upgrade-cards{gap:8px}.upgrade-cards button,.upgrade-card{padding:16px 10px;min-height:173px;box-shadow:2px 3px 0 var(--ink)}.upgrade-cards h3,.upgrade-cards b{font-size:13px}.upgrade-cards p,.upgrade-cards small{font-size:9px}.upgrade-cards button>span:first-child,.upgrade-icon{font-size:25px}.hud{padding:11px 12px}.hud-left{width:152px}.wave-chip{padding:5px 7px;gap:6px;border-radius:7px}.chip-bird{width:24px;height:26px;font-size:18px}.wave-chip small{font-size:6px}.wave-chip b{font-size:10px}.egg-health{padding:7px 8px;margin-top:7px;border-radius:6px}.bar-heading{font-size:8px;margin-bottom:4px}.bar-heading b{font-size:8px}.health-track{height:7px}.hud-right{margin-right:80px;gap:6px}.score-chip{min-width:59px;padding:5px 8px;border-radius:7px}.score-chip small{font-size:6px}.score-chip b{font-size:16px}.hud #pauseBtn{width:29px;height:29px;font-size:13px}.hud-center{top:116px;min-width:155px;max-width:75%}.objective{font-size:9px;padding:6px 13px}.game-toast{font-size:10px;padding:7px 11px;min-width:120px}.hud-bottom{left:12px;bottom:178px;gap:5px}.player-health{width:142px;padding:6px 8px;border-radius:6px}.squad-list{max-width:220px;gap:3px}.squad-list>div,.squad-member{font-size:7px;min-width:43px;padding:3px 4px}.squad-list b{font-size:7px}.keyboard-hints{display:none}.joystick{left:23px;bottom:29px;width:112px;height:112px}.stick{width:48px;height:48px;left:30px;top:30px}.action-controls{right:18px;bottom:31px;gap:8px}.action-btn{width:54px;height:54px;gap:2px}.action-btn.skill{width:65px;height:65px;margin-bottom:39px}.action-btn.ultimate{width:55px;height:55px;margin-bottom:5px}.action-btn.dash{width:68px;height:68px}.action-btn b{font-size:8px}.action-btn>span{font-size:19px}.action-btn .cooldown{font-size:18px}.help-modal h2{font-size:24px;padding-right:20px}.help-controls>div{padding:12px}.help-steps article{gap:10px}.help-steps article>span{width:28px;height:28px;font-size:10px}.help-steps p{font-size:10px}.help-steps h3{font-size:12px}.result-modal h2{font-size:32px}.result-symbol{font-size:62px}}
@media(max-width:380px){.home{padding:0 15px}.title-section{min-height:283px}h1{font-size:57px}.title-line{font-size:66px}.hero-scene{right:-8px;width:195px;height:219px;top:64px}.hero-character{width:190px;height:207px;left:4px}.hero-orbit{left:20px;width:174px;height:148px}.orbit-two{left:7px;width:191px;height:173px}.hero-sticker{right:0;width:44px;height:44px}.comic-bubble{left:44px}.intro{font-size:9px;max-width:185px}.tagline{font-size:14px}.setup-panel{padding:20px 14px 16px}.role-selector{gap:6px}.role-card small{font-size:7px}.difficulty-selector button{padding:5px 7px;font-size:9px}.secondary-btn{padding:0 9px;font-size:10px}.join-field input{padding:0 6px;font-size:9px}.join-field button{padding:0 6px;font-size:9px}.action-controls{right:12px;gap:5px}.joystick{left:17px}.action-btn.skill{width:57px;height:57px}.action-btn.dash{width:62px;height:62px}.action-btn.ultimate{width:47px;height:47px}.action-btn b{font-size:7px}.upgrade-cards{grid-template-columns:1fr}.upgrade-cards button{min-height:86px;display:grid;grid-template-columns:38px 1fr;gap:5px 9px}.upgrade-cards button>span:first-child{grid-row:1/3}.upgrade-cards p,.upgrade-cards small{grid-column:2}.upgrade-modal .small-note{margin-top:13px}}
@media(pointer:coarse){.keyboard-hints{display:none}}
@media(orientation:landscape) and (max-height:560px){.home-topbar{height:62px}.home-grid{display:grid;grid-template-columns:1fr 1.15fr;margin:23px auto;max-width:870px;gap:25px}.title-section{min-height:360px}.hero-scene{width:242px;height:234px;right:2px;top:154px}.hero-character{width:226px;height:232px}.comic-bubble{left:-11px;top:22px}.setup-panel{padding:17px}.setup-panel h2{margin:5px 0 13px;font-size:24px}.field-label{margin-top:10px}.role-card{padding:6px 3px}.role-symbol{height:27px;font-size:21px}.role-card b{margin:2px 0}.role-card small{font-size:7px}.difficulty-row{margin:12px 0}.primary-btn{min-height:58px}.online-divider{margin:18px 0 9px}.home-footer{max-width:870px}.hud-center{top:17px;min-width:160px;max-width:31%}.hud-bottom{bottom:24px;left:156px}.player-health{width:142px}.squad-list{display:none}.joystick{width:105px;height:105px;bottom:20px;left:24px}.stick{width:46px;height:46px;left:27.5px;top:27.5px}.action-controls{bottom:20px}.action-btn.skill{margin-bottom:17px}.global-tools{top:12px}.modal{max-height:91dvh}.help-controls{font-size:9px}.scrim{padding:15px}.upgrade-cards{grid-template-columns:repeat(3,1fr)}.upgrade-modal h2{margin:5px 0}.upgrade-modal .modal-intro{margin-bottom:10px}.upgrade-cards button{min-height:150px}.upgrade-modal .small-note{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.hero-character{animation:none}*{scroll-behavior:auto;transition:none!important}}
/* App-generated elements and the global toast remain available from every screen. */
.game-toast{position:fixed;z-index:100;left:50%;top:110px;margin:0;transform:translate(-50%,-5px);opacity:0;pointer-events:none;width:max-content;max-width:min(480px,calc(100vw - 38px));border:1.5px solid #f9e6b1}
.game-toast:not(:empty){opacity:0;transform:translate(-50%,-5px)}.game-toast.visible{opacity:1;transform:translate(-50%,0)}.playing .game-toast{top:89px}
.party-slot>div{flex:1}.party-slot strong{display:block;font-size:12px}.party-slot small{display:block;font-size:9px;margin-top:3px}.party-slot>span{font-size:17px;font-weight:900;color:#7d9851}.party-slot:not(.filled){opacity:.55;border-style:dashed}
.squad-member{display:flex;align-items:center;gap:5px}.squad-member i{width:6px;height:6px;border:1px solid #38432a;border-radius:50%;background:var(--role-color)}.squad-member b{margin-left:auto}.squad-member em{font-style:normal;font-size:7px;opacity:.6}
.result-stats strong{display:block;font-size:24px;font-weight:1000}.result-stats small{display:block;margin-top:4px}.result-stats{grid-template-columns:repeat(4,1fr)}
.upgrade-wait{grid-column:1/-1;text-align:center;padding:30px;border:2px dashed #b4a36f;background:#f6efce;border-radius:10px}.upgrade-wait>span{font-size:42px;color:#8ca953}.upgrade-wait h3{font-size:20px}.upgrade-wait p{font-size:12px}
.action-btn.ready .cooldown{inset:auto;bottom:-7px;left:50%;transform:translateX(-50%);background:var(--ink);font-size:8px;min-width:29px;padding:3px 5px;border:0;white-space:nowrap}.action-btn.ultimate.ready{box-shadow:0 0 0 4px #f6ca4b66,2px 4px 0 #292c2288}.action-btn b{max-width:73px;overflow:hidden;text-overflow:ellipsis}
.home-footer a{font-size:7px;opacity:.8}.home-footer small{font-size:8px;font-weight:400;color:#8f8264;line-height:2}.home-footer small b{padding:0;color:var(--ink);font-size:10px}
@media(pointer:fine){.touch-controls .joystick{display:none}.action-controls{bottom:30px}.action-btn{width:57px;height:57px}.action-btn.skill{width:65px;height:65px;margin-bottom:14px}.action-btn.dash{width:69px;height:69px}}
@media(max-width:740px){.game-toast{top:90px;font-size:10px}.playing .game-toast{top:151px}.result-stats strong{font-size:19px}.result-stats small{font-size:8px}.home-footer small{font-size:7px}.home-footer small b{font-size:8px}}
@media(orientation:landscape) and (max-height:560px){.game-toast,.playing .game-toast{top:73px}}
@media(max-width:740px) and (orientation:portrait){.title-line{font-size:62px}.title-spark{font-size:25px}}
@media(max-width:380px) and (orientation:portrait){.title-line{font-size:57px}}
/* Two independent modes and deliberate attacks. */
.mode-selector{display:grid;grid-template-columns:1.08fr 1fr;gap:8px;margin:-8px 0 14px}.mode-card{position:relative;display:flex;align-items:center;gap:7px;text-align:left;background:#f8f4e6;border:1.5px solid #c9bea3;border-radius:8px;padding:12px 8px;min-width:0}.mode-card>span{font-size:25px;flex-shrink:0}.mode-card div{min-width:0}.mode-card b{font-size:12px;display:block}.mode-card small{font-size:8px;display:block;color:#807052;margin-top:4px;line-height:1.5}.mode-card em{position:absolute;right:5px;top:-7px;border:1px solid var(--ink);border-radius:9px;background:var(--ink);color:var(--cream);font-size:7px;font-style:normal;padding:2px 5px}.mode-card.selected{border:2px solid var(--ink);background:var(--green);box-shadow:2px 2px 0 var(--ink)}
.ammo-row{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed #d8ccad;font-size:9px;padding-top:6px;margin-top:6px}.ammo-row b{font-variant-numeric:tabular-nums;color:#8b6d27}.buff-list{display:flex;flex-wrap:wrap;gap:4px;max-width:270px}.buff-list:empty{display:none}.buff-list>span,.buff-chip{background:#ffedbb;border:1px solid #9c8b5e;border-radius:5px;padding:4px 6px;font-size:8px;font-weight:800}.buff-list b{font-size:8px;margin-left:4px}
.rescue-chip{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 10px;background:#fff8e5;border:1.5px solid var(--ink);border-radius:7px;font-size:10px;font-weight:800;margin-top:8px;box-shadow:2px 3px 0 #292c2255}.rescue-chip b{font-variant-numeric:tabular-nums;color:#95754d}.rescue-chip.exhausted{background:#ffc7a3}
.help-budget{background:#f5e8be;border:1px dashed #b5a174;border-radius:7px;padding:11px 13px;font-size:10px;line-height:1.9;color:#78613d;margin:16px 0}
.joystick-caption{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);font-size:9px;font-weight:800;white-space:nowrap;color:#414d2f;text-shadow:0 1px #fffbd3;pointer-events:none}.aim-joystick{left:auto;right:max(25px,env(safe-area-inset-right));background:#ffe27b47;border-color:#8b713c88}.aim-stick{background:#ffe793bb;border-color:#786a3ab0;display:grid;place-items:center;font-size:24px;color:#78673a}.action-btn.attack{background:#fff7d2;}.action-btn.ranged{background:#f0d572}.action-btn.attack>span{font-size:25px}.action-controls{align-items:flex-end}.action-btn.ranged b{font-size:9px}
@media(pointer:fine){.aim-joystick{display:none}.action-controls{display:flex;right:24px;bottom:26px;gap:8px}.action-controls .action-btn{position:relative;right:auto;bottom:auto;margin-bottom:0;width:56px;height:56px}.action-controls .action-btn.attack,.action-controls .action-btn.dash{width:65px;height:65px}.keyboard-hints{gap:10px;max-width:calc(100vw - 385px);flex-wrap:wrap}.hud-bottom{bottom:75px}}
@media(pointer:coarse){.action-controls{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));width:242px;height:220px;display:block}.action-controls .action-btn{position:absolute;margin:0;width:52px;height:52px;right:auto;bottom:auto}.action-controls .attack{right:124px;bottom:0;width:72px;height:72px}.action-controls .dash{right:182px;bottom:98px;width:52px;height:52px}.action-controls .skill{right:105px;bottom:114px;width:55px;height:55px}.action-controls .ultimate{right:34px;bottom:142px;width:52px;height:52px}.action-controls .ranged{display:none}.joystick,.aim-joystick{width:112px;height:112px;bottom:max(27px,env(safe-area-inset-bottom))}.joystick{left:max(19px,env(safe-area-inset-left))}.aim-joystick{left:auto;right:max(18px,env(safe-area-inset-right))}.stick,.aim-stick{width:48px;height:48px;left:30px;top:30px}.hud-bottom{bottom:253px;left:12px}.action-controls .action-btn>span{font-size:20px}.action-controls .attack>span{font-size:25px}.action-controls .action-btn b{font-size:8px}.action-controls .attack b{font-size:9px}}
@media(max-width:740px){.mode-selector{gap:7px;margin-bottom:12px}.mode-card{padding:10px 7px;gap:5px}.mode-card>span{font-size:22px}.mode-card b{font-size:11px}.mode-card small{font-size:7px}.ammo-row{font-size:8px;padding-top:5px;margin-top:5px}.buff-list>span,.buff-chip{font-size:7px;padding:3px 4px}.buff-list{max-width:180px}.rescue-chip{font-size:8px;padding:6px 8px;margin-top:7px}}
@media(pointer:coarse) and (orientation:landscape){.action-controls{right:max(16px,env(safe-area-inset-right));bottom:22px;width:275px;height:166px}.action-controls .attack{right:131px;bottom:0;width:65px;height:65px}.action-controls .dash{right:206px;bottom:57px;width:49px;height:49px}.action-controls .skill{right:135px;bottom:94px;width:52px;height:52px}.action-controls .ultimate{right:54px;bottom:116px;width:50px;height:50px}.aim-joystick,.joystick{width:100px;height:100px;bottom:24px}.joystick{left:24px}.aim-joystick{left:auto;right:22px}.stick,.aim-stick{width:43px;height:43px;left:26.5px;top:26.5px}.hud-bottom{bottom:23px;left:151px}.player-health{width:153px}.buff-list{max-width:160px}.objective{font-size:9px}.hud-center{max-width:32%}}
@media(pointer:coarse) and (max-width:370px) and (orientation:portrait){.action-controls{right:10px;width:221px}.action-controls .attack{right:104px;width:64px;height:64px}.action-controls .dash{right:165px;bottom:95px;width:47px;height:47px}.action-controls .skill{right:98px;bottom:110px;width:50px;height:50px}.action-controls .ultimate{right:24px;bottom:141px;width:48px;height:48px}.joystick,.aim-joystick{width:100px;height:100px}.joystick{left:15px}.aim-joystick{left:auto;right:14px}.stick,.aim-stick{width:43px;height:43px;left:26.5px;top:26.5px}}

/* Combat information stays at the edges; thumbs and the fight get their own space. */
.hud{padding-top:max(15px,env(safe-area-inset-top));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
.hud-center{top:max(18px,env(safe-area-inset-top));width:340px;max-width:38%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}
.objective{font-size:10px;border-radius:7px;padding:6px 12px;box-shadow:none;line-height:1.5;max-width:100%}
.combat-progress{background:#26342aeb;color:#fff4d5;padding:5px 11px;border:1px solid #fff4d54a;border-radius:5px;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 2px 0 #13231755}
.boss-status{width:100%;padding:7px 10px 9px;background:#402b29ef;color:#fff5da;border:2px solid #a23e33;border-radius:8px;box-shadow:0 3px 0 #291f2588}
.boss-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:10px;font-variant-numeric:tabular-nums}.boss-heading b{letter-spacing:.5px}.boss-heading span{color:#ffd591;font-size:9px}
.boss-track{height:9px;overflow:hidden;border:1px solid #201f1c;border-radius:5px;background:#1b2423}.boss-track>div{height:100%;width:100%;background:linear-gradient(90deg,#db5547,#ff8c53);transition:width .1s linear}
.wave-chip{border-width:1.5px;box-shadow:0 3px 0 #292c2244}.wave-chip small{font-size:9px;letter-spacing:.25px}.wave-chip b{font-size:14px}.score-chip small{color:#645333;font-size:9px}.score-chip b{font-size:22px}
.health-track{height:10px;background:#483e31}.bar-heading,.bar-heading b{font-size:10px;font-variant-numeric:tabular-nums}.bar-heading{margin-bottom:6px}#playerBar{background:linear-gradient(90deg,#97bb47,#cae67b)}.player-health{background:#fff8e5f2;box-shadow:0 3px 0 #292c2244}
.player-health.low-health{border-color:#b13e35;background:#fff0d4}.player-health.low-health #playerBar{background:#e66848}
.ammo-row{font-size:9px;color:#53472d;border-top:0;margin-top:8px;padding-top:0}.ammo-row b{color:#72510e;font-size:10px}.ammo-track{height:4px;background:#dbcfac;border-radius:2px;overflow:hidden;margin-top:4px}.ammo-track>div{height:100%;width:100%;background:#caa133;transition:width .08s linear}
.buff-list{gap:3px;max-width:210px}.buff-list>span{font-size:8px;padding:3px 5px}.squad-list>div{padding:4px 6px}.keyboard-hints{background:#fff8e5dd;line-height:1.5}
.playing .game-toast{top:auto;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 100px);max-width:min(320px,calc(100vw - 80px));font-size:10px;padding:7px 11px;font-weight:700;background:#28322aeb;box-shadow:none;border-color:#f9e6b166;line-height:1.5}
.action-btn{--cooldown:0;--ring-color:#435844;isolation:isolate;transition:transform .07s ease,box-shadow .1s ease;border:2px solid #28352b;box-shadow:0 4px 0 #26362ba6;gap:3px}
.action-btn::before{content:"";position:absolute;inset:3px;border-radius:50%;pointer-events:none;background:conic-gradient(from -90deg,#273a35b8 calc(var(--cooldown)*1turn),#273a3500 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));z-index:1}
.action-btn b{font-size:10px;font-weight:900}.action-btn>span{font-size:24px}.action-btn .cooldown,.action-btn.ready .cooldown{position:absolute;inset:auto;left:50%;bottom:7px;transform:translateX(-50%);border:0;background:transparent;color:#364334;border-radius:0;min-width:0;padding:0;font-size:9px;line-height:1;font-weight:900;white-space:nowrap;display:block}
.action-btn .cooldown:not(:empty)~b{padding-bottom:8px}.action-btn>span{transform:translateY(-5px)}.action-btn b{transform:translateY(-4px)}
.action-btn:disabled{opacity:.6}.action-btn.held,.action-btn:active{transform:translateY(3px) scale(.95);box-shadow:0 1px 0 #26362b99;filter:brightness(1.08)}.action-btn.held::after{content:"";position:absolute;inset:-5px;border:2px solid #fff9dc99;border-radius:50%;pointer-events:none}
.action-btn.ultimate{background:#ffd55ce8;border-color:#76612b}.action-btn.ultimate.ready{box-shadow:0 0 0 4px #ffdf7855,0 4px 0 #76612b;animation:ult-ready 1.35s ease-in-out infinite}.action-btn.ultimate.ready .cooldown{color:#765126}.action-btn.dash{background:#fba677e8}.action-btn.skill{background:#c8e181eb}.action-btn.attack{background:#fff4c7ef}.action-btn.ranged{background:#e7ce77ef}
.joystick{border-color:#2e49358c;background:#f8f4d82b;box-shadow:inset 0 0 0 10px #fff8e526,0 0 0 1px #fff4da66}.joystick-dots{border-color:#3b4f3c7d}.stick{background:#fff5d9db;border-color:#334c38;box-shadow:0 3px 0 #2a3b3090}.aim-joystick{border-color:#77662d9c;background:#f2d27d32}.aim-stick{background:#ffe49ee3;border-color:#7b682c}.joystick-caption{font-size:10px;font-weight:900;color:#283e30;text-shadow:0 1px 2px #fff9d7;bottom:-17px}
@keyframes ult-ready{0%,100%{box-shadow:0 0 0 3px #ffdf7844,0 4px 0 #76612b}50%{box-shadow:0 0 0 7px #ffdf785c,0 4px 0 #76612b}}
@media(pointer:fine){.action-controls{gap:11px;right:max(24px,env(safe-area-inset-right));bottom:max(25px,env(safe-area-inset-bottom))}.action-controls .action-btn{width:67px;height:67px}.action-controls .attack,.action-controls .dash{width:75px;height:75px}.hud-bottom{bottom:81px}.keyboard-hints{max-width:calc(100vw - 440px)}.playing .game-toast{bottom:180px}}
@media(pointer:coarse){.joystick,.aim-joystick{width:116px;height:116px;bottom:calc(max(22px,env(safe-area-inset-bottom)) + 4px)}.joystick{left:max(18px,env(safe-area-inset-left))}.aim-joystick{left:auto;right:max(16px,env(safe-area-inset-right))}.stick,.aim-stick{width:50px;height:50px;left:31px;top:31px}.action-controls{right:max(16px,env(safe-area-inset-right));bottom:calc(max(22px,env(safe-area-inset-bottom)) + 4px);width:250px;height:224px}.action-controls .action-btn{width:60px;height:60px}.action-controls .attack{right:126px;bottom:0;width:74px;height:74px}.action-controls .dash{right:184px;bottom:102px;width:58px;height:58px}.action-controls .skill{right:110px;bottom:123px;width:60px;height:60px}.action-controls .ultimate{right:33px;bottom:144px;width:60px;height:60px}.action-controls .action-btn b{font-size:9px}.action-controls .action-btn>span{font-size:23px}.action-controls .attack b{font-size:9px}.hud-bottom{left:max(14px,env(safe-area-inset-left));bottom:calc(max(22px,env(safe-area-inset-bottom)) + 151px);gap:5px}.player-health{width:148px;padding:7px 9px}.squad-list{display:none}.playing .game-toast{bottom:calc(max(22px,env(safe-area-inset-bottom)) + 246px);font-size:9px}.keyboard-hints{display:none}}
@media(max-width:740px) and (orientation:portrait){.hud{padding:12px 13px;padding-top:max(12px,env(safe-area-inset-top))}.hud-left{width:150px}.hud-right{margin-right:78px;gap:5px}.wave-chip small{font-size:8px}.wave-chip b{font-size:11px}.score-chip small{font-size:7px}.score-chip b{font-size:18px}.hud-center{top:calc(max(12px,env(safe-area-inset-top)) + 76px);width:260px;max-width:72%;gap:5px}.objective{display:none}.combat-progress{font-size:9px;padding:5px 9px}.boss-status{padding:6px 8px 7px;max-width:260px}.boss-heading,.boss-heading span{font-size:9px}.boss-track{height:7px}.bar-heading,.bar-heading b{font-size:9px}.ammo-row{font-size:9px}.rescue-chip{font-size:8px;padding:5px 7px;box-shadow:none;margin-top:6px}.egg-health{padding:6px 8px;margin-top:6px}}
@media(pointer:coarse) and (orientation:landscape){.joystick,.aim-joystick{width:112px;height:112px;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 3px)}.joystick{left:max(22px,env(safe-area-inset-left))}.aim-joystick{right:max(20px,env(safe-area-inset-right))}.stick,.aim-stick{width:48px;height:48px;left:30px;top:30px}.action-controls{right:max(20px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 3px);width:280px;height:184px}.action-controls .attack{right:125px;bottom:0;width:72px;height:72px}.action-controls .dash{right:206px;bottom:69px;width:56px;height:56px}.action-controls .skill{right:126px;bottom:113px;width:56px;height:56px}.action-controls .ultimate{right:39px;bottom:130px;width:56px;height:56px}.hud-center{top:max(13px,env(safe-area-inset-top));width:275px;max-width:36%;gap:4px}.objective{display:none}.combat-progress{font-size:9px;padding:5px 8px}.boss-heading{font-size:9px}.boss-status{padding:6px 8px}.hud-bottom{left:calc(max(22px,env(safe-area-inset-left)) + 129px);bottom:calc(max(16px,env(safe-area-inset-bottom)) + 3px);gap:4px}.player-health{width:148px}.buff-list{max-width:150px}.playing .game-toast{bottom:auto;top:104px;font-size:9px;max-width:270px}.wave-chip small{font-size:7px}.wave-chip b{font-size:11px}.hud #pauseBtn{width:33px;height:33px}}
@media(pointer:coarse) and (max-width:370px) and (orientation:portrait){.joystick,.aim-joystick{width:104px;height:104px}.joystick{left:max(14px,env(safe-area-inset-left))}.aim-joystick{right:max(14px,env(safe-area-inset-right))}.stick,.aim-stick{width:44px;height:44px;left:28px;top:28px}.action-controls{right:max(14px,env(safe-area-inset-right));width:235px}.action-controls .attack{right:114px;bottom:0;width:68px;height:68px}.action-controls .dash{right:177px;bottom:96px;width:52px;height:52px}.action-controls .skill{right:106px;bottom:115px;width:56px;height:56px}.action-controls .ultimate{right:26px;bottom:137px;width:56px;height:56px}.hud-left{width:138px}.hud-bottom{bottom:calc(max(22px,env(safe-area-inset-bottom)) + 142px)}.player-health{width:139px}.hud-center{max-width:78%}.score-chip{padding:5px 6px;min-width:55px}.action-controls .action-btn b{font-size:8px}}
@media(prefers-reduced-motion:reduce){.action-btn.ultimate.ready{animation:none}.action-btn,.boss-track>div,.ammo-track>div{transition:none}}

/* A small, numeric-only permanent progression menu. */
.talent-entry{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;margin-top:14px;background:#f5edcb;border:1.5px solid #b8aa7d;border-radius:8px;text-align:left;min-height:57px}
.talent-entry-icon{width:30px;height:30px;display:grid;place-items:center;background:var(--green);border:1.5px solid var(--ink);border-radius:7px;font-size:21px;flex-shrink:0;transform:rotate(-5deg)}
.talent-entry-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.talent-entry-copy b{font-size:12px}.talent-entry-copy small{font-size:8px;color:#746748;line-height:1.45}
.talent-entry-points{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:32px}.talent-entry-points b{font-size:21px;line-height:1;font-variant-numeric:tabular-nums}.talent-entry-points small{font-size:8px;color:#746748}.talent-entry-arrow{font-size:22px;font-weight:900;margin-left:1px}
.talent-entry.has-points{background:#edf2cb;border-color:#6f843f;box-shadow:2px 2px 0 #6f843f44}.talent-entry.has-points .talent-entry-points b{color:#566c25}
#talents{z-index:90;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overscroll-behavior:contain}
.talents-modal{max-width:620px;padding:29px 30px 23px;max-height:calc(100dvh - 36px);scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.talents-modal h2{font-size:28px;margin-right:26px}.talents-intro{font-size:11px;line-height:1.7;margin-bottom:16px!important}
.talent-wallet{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1.5px solid var(--ink);border-radius:9px;background:var(--yellow);padding:13px 17px;margin-bottom:17px;box-shadow:2px 3px 0 #292c2233}
.talent-wallet>div{display:flex;align-items:center;gap:13px}.talent-wallet>div>span{font-size:11px;font-weight:900}.talent-wallet strong{font-size:35px;font-weight:1000;line-height:1;font-variant-numeric:tabular-nums}.talent-wallet p{font-size:9px;line-height:1.8;margin:0;text-align:right;color:#6a5824}.talent-wallet p b{font-weight:800}
.talent-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.talent-card{display:flex;flex-direction:column;gap:9px;border:1.5px solid #bdb08d;border-radius:9px;padding:13px;background:#fffdf4;min-width:0;position:relative}
.talent-card.maxed{background:#f0f2d6;border-color:#9bad6a}.talent-card-head{display:flex;align-items:center;gap:8px}.talent-icon{font-size:23px;width:31px;height:31px;display:grid;place-items:center;flex-shrink:0;background:#f5edce;border-radius:7px}.talent-name{font-size:13px;font-weight:900;flex:1;min-width:0}.talent-level{font-size:9px;font-weight:800;color:#756743;font-variant-numeric:tabular-nums;white-space:nowrap}
.talent-card-head h3{font-size:13px;margin:0}.talent-ranks{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;align-items:center}.talent-ranks>span,.talent-ranks>i{display:block;width:100%;height:5px;border:1px solid #bfaf83;background:#e9e1cb;border-radius:2px}.talent-ranks .filled{background:#98b94b;border-color:#617c30}
.talent-costs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:-3px 0 17px}.talent-costs span{font-size:9px;line-height:1.7;padding:7px 3px;text-align:center;border-bottom:2px solid #c0b288;color:#76653e}.talent-costs b{display:block;font-size:10px;color:var(--ink)}.talent-training{margin-top:17px;padding:12px 14px;background:#edf2d7;border:1px solid #b3bf87;border-radius:8px}.talent-training>b{font-size:12px}.talent-training p{font-size:10px;line-height:1.8;color:#716644;margin:6px 0 0}
.talent-buff{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:10px;line-height:1.5;color:#665a3f}.talent-buff b,.talent-buff strong{font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums}.talent-cap{font-size:9px;line-height:1.5;color:#847658;margin:-2px 0 0}.talent-card p{margin:0}
.talent-add{width:100%;min-height:42px;display:flex;justify-content:center;align-items:center;gap:6px;margin-top:auto;border:1.5px solid var(--ink);border-radius:6px;background:var(--green);font-size:11px;font-weight:900;box-shadow:1px 2px 0 #292c2244}
.talent-add:disabled{background:#ece7d7;border-color:#c6bfa9;box-shadow:none;opacity:1;color:#8a826c}.talent-card.maxed .talent-add:disabled{background:#e3eac7;color:#657744;border-color:#b4c38b}.talent-add small{font-size:9px;font-weight:500}
.talent-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:22px 0 9px}.talent-section-heading h3{font-size:12px;margin:0;font-weight:900}.talent-section-heading>span{font-size:9px;color:#857454}
.talent-stages{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.talent-stage{min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;border:1px dashed #c8b992;border-radius:6px;background:#f9f2df;color:#847456;text-align:center;padding:7px 3px}.talent-stage b{font-size:11px;color:#6c5d3f}.talent-stage small{font-size:8px}.talent-stage.completed{background:#e9efcd;border:1px solid #a5b679;color:#56712b}.talent-stage.completed b{color:#4b6228}.talent-stage span{line-height:1.3}
.talent-tasks{display:grid;gap:7px}.talent-task{border:1px solid #d1c4a3;border-radius:7px;padding:10px 12px;background:#fffdf4}.talent-task-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;line-height:1.5}.talent-task-heading b{font-size:10px;font-weight:800}.talent-task-heading>span{font-size:9px;font-weight:800;white-space:nowrap;color:#8d6832}.talent-task-progress{height:4px;border-radius:3px;background:#e6deca;overflow:hidden;margin-top:8px}.talent-task-progress>i,.talent-task-progress>span{display:block;height:100%;max-width:100%;border-radius:3px;background:#e5b347}.talent-task-note{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:8px;line-height:1.5;color:#8b7b5c;margin-top:5px;font-variant-numeric:tabular-nums}.talent-task.completed{background:#f0f3dd;border-color:#bdc99a}.talent-task.completed .talent-task-heading>span{color:#607a30}.talent-task.completed .talent-task-progress>i,.talent-task.completed .talent-task-progress>span{background:#91af4e}.talent-task-badge{background:#dfebbf;padding:2px 6px;border-radius:4px;font-size:8px;color:#56712d;white-space:nowrap}
.talents-footer{border-top:1px solid #d3c5a6;padding-top:15px;margin-top:20px;display:flex;align-items:center;gap:15px}.talent-reset-btn{background:#fffcf0;border:1px solid #b9ab8b;border-radius:6px;padding:10px 11px;min-height:42px;flex-shrink:0;font-size:10px;font-weight:700}.talent-reset-btn:disabled{opacity:1;color:#aaa28e;border-color:#d8d0bc;background:#f3efdf}.talent-save-hint{font-size:8px;line-height:1.8;color:#8a7c60;margin:0}
.talent-reward{border:1.5px dashed #b6a164;background:#faf0c7;border-radius:8px;padding:12px 14px;text-align:left;font-size:11px;line-height:1.8;color:#70613e;margin-top:-7px}.talent-reward:empty{display:none}.talent-reward b,.talent-reward strong{color:#607a2f;font-size:13px}.talent-reward p{margin:2px 0 0;font-size:9px}.talent-reward ul{padding-left:17px;margin:5px 0 0;font-size:9px}.result-talents-btn{width:100%;min-height:42px;margin-top:13px;background:#f0e7c8;border-color:#bbaa81;box-shadow:none;font-size:11px}
.talent-combat-info{font-size:7px;line-height:1.5;color:#75834d;border-top:1px dashed #d8ccad;margin-top:6px;padding-top:5px;font-variant-numeric:tabular-nums}.talent-combat-info:empty{display:none}
@media(max-width:480px){.talent-entry{margin-top:12px;padding:9px 10px}.talent-entry-copy small{font-size:8px}#talents{padding:13px}.talents-modal{padding:24px 17px 19px;max-height:calc(100dvh - 26px);scrollbar-gutter:auto}.talents-modal h2{font-size:23px;letter-spacing:-.6px}.talents-modal .modal-close{right:16px;top:16px}.talents-intro{font-size:10px}.talent-wallet{padding:11px 12px}.talent-wallet>div{gap:9px}.talent-wallet strong{font-size:31px}.talent-wallet>div>span{font-size:10px}.talent-wallet p{font-size:8px}.talent-card{padding:10px;gap:8px}.talent-cards{gap:8px}.talent-card-head{gap:5px;flex-wrap:wrap}.talent-icon{width:27px;height:27px;font-size:20px}.talent-name{font-size:12px}.talent-level{font-size:8px}.talent-buff{font-size:9px;flex-wrap:wrap}.talent-buff b,.talent-buff strong{font-size:15px}.talent-cap{font-size:8px}.talent-add{font-size:10px;min-height:43px}.talent-section-heading>span{font-size:8px}.talent-stages{gap:4px}.talent-stage{font-size:8px;min-height:44px;padding:6px 2px}.talent-stage b{font-size:10px}.talent-stage small{font-size:7px}.talent-task{padding:9px 10px}.talents-footer{flex-direction:column;align-items:stretch;gap:10px;padding-top:13px;margin-top:17px}.talent-save-hint{text-align:center;font-size:8px}.talent-reset-btn{min-height:43px}.talent-reward{font-size:10px}}
@media(max-height:520px) and (orientation:landscape){#talents{padding:12px}.talents-modal{max-height:calc(100dvh - 24px);padding-top:21px;padding-bottom:18px}.talents-modal h2{font-size:23px}.talent-wallet{margin-bottom:13px}.talent-section-heading{margin-top:17px}}
