:root{font-family:Noto Sans SC,PingFang SC,sans-serif;color:#293b3d;background:#e8e9df;--ink:#293b3d;--muted:#87908a;--paper:#f8f4e7;--orange:#d96d3d;--blue:#4e8d9a;--line:#d6d8c9;--shadow:0 10px 35px #23382c12}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #e7a552;outline-offset:3px}button:disabled{cursor:default;opacity:.45}button{transition:filter .15s,transform .15s}button:not(:disabled):active{transform:translateY(2px)}button:not(:disabled):hover{filter:brightness(1.06)}.layout{display:grid;grid-template-columns:1fr minmax(360px,520px) 1fr;min-height:100dvh;max-width:1440px;margin:auto;background:radial-gradient(ellipse at 50% 20%,#f8f5e5 0,transparent 60%)}.brand,.notes{align-self:center;padding:50px 35px;position:sticky;top:60px}.brand{padding-left:clamp(25px,5vw,80px)}.brand-mark{font-size:15px;border:1px solid var(--ink);width:51px;height:26px;letter-spacing:6px;text-align:center;transform:rotate(-4deg);font-weight:800}.brand-mark span{color:var(--orange)}.brand>p:first-of-type{font-size:9px;letter-spacing:1px;margin:15px 0 35px;color:var(--muted)}.brand h1{font-size:clamp(35px,4vw,58px);line-height:1.35;letter-spacing:3px;margin:0;font-weight:900}.brand h1 span{color:var(--orange)}.brand-rule{height:3px;width:38px;background:var(--orange);margin:26px 0}.brand-copy{font-size:17px;line-height:1.9;color:#687874}.brand>small{font-size:10px;letter-spacing:2px;color:#8a948d}.seal{font-size:15px;border:2px solid #b87954;color:#b87954;transform:rotate(-12deg);width:128px;text-align:center;padding:12px;margin:50px 0 35px;border-radius:3px;opacity:.7}.seal b{font-size:10px;letter-spacing:3px}.notes{padding-left:45px;max-width:300px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#89958d;font-weight:700}.notes h3{font-size:24px;line-height:1.7;letter-spacing:1px;font-weight:600}.note-line{height:1px;background:#cdd2c8;margin:25px 0}.note-item{display:flex;gap:18px;margin:22px 0}.note-item>b{font-size:11px;color:#b89c6c;padding-top:3px}.note-item p{font-size:13px;margin:0;font-weight:600}.note-item small{display:block;font-size:10px;font-weight:400;color:#8b948a;margin-top:6px;line-height:1.6}.field-stamp{font-size:10px;letter-spacing:2px;color:#9da69b;margin-top:60px;line-height:2}.field-stamp b{font-size:9px;font-weight:400}.game{width:100%;height:100dvh;min-height:690px;max-height:1080px;display:flex;flex-direction:column;background:var(--paper);border-left:1px solid #d2d7ca;border-right:1px solid #d2d7ca;box-shadow:0 0 60px #394c3b0d;position:relative;overflow:hidden}header{display:flex;justify-content:space-between;align-items:center;padding:17px 22px 10px;flex-shrink:0}.wordmark{font-size:15px;letter-spacing:1px;font-weight:800;display:flex;align-items:center;gap:7px}.wordmark small{font-size:8px;letter-spacing:1px;background:#e6e7da;padding:3px 5px;font-weight:600;color:#858e80}.tiny-bomb{color:var(--orange);font-size:24px;line-height:1}.header-tools{display:flex;gap:7px}.icon-btn{background:transparent;border:0;font-size:19px;width:30px;height:30px;color:#718079}.mission{padding:8px 24px 12px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.mission .eyebrow{font-size:8px;letter-spacing:1.3px}h2{margin:3px 0 0;font-size:23px;letter-spacing:1px}.mission h2 span{font-weight:500;font-size:11px;border-left:1px solid #c9d0c3;margin-left:9px;padding-left:12px;color:#889287;vertical-align:middle}.wallet{font-size:24px;font-weight:800}.wallet>span{color:#b88c42;font-size:19px}.wallet small{font-size:9px;color:#8e978b;display:block;text-align:right;font-weight:500;margin-top:0}.progress-steps{display:flex;align-items:center;padding:0 24px 12px;gap:15px;flex-shrink:0}.progress-steps>span{font-size:9px;border:1px solid #cdd4c7;color:#9da799;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;position:relative}.progress-steps>span:not(:nth-child(6)):after{content:"";position:absolute;width:14px;height:1px;background:#d6dacd;left:18px;top:8px}.progress-steps>span.active{background:var(--ink);border-color:var(--ink);color:#fff}.progress-steps>span.boss{border-color:#c9ab7c;color:#b08349}.progress-steps>span.boss.active{background:#c18f4b;color:#fff}.progress-steps label{font-size:9px;color:#8b9488;margin-left:auto}.scene{position:relative;flex:1;min-height:185px;overflow:hidden;background:#a6bcae;isolation:isolate}.scene-top{position:absolute;top:13px;left:20px;right:20px;display:flex;justify-content:space-between;z-index:2;align-items:center}.location{font-size:8px;letter-spacing:1.4px;color:#4e6c61}.tag{font-size:9px;color:#466358;border:1px solid #779d86;padding:3px 8px;border-radius:3px;background:#ced9bb66}.health{z-index:2;position:absolute;top:48px;width:185px;left:50%;transform:translate(-50%)}.health-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#3f6253;margin-bottom:6px}.health-label strong{font-size:13px;color:#284b3e}.health-label strong small{font-weight:400;font-size:9px}.health-track{height:5px;background:#78958445;border-radius:4px;overflow:hidden;box-shadow:0 1px #fff4}.health-track i{display:block;height:100%;background:#dd7c48;transition:width .5s}.tower-wrap{position:absolute;top:66px;right:0;bottom:13px;left:0;display:flex;align-items:center;justify-content:center;transform-origin:50% 88%}.tower{height:100%;max-width:100%;object-fit:contain;mix-blend-mode:normal;filter:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-mask-image:linear-gradient(transparent,#000 5%,#000 96%,transparent);mask-image:linear-gradient(transparent,#000 5%,#000 96%,transparent)}.sky-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;z-index:1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23332' filter='url(%23n)' opacity='.4' d='M0 0h150v150H0z'/%3E%3C/svg%3E")}.ground-line{position:absolute;left:10%;right:10%;bottom:19px;height:1px;background:#7497854d}.scene-caption{position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:9px;color:#4d6e5d;letter-spacing:.5px;z-index:2;background:#b5c7af88;padding:3px}.console{padding:13px 20px 0;position:relative;background:var(--paper);flex-shrink:0;border-top:1px solid #e6e5d7}.console-top{display:flex;justify-content:space-between;align-items:center}.resource{display:flex;gap:5px;align-items:center;font-size:10px;color:#67766d}.resource b{font-size:14px;color:var(--ink);margin-left:2px}.resource small{font-size:9px;color:#97a08f}.blue-dot,.orange-dot{display:inline-block;width:5px;height:5px;background:#5b98a2;border-radius:50%}.orange-dot{background:#d88852;margin-left:13px}.text-btn{background:none;border:none;font-size:11px;padding:3px 0;color:#667d72}.text-btn span{background:#dfe5d8;border-radius:50%;padding:0 4px;font-size:9px}.coach{font-size:10px;line-height:1.7;min-height:39px;padding:9px 0 6px;color:#87917e}.coach b{color:#657b68;margin-right:5px;font-weight:600}.hand{display:flex;justify-content:center;align-items:flex-end;height:87px;gap:0;padding-top:15px}.card{position:relative;border:0;padding:0;background:none;width:12.5%;height:65px;flex-shrink:1;transition:transform .2s,opacity .2s;display:flex;align-items:center;flex-direction:column;justify-content:flex-start}.card.selected{transform:translateY(-14px)}.card-point{font-size:8px;margin-top:6px;white-space:nowrap;opacity:.55}.card.scoring .card-point{opacity:1;color:#bd6d3f}.card.selected .bomb:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1.5px solid #dca455;border-radius:50%;box-shadow:0 0 0 3px #e8c78e22}.check{font-size:8px;background:#be9554;color:#fff;border-radius:50%;position:absolute;right:2px;top:-4px;width:13px;height:13px;z-index:3}.bomb{width:43px;height:43px;border-radius:50%;display:inline-flex;position:relative;align-items:center;justify-content:center;flex-shrink:0;background:radial-gradient(circle at 32% 23%,color-mix(in srgb,var(--bomb),white 25%),var(--bomb) 57%,color-mix(in srgb,var(--bomb),#263f38 32%));box-shadow:inset -3px -4px 4px #162e3524,0 5px 7px #263f3825;border:1px solid #ffffff35}.bomb b{font-size:21px;color:#fff9eb;text-shadow:0 1px 2px #203c374d;font-family:Georgia,serif;line-height:1;margin-top:-3px;z-index:1}.bomb em{font-size:8px;position:absolute;bottom:4px;color:#fff9eb;font-style:normal;line-height:1}.bomb-shine{position:absolute;top:7px;left:6px;transform:rotate(-35deg);width:10px;height:5px;border-radius:50%;background:#ffffff3a}.fuse{position:absolute;top:-7px;right:8px;width:10px;height:10px;border:3px solid #636958;border-bottom:none;border-right:none;border-radius:7px 0 0;transform:rotate(27deg)}.fuse:after{content:"✦";position:absolute;top:-9px;left:0;color:#e6aa51;font-size:12px;font-style:normal;text-shadow:0 0 6px #ffe7a2}.sort-row{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8c9887;margin:4px 0 9px}.sort-row b{color:#596d5c}.sort-row small{font-size:9px;color:#a1a895}.sort-row>div{display:flex;gap:3px}.sort-row button{font-size:9px;background:#eaeadd;border:0;padding:4px 9px;border-radius:3px;color:#74816f}.scoreboard{position:relative;display:flex;align-items:center;background:#eeeee0;border:1px solid #dce1d0;border-radius:7px;padding:10px 12px;gap:10px}.combo{min-width:77px;border-right:1px solid #d3dac8;padding-right:12px}.combo>span{display:block;font-size:8px;color:#8b9783}.combo strong{display:block;font-size:18px;font-weight:800;line-height:1.5}.combo small{display:block;font-size:8px;color:#88967f}.score-math{display:flex;align-items:center;justify-content:space-around;flex:1;gap:8px}.score-math>span{font-size:25px;font-family:Georgia,serif;font-weight:700;text-align:center;line-height:1.1}.score-math small{font-size:8px;display:block;font-family:Noto Sans SC,sans-serif;font-weight:400;white-space:nowrap;margin-top:5px;color:#84917c}.chips{color:#438b9b}.mult{color:#ca6b4b}.score-math>b{color:#a2ac94;font-size:13px;font-weight:400}.score-math .total{font-size:26px;color:#465d45;min-width:45px}.scoreboard>button{position:absolute;right:4px;top:2px;border:none;background:none;padding:0;font-size:10px;color:#a2ae96}.actions{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;margin-top:10px}.actions>button{border:0;border-radius:6px;font-size:18px;font-weight:800;letter-spacing:1px;padding:9px 6px 8px;box-shadow:0 3px #273b3e19}.actions small{display:block;font-size:8px;font-weight:400;letter-spacing:.5px;margin-top:3px;opacity:.85}.discard{background:#dce7e1;color:#5b827b}.fire{background:#da7344;color:#fff5df;text-shadow:0 1px 0 #9c492944}.equipment-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0 7px;font-size:10px;color:#697b69}.equipment-head small{font-size:8px;color:#a1aa95;padding-left:4px}.equipment-head>span:last-child{font-size:8px;color:#a1aa95}.equipment{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.device,.empty-device{border:1px dashed #cdd7c4;height:49px;background:#f0f0e3;border-radius:5px;text-align:center;color:#a7b39a;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}.empty-device b{font-size:15px;font-weight:400}.device b{font-size:20px;line-height:1}.device span,.empty-device span{font-size:8px}.device{background:#ece6d1;border:1px solid #ccb989;color:#8b794d}.device b{color:#ab8b48}footer{display:flex;justify-content:space-between;padding:11px 20px 12px;font-size:8px;color:#a0aa94;align-items:center;flex-shrink:0}footer button{border:0;background:none;font-size:8px;padding:0;color:#889a80}#fx{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:7}#impact{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:8;pointer-events:none}.attack-name{text-align:center;font-size:30px;font-weight:900;color:#fff7db;text-shadow:0 3px 1px #264535;animation:attack .65s both}.attack-name small{display:block;font-size:19px;color:#ffe0a7}.damage-number{font-family:Georgia,serif;font-size:62px;font-weight:800;color:#fff2c6;text-shadow:0 3px 0 #a55b36,0 0 30px #f4a152;animation:number 1s both}.damage-number small{display:block;font-family:Noto Sans SC,sans-serif;font-size:13px;letter-spacing:6px;text-align:center;color:#fff7e5}.damage-number.lethal{font-size:75px}.flying-bomb{position:absolute;bottom:-55px;left:calc(50% - 22px);z-index:6;animation:fly .7s cubic-bezier(.2,.6,.5,1) both}.flying-bomb .bomb{transform:scale(1.5)}.shake{animation:shake .45s both}.hit{animation:hit .5s}.collapsing{animation:collapse 1.6s ease-in both}.damage-smoke{display:none;position:absolute;border-radius:50%;background:radial-gradient(#4d4e4299,transparent 70%);width:70px;height:120px;filter:blur(7px);left:45%;bottom:25%;animation:smoke 3s infinite;pointer-events:none}.damaged .damage-smoke{display:block}.smoke-b{left:30%;bottom:15%;animation-delay:-1s}.damaged .tower{filter:none}@keyframes fly{0%{transform:translate(0) scale(1.2)}75%{transform:translate(var(--offset),-180px) scale(.7)}to{transform:translate(var(--offset),-140px) scale(.2);opacity:0}}@keyframes shake{15%,55%{transform:translate(-5px)}35%,75%{transform:translate(5px)}}@keyframes attack{0%{transform:scale(.7);opacity:0}35%{transform:scale(1.1);opacity:1}to{transform:scale(1.2);opacity:0}}@keyframes number{0%{transform:scale(.4);opacity:0}20%{transform:scale(1.1);opacity:1}75%{opacity:1}to{transform:translateY(-45px);opacity:0}}@keyframes hit{25%{filter:brightness(1.8);transform:rotate(2deg)}60%{transform:rotate(-1deg)}}@keyframes collapse{0%{filter:brightness(1.8)}25%{transform:rotate(5deg)}50%{transform:translateY(30px) rotate(-6deg);filter:brightness(.7)}to{transform:translateY(130px) scaleY(.2) rotate(12deg);opacity:0}}@keyframes smoke{0%{transform:translateY(20px) scale(.6);opacity:0}40%{opacity:.8}to{transform:translateY(-70px) scale(1.5);opacity:0}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#203b35a6;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:20px}.modal{width:min(500px,100%);max-height:90dvh;background:var(--paper);border-radius:12px;box-shadow:0 25px 100px #10292355;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e0deca}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:23px 24px 0}.modal-header h2{font-size:24px;letter-spacing:1px}.close-btn{font-size:26px;line-height:1;border:0;background:#e6e9dc;border-radius:50%;width:32px;height:32px;font-weight:300;color:#6b8070}.modal-sub{font-size:11px;color:#8b9785;line-height:1.8;margin:9px 24px 16px}.modal-body{padding:0 24px 24px;overflow:auto;overscroll-behavior:contain}.guide-intro{padding:13px;background:#e5ebdb;border-radius:6px;margin-bottom:15px}.guide-intro b{font-size:12px;color:#536f55}.guide-intro span{font-size:10px;display:block;color:#7a8c70;margin-top:5px}.guide-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guide-item{border:1px solid #e0e3d2;border-radius:7px;padding:12px 10px;background:#f2f0e2}.guide-item.beginner{border-color:#d0ba87}.guide-title{display:flex;align-items:center;gap:5px}.guide-title>b{font-size:13px}.guide-title>span{font-size:8px;color:#8b987e}.guide-title>em{font-size:10px;color:#bf8455;margin-left:auto;font-style:normal}.example{display:flex;gap:5px;margin:18px 0 9px}.bomb.mini{width:25px;height:25px;box-shadow:0 2px 3px #203b3515}.bomb.mini b{font-size:12px;margin-top:-2px}.bomb.mini em{font-size:5px;bottom:2px}.bomb.mini .fuse{transform:scale(.6) rotate(27deg);top:-7px;right:2px}.bomb.mini .bomb-shine{width:5px;height:3px;top:4px;left:3px}.guide-item p{font-size:10px;line-height:1.8;color:#89917f;margin:0}.guide-item>small{font-size:8px;color:#b08b4b;margin-top:8px;display:block}.fine-print{font-size:10px;line-height:1.9;color:#8d9985;margin:17px 0 0}.detail-total{font-size:52px;font-family:Georgia,serif;text-align:center;color:#ca7447;margin:20px 0 25px}.detail-total small{display:block;font-size:10px;color:#8c9983;font-family:Noto Sans SC,sans-serif}.detail-line{font-size:12px;border-bottom:1px solid #e2e4d5;padding:13px 0;color:#647c61}.empty-text{font-size:14px;text-align:center;line-height:2;margin:30px 0;color:#6d8064}.device-preview{text-align:center;font-size:60px;color:#af955d;background:#ede6cf;border-radius:10px;padding:15px}.primary,.secondary{border:0;border-radius:6px;padding:13px 16px;font-size:13px;font-weight:700}.primary{background:var(--orange);color:#fff5df;box-shadow:0 3px #b6512a}.secondary{background:#e4e9dc;color:#6a8162;border:1px solid #d6ddcb}.full{width:100%;margin-top:20px}.menu-buttons{display:flex;flex-direction:column;gap:12px;margin-top:10px}.victory-symbol{font-size:85px;text-align:center;color:#cb944a;line-height:1.6}.reward-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e1e4d3;font-size:12px;color:#7f8e74}.reward-line b{color:#a78646}.total-reward{border:0;font-size:15px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:60;background:#304c40;color:#faf3df;font-size:12px;padding:13px 20px;border-radius:7px;box-shadow:0 6px 20px #152d3322;max-width:90vw;text-align:center;white-space:normal}.shop-modal{width:min(550px,100%)}.shop-lesson{background:#e6ebdc;border:1px solid #d6dfc8;padding:12px;border-radius:7px;display:flex;gap:13px;align-items:center}.planet-orbit{font-size:33px;color:#aa9162}.shop-lesson b{font-size:12px;color:#5e7857}.shop-lesson p{font-size:10px;line-height:1.8;color:#8b997d;margin:4px 0 0}h4{font-size:11px;letter-spacing:.5px;font-weight:700;color:#647b5c;margin:20px 0 12px}h4>span{font-size:8px;color:#9aa68b;float:right;font-weight:400;letter-spacing:0}.planets{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.planet-card{border:1px solid #d6d9c5;background:#eeeeda;border-radius:8px;display:flex;flex-direction:column;text-align:center;align-items:center;padding:12px 7px;--planet:#678da0}.p-1{--planet:#b5865e;background:#f2e8d6}.p-2{--planet:#8e80a6;background:#ebe6ec}.planet-icon{font-size:41px;line-height:1.3;color:var(--planet);text-shadow:0 2px 0 #ffffff66}.planet-card>b{font-size:13px;color:#52634b;margin-top:5px}.planet-card>small{font-size:8px;color:#8a967e;margin:5px 0}.level-change{font-size:9px;color:var(--planet);background:#fff5;border-radius:10px;padding:3px 8px;margin:5px 0}.upgrade-values{font-size:12px;color:#98a187}.upgrade-values strong{display:block;font-size:12px;color:#bba16b;line-height:1.2}.upgrade-values b{color:var(--planet);font-size:18px;font-family:Georgia,serif}.planet-card button{background:var(--planet);color:#fff6df;border:0;border-radius:4px;font-size:11px;padding:7px;width:100%;margin-top:7px}.shop-devices{display:flex;flex-direction:column;gap:8px}.shop-devices article{display:flex;gap:12px;align-items:center;border:1px solid #dde1cf;border-radius:6px;padding:10px;background:#f0efdf}.shop-device-icon{background:#e4dfc5;color:#9f8754;font-size:25px;width:42px;height:42px;border-radius:6px;display:grid;place-items:center;flex-shrink:0}.shop-devices article>div:nth-child(2){flex:1}.shop-devices b{font-size:12px;color:#6f7c5c}.shop-devices p{font-size:9px;color:#939d83;margin:5px 0 0;line-height:1.6}.shop-devices button{background:#e4dbc0;border:0;border-radius:4px;padding:8px 10px;font-size:11px;color:#93783f;min-width:50px}.shop-actions{display:flex;gap:12px;margin-top:19px}.shop-actions>*{flex:1}.owned-devices{font-size:9px;color:#8d987f;margin-top:14px;line-height:2}.owned-devices button{border:1px solid #d6dcc6;background:#e8ead8;color:#7b8765;border-radius:3px;font-size:9px;margin:3px;padding:3px 7px}.owned-devices small{display:block;font-size:8px;color:#a0aa91}@media(max-width:1050px){.layout{grid-template-columns:1fr minmax(360px,500px) 1fr}.brand,.notes{padding:30px 20px}.brand h1{font-size:37px}.notes h3{font-size:19px}.note-item{gap:10px}.notes{padding-left:25px}.brand-mark{margin-top:10px}}@media(max-width:800px){.layout{display:flex;justify-content:center}.brand,.notes{display:none}.game{max-width:520px}.modal-backdrop{padding:14px}.modal{max-height:94dvh}}@media(max-width:420px){.game{min-height:650px;border:0}header{padding:11px 15px 6px}.wordmark{font-size:13px}.mission{padding:6px 16px 9px}.mission h2{font-size:21px}.progress-steps{padding:0 16px 9px;gap:12px}.progress-steps>span:not(:nth-child(6)):after{width:11px}.console{padding:11px 13px 0}.coach{font-size:9px;min-height:40px}.bomb{width:36px;height:36px}.bomb b{font-size:19px}.bomb em{font-size:7px;bottom:3px}.hand{height:77px}.card{height:56px}.card-point{font-size:7px}.scoreboard{gap:7px;padding:9px}.combo{min-width:65px;padding-right:8px}.combo strong{font-size:16px}.score-math{gap:5px}.score-math>span{font-size:22px}.score-math .total{font-size:23px}.score-math small{font-size:7px}.actions>button{font-size:17px}.equipment-head{margin-top:11px}.equipment{gap:5px}.device,.empty-device{height:43px}footer{padding:10px 14px}.resource{font-size:9px}.text-btn{font-size:10px}.progress-steps label{font-size:8px}.modal-header{padding:20px 17px 0}.modal-sub{margin:8px 17px 13px;font-size:10px}.modal-body{padding:0 17px 20px}.modal-header h2{font-size:21px}.guide-item{padding:10px 8px}.example{gap:3px}.bomb.mini{width:23px;height:23px}.planets{gap:6px}.planet-card{padding:9px 5px}.planet-card>b{font-size:12px}.planet-card>small{font-size:7px}.shop-lesson b{font-size:11px}.shop-lesson p{font-size:9px}}@media(max-height:740px)and (min-width:421px){.game{min-height:680px}header{padding-top:10px}.mission{padding-top:4px;padding-bottom:8px}.console{padding-top:10px}.equipment-head{margin-top:10px}.hand{height:80px}.actions>button{padding:7px}.device,.empty-device{height:43px}footer{padding-top:8px;padding-bottom:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.shake,.hit,.damage-smoke{animation:none}.flying-bomb{animation-duration:.2s}.collapsing{animation-duration:.4s}}header{padding-top:12px;padding-bottom:7px}.mission{padding-top:5px;padding-bottom:9px}.progress-steps{padding-bottom:10px}.console{padding-top:10px}.coach{min-height:33px;padding-top:6px;padding-bottom:4px}.hand{height:76px}.card{height:61px}.scoreboard{padding:8px 10px}.actions>button{font-size:17px;padding:8px 6px}.equipment-head{margin-top:10px}.device,.empty-device{height:42px}footer{padding-top:9px;padding-bottom:9px}.tower{-webkit-mask-image:radial-gradient(ellipse 52% 54% at 50% 49%,#000 66%,transparent 99%);mask-image:radial-gradient(ellipse 52% 54% at 50% 49%,#000 66%,transparent 99%)}@media(max-height:690px){.game{min-height:0;height:100dvh}.scene{min-height:115px}.mission .eyebrow,.progress-steps label{display:none}.mission{padding-bottom:6px}.progress-steps{padding-bottom:7px}.console{padding-top:7px}.coach{min-height:29px;padding-top:4px;font-size:9px}.hand{height:62px}.card{height:48px}.card-point{display:none}.sort-row{margin:2px 0 5px}.scoreboard{padding:5px 8px}.combo strong{font-size:15px;line-height:1.3}.combo small{font-size:7px}.score-math>span,.score-math .total{font-size:21px}.actions{margin-top:7px}.actions>button{font-size:15px;padding:6px}.equipment-head{margin:8px 0 5px}.equipment .device,.empty-device{height:33px}.device b{font-size:16px}.equipment .empty-device span{display:none}footer{padding-top:6px;padding-bottom:6px}.tower-wrap{top:52px;right:0;bottom:6px;left:0}.scene-top{top:8px}.health{top:31px}.scene-caption{font-size:8px;bottom:3px}}.modal-actions{flex-shrink:0;padding:12px 20px 18px;background:var(--paper);border-top:1px solid #dce1ce;box-shadow:0 -7px 15px #f8f4e7}.modal-actions .shop-actions{margin:0}.modal-body{min-height:0}.modal-header,.modal-sub{flex-shrink:0}.toast{pointer-events:none}.flying-bomb.finisher .bomb{transform:scale(2.8);box-shadow:0 0 30px #ffc76277,inset -3px -4px 4px #162e3524}.scene.shake:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff2cd;z-index:5;pointer-events:none;animation:flash .4s both}@keyframes flash{0%{opacity:.8}to{opacity:0}}@media(max-height:690px){.game footer,.game .progress-steps,.game .equipment-head{display:none}.game .equipment{margin-top:9px;margin-bottom:10px}.scene{min-height:125px}.card{height:44px}.hand{height:59px}}.guide-list{grid-template-columns:repeat(2,minmax(0,1fr))}.planets{grid-template-columns:repeat(3,minmax(0,1fr))}.planet-card{min-width:0}.planet-card button{padding-left:2px;padding-right:2px}@media(max-width:360px){.guide-list{grid-template-columns:1fr}.guide-item{padding:13px}.example{gap:7px}.guide-item p{font-size:11px}.guide-title>b{font-size:15px}.planet-card>b{font-size:11px}.planet-card button{font-size:9px}.shop-actions .primary,.shop-actions .secondary{font-size:11px;padding:12px 8px}}.campaign-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#e9ebdc;border:0;border-top:1px solid #d9deca;padding:8px 20px;font-size:10px;flex-shrink:0}.chapter-label{font-weight:800;color:#526b54}.chapter-dots{display:flex;gap:7px}.chapter-dots i{font-style:normal;font-size:8px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#d8dfcd;color:#7d8d71}.chapter-dots i.active{background:#657f5b;color:#fff}.campaign-strip>b{font-size:9px;color:#6a7f60}.scene{background:var(--scene-color,#a6bcae)}.tower-wrap{transform:scale(var(--tower-scale,1))}.tower{-webkit-mask-image:radial-gradient(ellipse 53% 55% at 50% 50%,#000 65%,transparent 99%);mask-image:radial-gradient(ellipse 53% 55% at 50% 50%,#000 65%,transparent 99%)}.coach{background:#fff2be;color:#654716;border:1px solid #d7a94d;border-left:4px solid #df8a29;box-shadow:0 2px 6px #a4751c12;border-radius:5px;font-size:11px;font-weight:600;line-height:1.7;margin-top:7px;padding:7px 9px;min-height:38px}.coach b{color:#a24f12;font-weight:900}.tutorial-coach{background:#ffe7a0;border-color:#d58b27;color:#64340e;font-size:12px;box-shadow:0 0 0 2px #f0bb4a33}.tutorial-coach b{display:inline-block;color:#8d370d}.tutorial-target .bomb{outline:2px solid #efbb4f;outline-offset:4px}.tutorial-target:not(.selected) .bomb{animation:target-glow 1.5s ease-in-out infinite}.card.selected .bomb{outline:2px solid #f0af37;box-shadow:0 0 12px #e6a13266}.scene-caption{font-size:10px;font-weight:700;color:#244836;background:#d4e2c9dd;line-height:1.6;padding:5px 10px}.tag{font-weight:800}.text-btn{color:#2f6f63;font-weight:800;background:#e0ead8;padding:5px 7px;border-radius:4px}.sort-row button{color:#536c48;font-weight:600}.equipment-head>span:last-child{color:#647758}.modal-sub{color:#637957;font-size:12px}.fine-print{color:#6d805f}.guide-item p{color:#526b48;font-size:11px}.guide-intro{border:1px solid #aaba88;background:#e1edca}.guide-intro b{font-size:14px;color:#426638}.guide-intro span{color:#597446;font-size:11px}.guide-item.beginner{background:#f9edca;border-color:#d6b565}.shop-lesson p{color:#617b50;font-size:11px}.shop-lesson b{font-size:13px;color:#476939}.planet-card>small{color:#697d55}.shop-devices p{color:#657c52;font-size:10px}.score-math .total{font-variant-numeric:tabular-nums}.score-math .total small{color:#5b784d}.device.jammed{background:repeating-linear-gradient(135deg,#e0dcd2 0,#e0dcd2 7px,#e9e5da 7px,#e9e5da 14px);filter:grayscale(1);position:relative}.device.jammed:after{content:"失效";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#9d462b;font-size:12px;font-weight:900;background:#f5ecddaa}.next-target,.boss-warning{background:#fff0c9;border:1px solid #d5ad65;border-radius:6px;padding:11px;color:#81522d;margin-top:16px;font-size:12px;line-height:1.8}.next-target b,.next-target span{display:block}.next-target span{font-size:10px;color:#82693e}.briefing-art{display:block;width:160px;height:160px;object-fit:cover;border-radius:50%;margin:0 auto 13px}.briefing-spec{display:flex;justify-content:space-between;font-size:13px;align-items:center}.briefing-spec span{font-size:11px;color:#738564}.blueprint-options{display:flex;flex-direction:column;gap:13px;margin-top:15px}.blueprint-options button{border:1px solid #b4bf91;background:#e7edcf;border-radius:7px;text-align:left;padding:18px;color:#476638}.blueprint-options b{font-size:16px}.blueprint-options span{display:block;font-size:12px;color:#748958;margin-top:7px}.map-chapter h3{font-size:16px;color:#55714e;margin:15px 0 5px}.map-chapter>p{font-size:10px;color:#81916f;margin:0 0 10px;line-height:1.8}.map-level{display:flex;align-items:center;gap:12px;border:1px solid #d7dec7;background:#f0f0dd;border-radius:6px;padding:12px;margin-bottom:8px}.map-level>span{color:#ad9969;font-weight:800;font-size:12px}.map-level>div{flex:1;min-width:0}.map-level b{font-size:12px;color:#5e7553}.map-level em{font-size:9px;font-style:normal;background:#e3e8d3;padding:2px 4px;margin-left:3px}.map-level small{font-size:9px;color:#8b997a;display:block;line-height:1.7;margin-top:4px}.map-level>strong{font-size:12px;color:#9a824f}.map-level.current{border:2px solid #ce9853;background:#fff0cc}.map-level.done{opacity:.6}.map-level.done>span{color:#4c875d}.sound-test{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding-top:8px}.sound-test>span{font-size:10px;color:#7d8c6b;margin-right:3px}.sound-test button{font-size:10px;background:#e2e8d3;border:1px solid #cdd7b9;border-radius:4px;padding:7px 9px;color:#637c52}.toast{background:#574522;color:#fff2c3;border:1px solid #ce9b41;font-weight:700;bottom:max(20px,env(safe-area-inset-bottom));max-width:92vw}.owned-devices button{padding:5px 7px;color:#5f734d}.health-label{font-size:10px}.health-label strong{font-size:14px}.health-track{height:7px}@keyframes target-glow{0%,to{filter:brightness(1);box-shadow:0 0 #e7ad4755}50%{filter:brightness(1.16);box-shadow:0 0 0 5px #e7ad4722}}@media(max-width:420px){.coach{font-size:10px;line-height:1.65;padding:6px 7px}.tutorial-coach{font-size:11px}.campaign-strip{padding:6px 15px}.chapter-dots{gap:5px}.scene-caption{font-size:9px;line-height:1.6}.hand{height:75px}.guide-item p{font-size:10px}.modal-sub{font-size:11px}}@media(max-height:690px){.campaign-strip{padding:4px 13px;font-size:9px}.chapter-dots i{width:13px;height:13px;font-size:7px}.coach{font-size:9px;padding:4px 6px;min-height:30px}.tutorial-coach{font-size:10px}.scene-caption{font-size:8px;padding:3px 6px}.briefing-art{width:110px;height:110px}.hand{height:57px}.console-top .text-btn{font-size:9px;padding:4px}.map-level{padding:9px}}@media(prefers-reduced-motion:reduce){.tutorial-target:not(.selected) .bomb{animation:none}}.tutorial-action:not(:disabled){box-shadow:0 0 0 3px #f1c257,0 0 18px #eca83f66}.tutorial-action:disabled{opacity:.65}.p-3{--planet:#7d9b65;background:#e9edda}.p-4{--planet:#b09550;background:#f0e9d4}.p-5{--planet:#947398;background:#eee2eb}.shop-tabs{display:flex;gap:7px;margin-top:14px}.shop-tabs button{flex:1;font-size:12px;font-weight:700;border:1px solid #c6d2b5;background:#e9eddd;color:#70825c;border-radius:5px;padding:10px 5px}.shop-tabs button.active{background:#5d7c58;color:#fff5dc;border-color:#5d7c58}.shop-pane[hidden]{display:none}.shop-pane .next-target{margin-top:13px}.shop-lesson{padding:10px}.shop-lesson p{font-size:10px}@media(max-height:620px){.game header{padding-top:7px;padding-bottom:4px}.game .mission{padding-top:3px;padding-bottom:5px}.mission h2{font-size:19px}.hand{height:49px;padding-top:9px}.card{height:44px}.scoreboard .combo small{display:none}.scoreboard{padding-top:5px;padding-bottom:5px}.equipment .device,.equipment .empty-device{height:27px}.device span{display:none}.equipment .device b{font-size:18px}.tower-wrap{top:42px;right:0;bottom:6px;left:0}.health{top:25px}.health-label strong{font-size:12px}.scene-top{top:6px}.scene-caption{font-size:8px;padding:2px 5px}}html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.layout{display:flex;justify-content:center;max-width:none}.game{height:auto;min-height:100dvh;max-height:none;max-width:560px;overflow:visible;flex-shrink:0}.game header{padding:10px 12px;gap:9px;min-height:48px}.level-title{flex:1;min-width:0;padding:7px 0;text-align:left;background:none;border:0;font-size:clamp(11px,3.2vw,14px);font-weight:800;white-space:nowrap;letter-spacing:0}.wallet{font-size:14px;white-space:nowrap;color:#987138}.game .scene{flex:none;height:max(330px,48dvh);min-height:330px;max-height:560px}.game .tower-wrap{top:56px;right:0;bottom:22px;left:0;transform:none}.tower{object-fit:contain;width:100%;height:100%}.game .scene-top{top:9px;left:14px;right:14px}.scene-top .location{font-size:10px}.scene-top .tag{font-size:9px}.game .health{top:34px}.game .scene-caption{font-size:11px;bottom:5px;white-space:nowrap;padding:3px 6px}.console{flex:none}.game .coach{font-size:clamp(10px,2.9vw,12px);min-height:32px;white-space:nowrap;padding:6px 7px}.game .hand{height:83px;padding-top:14px}.game .card{height:61px}.game .equipment-head{display:flex;margin:12px 0 6px}.game .equipment{margin:0 0 8px}.game .device,.game .empty-device{height:44px}.game .device span,.game .empty-device span{display:block}.game footer{display:flex;padding:10px 14px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.game .scoreboard .combo small{display:block}.game .scoreboard{padding:9px}.game .actions{margin-top:10px}.game .actions>button{padding:10px 5px}.game .card-point{display:block}.bomb b{margin-top:0}.bomb.crystal{border-radius:38% 44% 37% 43%;background:conic-gradient(from 25deg,color-mix(in srgb,var(--bomb),white 70%),var(--bomb),#eefaff,var(--bomb),color-mix(in srgb,var(--bomb),white 80%));border:2px solid #edffff;box-shadow:inset 3px 2px 6px #fff,inset -5px -6px 5px #3b608955,0 0 9px #9fe5ff88}.bomb.crystal:after{content:"";position:absolute;top:7%;right:7%;bottom:7%;left:7%;clip-path:polygon(50% 0,100% 38%,72% 100%,12% 76%,0 20%);border:1px solid #ffffffb0;background:linear-gradient(125deg,#ffffff66,transparent 45%,#ffffff88 47%,transparent 51%);pointer-events:none}.bomb.crystal b{z-index:2;text-shadow:0 1px 2px #17373d;color:#fff}.modal-header h2{font-size:21px;letter-spacing:0}.modal-sub{background:#e7edd9;border-left:3px solid #8eaa63;padding:9px 11px;margin-top:12px;color:#455d37;font-size:12px;line-height:1.6}.modal-body{padding-top:3px}.modal-body .fine-print{font-size:11px;line-height:1.9;background:#eeeedf;padding:10px;border-radius:5px}.shop-devices p{font-size:12px;line-height:1.6}.shop-devices b{font-size:14px}.shop-devices article{padding:12px 9px}.shop-lesson p{font-size:11px}.shop-modal h4{font-size:14px;padding-bottom:8px;border-bottom:1px solid #d1d9bf}.planets{gap:8px}.planet-card>small{font-size:10px}.planet-card .level-change{font-size:10px}.planet-card button{min-height:38px;font-size:11px}.modal-actions{padding-bottom:max(15px,env(safe-area-inset-bottom))}.shop-actions button{min-height:44px}.damage-cracks,.damage-fire{display:none;pointer-events:none}.damaged .damage-cracks{display:block;position:absolute;top:22%;right:32%;bottom:18%;left:32%;background:#302b25aa;clip-path:polygon(30% 0,39% 29%,31% 36%,50% 55%,46% 74%,60% 100%,51% 72%,55% 52%,36% 34%,43% 28%)}.damaged .damage-smoke{width:110px;height:150px;background:radial-gradient(ellipse,#383a37a0 10%,#54575170 35%,transparent 70%);filter:blur(9px);z-index:3}.smoke-a{left:47%;bottom:35%}.smoke-b{left:28%;bottom:20%}.critical .tower{filter:none;clip-path:polygon(0 0,57% 0,57% 12%,68% 17%,64% 26%,79% 29%,100% 25%,100% 100%,0 100%)}.critical .damage-fire{display:block;position:absolute;width:32px;height:63px;background:radial-gradient(ellipse at 50% 85%,#fff6ab 0 12%,#ffb837 25%,#e35e2290 50%,transparent 70%);filter:blur(2px);border-radius:65% 35% 45% 55%;animation:fire-flicker .4s infinite alternate;z-index:2;bottom:27%;left:39%}.critical .fire-b{bottom:48%;left:60%;animation-delay:-.2s}.critical .damage-smoke{width:140px;height:180px}.collapsing:after{content:"";position:absolute;top:55%;right:-10%;bottom:0;left:-10%;background:radial-gradient(ellipse,#c8b59bcc,transparent 70%);animation:dust-wave 1.5s both}.collapsing .tower{animation:break-apart 1.5s ease-in both}@keyframes fire-flicker{to{transform:scale(.8,1.25) skew(8deg);opacity:.7}}@keyframes dust-wave{0%{transform:scale(.2);opacity:0}40%{opacity:1}to{transform:scale(2.2,1.1);opacity:0}}@keyframes break-apart{30%{clip-path:polygon(0 20%,35% 0,45% 30%,65% 12%,100% 40%,100% 100%,0 100%)}to{transform:translateY(75px) scaleY(.15);opacity:0}}@media(prefers-reduced-motion:reduce){.critical .damage-fire{animation:none}}.skin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.skin-grid article{background:#e8eddf;border:1px solid #c4d2bb;padding:24px 8px 14px;text-align:center;border-radius:10px}.skin-grid article>div{height:75px;display:grid;place-items:center}.skin-grid .bomb{transform:scale(1.5)}.skin-grid h3{font-size:14px;margin:16px 0}.skin-grid button{font-size:12px;padding:10px}.game .tag{white-space:nowrap}.game .score-math{min-width:0}.game .scoreboard .combo{min-width:61px}.critical .tower{clip-path:none}.critical .damage-cracks{top:30%;right:28%;bottom:15%;left:28%;opacity:.9}.critical .damage-fire{width:138px;height:154px;object-fit:contain;background:none;filter:none;border-radius:0;animation:none;mix-blend-mode:screen;z-index:4;bottom:15%;left:calc(39% - 69px);pointer-events:none}.critical .fire-b{width:112px;height:132px;left:calc(60% - 56px);bottom:36%;transform:scaleX(-1)}.tower-wrap.collapsing .damage-smoke,.tower-wrap.collapsing .damage-fire{display:none;animation:none}.damaged .damage-smoke,.critical .damage-smoke{width:196px;height:242px;object-fit:fill;background:none;border-radius:0;filter:brightness(1.6);mix-blend-mode:multiply;animation:none;opacity:.72;left:calc(39% - 98px);bottom:15%;z-index:3;pointer-events:none}.damaged .smoke-b{width:158px;height:210px;left:calc(60% - 79px);bottom:36%;transform:scaleX(-1);opacity:.62}.critical .damage-smoke{opacity:.9}.tower-wrap.collapsing .damage-smoke{display:none}.game{max-width:750px}.game .scene{height:max(48dvh,calc(min(100vw,750px) + 78px));min-height:0;max-height:none}.game .tower-wrap{top:56px;right:0;bottom:22px;left:0}.game .tower{width:100%;height:100%;max-width:none;object-fit:contain}.critical .damage-fire{width:25%;height:auto;aspect-ratio:138/154;left:26.5%;bottom:15%}.critical .fire-b{width:20%;height:auto;aspect-ratio:112/132;left:50%;bottom:36%}.damaged .damage-smoke,.critical .damage-smoke{width:35%;height:auto;aspect-ratio:196/242;left:21.5%;bottom:15%}.damaged .smoke-b{width:28%;height:auto;aspect-ratio:158/210;left:46%;bottom:36%}.game .scene{height:clamp(250px,calc(100dvh - 455px),750px);min-height:250px;max-height:750px}.game .hand{height:72px;padding-top:12px}.game .coach{min-height:29px;padding-top:4px;padding-bottom:4px}.game .scoreboard{padding-top:7px;padding-bottom:7px}.game .actions>button{padding-top:8px;padding-bottom:8px}.game .equipment-head{margin-top:9px;margin-bottom:5px}.game footer{padding-top:5px;padding-bottom:max(7px,env(safe-area-inset-bottom))}.game{width:375px;max-width:375px;min-height:var(--game-height,812px);zoom:var(--game-scale,1);border:0}.game header{height:36px;min-height:36px;padding:2px 11px;gap:8px}.game .level-title{font-size:12px;padding:4px 0}.game .icon-btn{width:30px;height:30px;font-size:18px}.game .wallet{font-size:13px}.game .scene{height:calc(var(--game-height,812px) * .5 - 36px);min-height:0;max-height:none;background:radial-gradient(ellipse at 50% 48%,#fff9e9,#f3eddd 68%,#e9e4d5)}.game .sky-grain{display:none}.game .tower-wrap{top:43px;right:0;bottom:16px;left:0}.game .tower{mask-image:none;-webkit-mask-image:none;object-fit:contain;filter:none;mix-blend-mode:normal;transform:scale(1.08)}.game .scene-top{top:4px}.game .health{top:23px}.game .scene-caption{background:#ede8d8df;color:#655941;bottom:0;font-size:10px;padding:2px 6px}.game .hand{height:72px}.game .card{height:56px}.game .bomb{width:36px;height:36px}.game .bomb b{font-size:19px}.game .coach{font-size:11px;min-height:29px}.game .console{padding:9px 13px 0}.game .resource{font-size:9px}.game .text-btn{font-size:10px}.game .actions>button{font-size:17px}.game .device,.game .empty-device{height:38px}.briefing-art{background:transparent}
