:root{color:#f7edcf;background:#071018;font-family:"Noto Serif SC","Source Han Serif SC",STSong,SimSun,serif;font-synthesis:none;--ink: #071018;--deep: #0b1922;--jade: #65ead7;--jade-dim: #2e938d;--gold: #f2c66d;--paper: #f7edcf;--danger: #e56a61}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}button{color:inherit;font:inherit}[hidden]{display:none!important}.game-shell{position:relative;width:100%;height:100%;isolation:isolate;background:radial-gradient(circle at 50% 30%,rgb(41 119 119 / 24%),transparent 38%),linear-gradient(155deg,#071018,#102633 48%,#071018)}.battlefield,.battlefield canvas,.paper-grain{position:absolute;inset:0;width:100%;height:100%}.combat-feedback-layer{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none}.combat-number{position:absolute;color:#fff0da;font-family:Microsoft YaHei UI,sans-serif;font-size:clamp(12px,2.2vh,20px);font-weight:800;line-height:1;text-shadow:0 1px 2px #071018,0 0 8px rgb(229 106 97 / 70%);transform:translate(-50%,-50%)}.combat-number.is-active:not(.is-reduced){animation:combat-number-rise 1.15s cubic-bezier(.16,.72,.28,1) forwards}.combat-number.is-reduced{animation:combat-number-fade 1.15s linear forwards}.combat-number.is-heal{color:var(--jade);text-shadow:0 0 8px rgb(101 234 215 / 76%)}.combat-number.is-siege,.combat-number.is-critical{color:var(--gold);font-size:clamp(15px,2.8vh,24px);text-shadow:0 1px 2px #071018,0 0 11px rgb(242 198 109 / 80%)}.combat-number.is-death{color:#f7edcfb8;font-size:clamp(10px,1.8vh,16px);letter-spacing:.12em}.game-shell.is-siege-hit:not(.reduced-motion){animation:siege-camera-shake .2s steps(2,end)}@keyframes combat-number-rise{0%{opacity:0;transform:translate(-50%,-30%) scale(.8)}16%{opacity:1;transform:translate(-50%,-62%) scale(1.08)}to{opacity:0;transform:translate(-50%,-170%) scale(.92)}}@keyframes combat-number-fade{0%,70%{opacity:1}to{opacity:0}}@keyframes siege-camera-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.paper-grain{z-index:1;pointer-events:none;opacity:.18;background-image:repeating-linear-gradient(91deg,transparent 0 24px,rgb(255 255 255 / 2%) 25px),repeating-linear-gradient(3deg,transparent 0 17px,rgb(242 198 109 / 2%) 18px);mix-blend-mode:screen}.battle-hud{position:absolute;z-index:6;top:max(10px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));display:grid;grid-template-columns:1fr auto 1fr;align-items:start;pointer-events:none}.core-status{display:flex;align-items:baseline;gap:10px;width:fit-content;padding:7px 13px 8px;border:1px solid rgb(101 234 215 / 32%);border-left:3px solid var(--jade);background:linear-gradient(90deg,#071018db,#07101859);clip-path:polygon(0 0,100% 0,calc(100% - 11px) 100%,0 100%);flex-shrink:0}.core-status .eyebrow{white-space:nowrap}.core-status strong{color:var(--jade);font-size:clamp(19px,3.3vh,31px);line-height:1}.enemy-core{justify-self:end;border-right:3px solid var(--danger);border-left-width:1px;background:linear-gradient(-90deg,#071018db,#07101859);clip-path:polygon(11px 0,100% 0,100% 100%,0 100%)}.enemy-core strong{color:var(--danger)}.eyebrow{color:#f7edcfa8;font-family:Microsoft YaHei UI,sans-serif;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.title-lockup{display:grid;justify-items:center;gap:2px;padding:2px 22px 8px;color:var(--gold);text-shadow:0 0 16px rgb(242 198 109 / 35%)}.title-lockup:after{width:100%;height:1px;content:"";background:linear-gradient(90deg,transparent,var(--gold),transparent)}.title-lockup span{font-family:Microsoft YaHei UI,sans-serif;font-size:8px;letter-spacing:.22em}.title-lockup strong{font-size:clamp(16px,3vh,24px);font-weight:500;letter-spacing:.22em}.resource-panel,.shape-slot,.unit-ledger{position:absolute;z-index:4;background:#071018c7;backdrop-filter:blur(8px)}.resource-panel{top:30%;left:max(14px,env(safe-area-inset-left));width:clamp(120px,16vw,190px);padding:10px 12px;border-left:2px solid var(--gold)}.resource-panel strong{display:block;margin:2px 0 5px;color:var(--gold);font-size:clamp(20px,4vh,34px)}.resource-panel small{font-size:11px;font-weight:400}.resource-panel p{margin:7px 0 0;color:#f7edcf8c;font-size:9px;line-height:1.5}.mana-track{height:3px;overflow:hidden;background:#ffffff1f}.mana-track i{display:block;width:60%;height:100%;background:linear-gradient(90deg,var(--jade-dim),var(--gold));box-shadow:0 0 9px var(--gold);transition:width .12s linear}.shape-slot{bottom:max(14px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));display:flex;align-items:center;gap:11px;min-width:205px;padding:9px 13px 9px 9px;border:1px solid rgb(101 234 215 / 35%);border-bottom:2px solid var(--jade)}.shape-slot strong,.shape-slot small{display:block}.shape-slot strong{margin:2px 0;color:var(--paper);font-size:15px;font-weight:500;letter-spacing:.08em}.shape-slot small{color:#65ead7b8;font-family:Microsoft YaHei UI,sans-serif;font-size:9px}.shape-glyph{position:relative;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgb(242 198 109 / 44%);transform:rotate(45deg)}.shape-glyph i{width:31px;height:3px;background:var(--jade);box-shadow:0 0 12px var(--jade);transform:rotate(-45deg)}.gesture-zone{position:absolute;z-index:5;right:max(14px,calc(env(safe-area-inset-right) + 14px));bottom:max(14px,env(safe-area-inset-bottom));width:clamp(275px,39vw,520px);height:clamp(86px,23vh,152px);overflow:hidden;border:1px solid rgb(101 234 215 / 42%);border-right:3px solid var(--jade);background:linear-gradient(90deg,#65ead70a,#f2c66d0d),#071018b8;box-shadow:0 12px 40px #0000003d;backdrop-filter:blur(8px);touch-action:none;transition:border-color .12s ease,box-shadow .12s ease}.gesture-zone:before,.gesture-zone:after{position:absolute;top:50%;width:9%;height:1px;content:"";background:var(--gold);opacity:.45}.gesture-zone:before{left:8%}.gesture-zone:after{right:8%}.gesture-zone.is-drawing{border-color:var(--gold);box-shadow:0 0 26px #65ead72e}.gesture-zone canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;cursor:crosshair}.gesture-copy{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;pointer-events:none}.gesture-copy span,.gesture-copy small{color:#f7edcf7a;font-family:Microsoft YaHei UI,sans-serif;font-size:9px;letter-spacing:.12em}.gesture-copy strong{height:29px;color:#65ead759;font-size:34px;font-weight:400;line-height:.6}.unit-ledger{right:max(14px,env(safe-area-inset-right));bottom:calc(max(14px,env(safe-area-inset-bottom)) + clamp(96px,25vh,164px));display:flex;gap:14px;padding:5px 9px;color:#f7edcf99;font-family:Microsoft YaHei UI,sans-serif;font-size:9px}.unit-ledger strong{color:var(--paper);font-size:12px}.hud-cluster{display:flex;align-items:start;gap:7px}.enemy-cluster{justify-self:end}.mana-status,.wave-status{min-width:52px;padding:6px 9px;background:#071018b8;backdrop-filter:blur(7px)}.mana-status strong,.wave-status strong{display:block;color:var(--gold);font-family:Microsoft YaHei UI,sans-serif;font-size:15px}.mana-status small{font-size:8px}.miracle-button{width:100%;min-height:28px;margin-top:4px;padding:4px 7px;border:1px solid rgb(242 198 109 / 40%);color:var(--gold);background:#f2c66d14;font-family:Microsoft YaHei UI,sans-serif;font-size:8px;cursor:pointer;pointer-events:auto}.miracle-button.is-ready{border-color:var(--gold);color:#071018;background:var(--gold);box-shadow:0 0 12px #f2c66d94}.miracle-button:disabled{color:#f7edcf47;cursor:default;opacity:.65}.pause-button,.roster-button{width:34px;height:34px;border:1px solid rgb(229 106 97 / 65%);color:var(--paper);background:#071018cc;font-family:Microsoft YaHei UI,sans-serif;font-weight:800;cursor:pointer;pointer-events:auto}.roster-button{width:34px;padding-inline:0;border-color:#65ead76b;color:var(--jade);font-size:9px}.enemy-cluster .core-status{gap:5px;padding-inline:8px 12px}.frontline-status{position:relative;display:grid;grid-template-columns:auto minmax(120px,20vw) auto;align-items:center;gap:6px;margin-top:6px;color:#f7edcf7f}.frontline-status small{position:absolute;top:14px;left:50%;font-family:Microsoft YaHei UI,sans-serif;font-size:7px;letter-spacing:.2em;transform:translate(-50%)}.return-front-button{position:absolute;top:31px;left:50%;padding:2px 7px;border:1px solid rgb(101 234 215 / 25%);color:#f7edcf8c;background:#0710189e;font-family:Microsoft YaHei UI,sans-serif;font-size:7px;white-space:nowrap;cursor:pointer;pointer-events:auto;transform:translate(-50%)}.front-core{width:14px;height:14px;color:var(--jade)}.front-core svg{display:block;width:100%;height:100%;overflow:visible;fill:#65ead726;stroke:currentcolor;stroke-width:1.4;vector-effect:non-scaling-stroke}.enemy-mark{color:var(--danger)}.frontline-track{position:relative;height:8px;border:1px solid rgb(247 237 207 / 18%);border-radius:999px;background:linear-gradient(90deg,#65ead7a6,#f2c66d94 52%,#ff6f4ead);box-shadow:inset 0 1px 3px #0000006b;cursor:ew-resize;pointer-events:auto;touch-action:none}.frontline-clash{position:absolute;top:50%;width:6px;height:6px;border:1px solid var(--paper);background:var(--deep);transform:translate(-50%,-50%) rotate(45deg)}.frontline-camera{position:absolute;top:-3px;bottom:-3px;left:0;min-width:8px;border:1px solid rgb(247 237 207 / 75%);border-radius:3px;background:#f7edcf1a;box-shadow:0 0 5px #f7edcf40}.frontline-boss{position:absolute;top:50%;width:8px;height:8px;border:1px solid #ffd1a8;background:var(--danger);box-shadow:0 0 8px var(--danger);transform:translate(-50%,-50%) rotate(45deg)}.frontline-meta{position:absolute;top:23px;left:50%;color:#f7edcf8f;font-family:Microsoft YaHei UI,sans-serif;font-size:7px;white-space:nowrap;transform:translate(-50%)}.frontline-status.is-danger .frontline-track{animation:frontline-danger .9s ease-in-out infinite alternate}@keyframes frontline-danger{to{box-shadow:0 0 12px #ff6f4eb3,inset 0 1px 3px #0000006b}}.boss-hud{position:absolute;z-index:4;top:max(48px,calc(env(safe-area-inset-top) + 45px));left:50%;width:min(340px,42vw);padding:5px 10px 7px;text-align:center;background:#071018b8;backdrop-filter:blur(7px);transform:translate(-50%)}.boss-hud.is-warning{outline:1px solid rgb(255 111 78 / 70%);background:#330d0ed1;box-shadow:0 0 18px #ff5d3f59}.boss-hud.is-warning small{color:#ffd1a8}.boss-hud strong{margin-left:8px;color:var(--danger);font-family:Microsoft YaHei UI,sans-serif;font-size:9px}.boss-hud i{font-style:normal}.boss-hud small{display:block;margin-top:2px;color:var(--muted);font-size:7px;letter-spacing:.08em}.boss-health-track{height:3px;margin-top:4px;overflow:hidden;background:#ffffff1a}.boss-health-track b{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--danger),var(--gold));box-shadow:0 0 10px var(--danger)}.chapter-banner{position:absolute;z-index:4;top:max(58px,calc(env(safe-area-inset-top) + 55px));left:max(12px,env(safe-area-inset-left));width:min(300px,38vw);padding:8px 11px 9px;border-left:2px solid var(--jade);color:var(--paper);background:linear-gradient(90deg,#061217e5,#0612179e);box-shadow:8px 8px 24px #0000002e;pointer-events:none;animation:chapter-enter .32s ease-out both}.chapter-banner.is-leaving{animation:chapter-leave .35s ease-in both}.chapter-banner span,.chapter-banner small{color:var(--jade);font-family:Microsoft YaHei UI,sans-serif;font-size:7px;letter-spacing:.12em}.chapter-banner strong{display:block;margin:2px 0;font-size:14px;font-weight:500;letter-spacing:.18em}.chapter-banner p{margin:0 0 3px;color:#f7edcfb8;font-family:Microsoft YaHei UI,sans-serif;font-size:8px;line-height:1.45}@keyframes chapter-enter{0%{opacity:0;transform:translate(-14px)}}@keyframes chapter-leave{to{opacity:0;transform:translate(-10px)}}.frontline-clash{left:54%;border:0;background:var(--gold);box-shadow:0 0 8px var(--gold);animation:frontline-clash .72s ease-in-out infinite alternate}@keyframes frontline-clash{to{box-shadow:0 0 14px 3px var(--gold)}}.gesture-layer{position:absolute;z-index:5;inset:56px 0 84px;overflow:hidden;background-color:transparent;touch-action:none}.gesture-layer canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;cursor:crosshair}.deployment-band{position:absolute;z-index:1;top:0;bottom:0;border-inline:1px dashed rgb(242 198 109 / 0%);background:#65ead700;pointer-events:none;transition:border-color .12s ease,background .12s ease}.deployment-band span{position:absolute;right:3px;bottom:5px;color:transparent;font-family:Microsoft YaHei UI,sans-serif;font-size:7px;white-space:nowrap}.gesture-layer.is-drawing .deployment-band{border-color:#f2c66d6b;background:linear-gradient(90deg,transparent,rgb(101 234 215 / 6%))}.gesture-layer.is-drawing .deployment-band span{color:#f2c66d8c}.summon-preview{position:absolute;z-index:4;display:grid;min-width:58px;justify-items:center;gap:2px;color:var(--jade);font-family:Microsoft YaHei UI,sans-serif;pointer-events:none;filter:drop-shadow(0 0 8px rgb(101 234 215 / 50%));transform:translate(-50%,-50%)}.summon-preview:before,.summon-preview:after{position:absolute;content:""}.summon-preview:before{top:8px;width:34px;height:14px;border:1px solid currentcolor;border-radius:50%;box-shadow:0 0 0 3px #65ead71a}.summon-preview:after{top:22px;width:1px;height:10px;background:currentcolor}.summon-preview.is-ground{top:78%}.summon-preview.is-air{top:18%}.summon-preview b{position:relative;z-index:1;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#071018db;font-size:15px}.summon-preview span{margin-top:9px;padding:2px 5px;border:1px solid currentcolor;background:#071018d1;font-size:7px;line-height:1.2;white-space:nowrap}.summon-preview.is-ready{color:var(--gold);filter:drop-shadow(0 0 9px rgb(242 198 109 / 60%))}.summon-preview.is-blocked{color:#e6a85c}.summon-preview.is-invalid{color:var(--danger);filter:drop-shadow(0 0 8px rgb(229 106 97 / 55%))}.summon-preview.is-invalid:before{border-style:dashed}.gesture-cancel{position:absolute;z-index:5;right:max(10px,env(safe-area-inset-right));bottom:10px;min-height:28px;padding:4px 10px;border:1px solid rgb(229 106 97 / 54%);border-radius:3px;color:var(--paper);background:#4c191dd1;font-family:Microsoft YaHei UI,sans-serif;font-size:9px;letter-spacing:.06em;touch-action:manipulation}.gesture-cancel:active{background:#742528eb}.gesture-feedback{position:absolute;z-index:1;bottom:7px;left:50%;display:grid;justify-items:center;gap:2px;padding:4px 12px;color:#f7edcf6b;background:#0710182e;font-family:Microsoft YaHei UI,sans-serif;pointer-events:none;transform:translate(-50%);transition:color .12s ease,background .12s ease}.gesture-feedback span{font-size:8px;letter-spacing:.08em}.gesture-feedback small{color:inherit;font-size:10px}.gesture-layer.is-drawing .gesture-feedback{color:var(--paper);background:#071018a8}.shape-dock{position:absolute;z-index:7;right:max(14px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;max-width:940px;margin-inline:auto}.shape-dock .shape-slot{position:relative;bottom:auto;left:auto;display:grid;grid-template-columns:34px 40px minmax(0,1fr);gap:6px;min-width:0;padding:6px;border:1px solid rgb(101 234 215 / 28%);border-bottom:2px solid var(--jade-dim);background:#071018b8;backdrop-filter:blur(7px)}.shape-dock.is-reading .shape-slot{opacity:.42;transition:opacity 90ms ease,transform 90ms ease,border-color 90ms ease}.shape-dock.is-reading .shape-slot.is-candidate{z-index:1;border-color:var(--gold);opacity:1;box-shadow:0 0 18px #f2c66d3d;transform:translateY(-4px)}.reduced-motion .shape-dock.is-reading .shape-slot.is-candidate{transform:none}.slot-glyph{display:grid;width:34px;height:38px;place-items:center;border:1px solid rgb(242 198 109 / 36%);color:var(--jade);font-family:Microsoft YaHei UI,sans-serif;font-size:21px;font-weight:400;text-shadow:0 0 10px rgb(101 234 215 / 50%)}.slot-portrait{display:block;align-self:end;width:40px;height:44px;overflow:visible;background-image:url(/assets/units/portraits/portrait-atlas.webp);background-repeat:no-repeat;background-position:var(--portrait-x, 0%) var(--portrait-y, 0%);background-size:500% 400%;filter:drop-shadow(0 1px 1px #071018) drop-shadow(0 0 5px rgb(101 234 215 / 22%))}.shape-dock.is-reading .shape-slot.is-candidate .slot-portrait{filter:drop-shadow(0 1px 1px #071018) drop-shadow(0 0 7px rgb(242 198 109 / 65%))}.shape-dock .shape-slot span,.shape-dock .shape-slot strong,.shape-dock .shape-slot small{display:block;overflow:hidden;font-family:Microsoft YaHei UI,sans-serif;text-overflow:ellipsis;white-space:nowrap}.shape-dock .shape-slot span{color:#f7edcf7f;font-size:7px}.shape-dock .shape-slot .slot-portrait{overflow:visible}.shape-dock .shape-slot strong{margin:3px 0;color:var(--paper);font-size:clamp(8px,1.15vw,12px);font-weight:600;letter-spacing:0}.shape-dock .shape-slot small{color:#65ead7ad;font-size:7px}.shape-dock .shape-slot i{font-style:normal}.shape-dock .shape-slot em{color:var(--gold);font-style:normal}.shape-dock [data-slot-cost]{color:var(--gold);font-weight:500}.unit-ledger{right:max(14px,env(safe-area-inset-right));bottom:82px}.full-overlay,.orientation-overlay{position:absolute;z-index:20;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;background:radial-gradient(circle at center,rgb(20 70 73 / 62%),transparent 35%),#040a0feb;backdrop-filter:blur(10px)}.entry-overlay h1,.result-overlay h2{margin:7px 0;color:var(--paper);font-size:clamp(38px,9vh,74px);font-weight:400;letter-spacing:.18em;text-shadow:0 0 35px rgb(101 234 215 / 25%)}.entry-overlay p,.result-overlay p{max-width:440px;margin:7px 20px 18px;color:#f7edcfad;font-size:clamp(12px,2.2vh,16px);letter-spacing:.08em}.entry-overlay button,.result-overlay button{min-width:210px;padding:11px 24px;border:1px solid var(--gold);color:var(--ink);background:var(--gold);box-shadow:0 0 30px #f2c66d2e;font-family:Microsoft YaHei UI,sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;cursor:pointer}.entry-overlay button:focus-visible,.result-overlay button:focus-visible{outline:2px solid var(--jade);outline-offset:4px}.entry-overlay small{margin-top:10px;color:#f7edcf59;font-family:Microsoft YaHei UI,sans-serif;font-size:9px}.entry-overlay #reconstruction-button{margin-top:8px;border-color:#65ead77f;color:var(--jade);background:#071018d1;box-shadow:none}.entry-sigil{position:relative;width:62px;height:62px;margin-bottom:5px;border:1px solid rgb(242 198 109 / 55%);transform:rotate(45deg)}.entry-sigil:before,.entry-sigil:after,.entry-sigil i,.entry-sigil b{position:absolute;content:"";background:var(--jade);box-shadow:0 0 14px #65ead78c}.entry-sigil:before,.entry-sigil:after{top:30px;left:11px;width:40px;height:1px}.entry-sigil:after{transform:rotate(90deg)}.entry-sigil i,.entry-sigil b{top:30px;left:19px;width:24px;height:1px;transform:rotate(45deg)}.entry-sigil b{transform:rotate(-45deg)}.result-overlay h2{font-size:clamp(30px,7vh,56px)}.result-overlay button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.45}.reconstruction-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(680px,calc(100vw - 36px));margin-bottom:12px}.run-rules{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:9px 12px;border:1px solid rgb(101 234 215 / 18%);background:#040a0f85}.run-rule-group{display:grid;gap:5px}.run-rule-group>strong{color:#f7edcf9e;font-size:9px;letter-spacing:.16em}.run-rule-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.result-overlay .run-rule-buttons button{padding:7px 3px;font-size:9px}.result-overlay .run-rule-buttons button.is-selected{border-color:var(--jade);color:var(--ink);background:var(--jade)}#run-rule-note{grid-column:1 / -1;color:#f7edcf7f;font-family:Microsoft YaHei UI,sans-serif;font-size:8px;text-align:left}.result-overlay .reconstruction-selector button{min-width:0;padding:12px 8px;border-color:#65ead759;color:var(--paper);background:#071018e0;box-shadow:none;font-size:10px}.result-overlay .reconstruction-selector button.is-selected{border-color:var(--gold);color:var(--ink);background:var(--gold)}.reward-overlay h2{margin:6px 0 2px;color:var(--paper);font-size:clamp(24px,6vh,45px);font-weight:400;letter-spacing:.12em}.reward-overlay>p:not(.eyebrow){margin:2px 0 12px;color:#f7edcf8c;font-family:Microsoft YaHei UI,sans-serif;font-size:10px}.fragment-balance{display:block;margin:5px 0 8px;color:var(--gold);font-size:9px;letter-spacing:.12em}.route-map{width:min(960px,calc(100vw - 36px));padding:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;touch-action:pan-y;border:1px solid rgb(101 234 215 / 24%);background:linear-gradient(180deg,rgb(101 234 215 / 5%),transparent),#040a0fc7;scrollbar-color:rgb(242 198 109 / 45%) transparent;scrollbar-width:thin}.route-map-compact{width:min(760px,calc(100vw - 40px));margin-bottom:8px;padding:6px 8px}.route-map-track{width:max-content;min-width:100%}.route-map-svg{display:block;overflow:visible}.route-map-zone{color:var(--route-region)}.route-zone-field{fill:currentcolor;fill-opacity:.055;stroke:currentcolor;stroke-opacity:.16;stroke-width:1}.route-zone-title,.route-map-credo,.route-node-title,.route-node-region,.route-node-glyph{font-family:Microsoft YaHei UI,sans-serif;pointer-events:none}.route-zone-title{fill:currentcolor;font-size:10px;font-weight:700;letter-spacing:.12em}.route-map-credo{fill:#f7edcf7a;font-size:7px;letter-spacing:.04em}.route-map-path{fill:none;stroke:#f7edcf3d;stroke-width:2;stroke-linecap:round}.route-map-path.is-completed{stroke:var(--jade);stroke-opacity:.72}.route-map-path.is-choice{stroke:var(--gold);stroke-dasharray:4 3}.route-map-node{color:var(--route-region);cursor:default;outline:none}.route-node-halo{fill:currentcolor;fill-opacity:.06;stroke:currentcolor;stroke-opacity:.22}.route-node-shape{fill:#071018eb;stroke:currentcolor;stroke-width:1.4}.route-node-glyph{fill:currentcolor;font-size:9px;font-weight:700}.route-node-title{fill:var(--paper);font-size:9px}.route-node-region{fill:#f7edcf75;font-size:7px}.route-map-node.is-completed .route-node-shape{fill:currentcolor;fill-opacity:.24}.route-map-node.is-current,.route-map-node.is-choice{color:var(--gold)}.route-map-node.is-current .route-node-halo,.route-map-node.is-choice .route-node-halo{fill-opacity:.2;stroke-opacity:.85;filter:drop-shadow(0 0 7px rgb(242 198 109 / 60%))}.route-map-node.is-future{filter:grayscale(.65);opacity:.46}.route-map-summary{position:sticky;left:0;width:min(100vw - 56px,720px);padding:4px 8px 1px;color:#f7edcf8a;font-family:Microsoft YaHei UI,sans-serif;font-size:8px;text-align:left;letter-spacing:.08em}.map-overlay{z-index:23;padding:16px}.map-overlay h2{margin:4px 0;color:var(--paper);font-size:clamp(24px,6vh,44px);font-weight:400;letter-spacing:.12em}.map-overlay>p:not(.eyebrow){margin:2px 0 12px;color:#f7edcf94;font-family:Microsoft YaHei UI,sans-serif;font-size:9px}.settings-overlay{z-index:24;padding:16px}.settings-overlay h2{margin:4px 0 10px;color:var(--paper);font-size:clamp(24px,6vh,44px);font-weight:400;letter-spacing:.12em}.settings-overlay>small{margin-top:8px;color:#f7edcf7a;font-family:Microsoft YaHei UI,sans-serif;font-size:8px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(700px,calc(100vw - 40px));padding:12px;border:1px solid rgb(101 234 215 / 24%);background:#040a0fc2}.settings-grid label,.settings-choice{display:grid;gap:7px;color:#f7edcfad;font-family:Microsoft YaHei UI,sans-serif;font-size:9px}.settings-grid output{color:var(--jade)}.settings-grid input[type=range]{width:100%;accent-color:var(--jade)}.settings-choice{grid-column:span 1}.settings-choice>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.settings-choice button{min-width:0;padding:7px 10px;border:1px solid rgb(101 234 215 / 35%);color:var(--paper);background:#071018e0;font-size:9px}.settings-choice button.is-selected,.settings-choice button[aria-pressed=true]{border-color:var(--jade);color:var(--ink);background:var(--jade)}.reduced-motion .chapter-banner,.reduced-motion .entry-sigil,.reduced-motion .turn-device{animation:none}.route-map-legend{display:flex;gap:18px;margin-top:8px;color:#f7edcf7f;font-family:Microsoft YaHei UI,sans-serif;font-size:8px}.reward-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(760px,calc(100vw - 40px))}.reward-card{display:grid;align-content:start;gap:6px;min-height:112px;padding:12px;border:1px solid rgb(101 234 215 / 35%);border-bottom:2px solid var(--gold);color:var(--paper);text-align:left;background:linear-gradient(145deg,rgb(101 234 215 / 8%),transparent 55%),#071018db;cursor:pointer}.reward-card:hover,.reward-card:focus-visible{border-color:var(--gold);outline:none;box-shadow:0 0 20px #f2c66d24}.reward-card span{color:var(--jade);font-family:Microsoft YaHei UI,sans-serif;font-size:8px;letter-spacing:.16em}.reward-card strong{color:var(--gold);font-size:16px;font-weight:500}.reward-card small{color:#f7edcf94;font-family:Microsoft YaHei UI,sans-serif;font-size:9px;line-height:1.5}.reward-card em{color:var(--gold);font-size:8px;font-style:normal}.reward-card:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.45}.overlay-secondary{margin-top:10px;padding:6px 16px;border:1px solid rgb(101 234 215 / 40%);color:var(--jade);background:#071018d1;font-family:Microsoft YaHei UI,sans-serif;font-size:9px;letter-spacing:.12em;cursor:pointer}.roster-overlay{z-index:22;align-content:center;padding:12px 18px}.roster-overlay h2{margin:4px 0 0;color:var(--paper);font-size:clamp(20px,5vh,34px);font-weight:400;letter-spacing:.1em}.roster-overlay>p:not(.eyebrow){margin:3px 0 9px;color:#f7edcf94;font-family:Microsoft YaHei UI,sans-serif;font-size:9px}.roster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;width:min(940px,calc(100vw - 36px))}.roster-grid:has(>.roster-shape:only-child){grid-template-columns:minmax(0,620px);justify-content:center}.roster-shape{min-width:0;padding:7px;border:1px solid rgb(101 234 215 / 22%);background:#0710189e}.roster-shape h3{margin:0 0 5px;color:var(--gold);font-family:Microsoft YaHei UI,sans-serif;font-size:9px;font-weight:500;letter-spacing:.08em}.roster-units{display:grid;gap:5px}.roster-grid:has(>.roster-shape:only-child) .roster-units{grid-template-columns:repeat(3,minmax(0,1fr))}.roster-unit{position:relative;display:grid;gap:2px;min-width:0;padding:7px;border:1px solid rgb(247 237 207 / 15%);color:var(--paper);text-align:left;background:#0e1a21d1;cursor:pointer}.roster-unit:hover,.roster-unit:focus-visible,.roster-unit.is-active{border-color:var(--jade);outline:none;box-shadow:inset 0 -2px #65ead7a6}.roster-unit:disabled{cursor:default;opacity:.72}.roster-unit span,.roster-unit small,.roster-unit i{overflow:hidden;font-family:Microsoft YaHei UI,sans-serif;font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.roster-unit span{color:#65ead7a3}.roster-unit strong{overflow:hidden;color:var(--paper);font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.roster-unit small{color:#f7edcf85}.roster-unit p{margin:0;color:#f7edcf85;font-family:Microsoft YaHei UI,sans-serif;font-size:8px;line-height:1.45}.roster-unit i{color:var(--gold)}.orientation-overlay{z-index:30;gap:8px}.orientation-overlay strong{color:var(--gold);font-size:22px;letter-spacing:.12em}.orientation-overlay span{color:#f7edcf94;font-family:Microsoft YaHei UI,sans-serif;font-size:12px}.orientation-skip{margin-top:12px;padding:7px 12px;border:1px solid rgb(247 237 207 / 20%);color:#f7edcf75;background:#07101885;font-family:Microsoft YaHei UI,sans-serif;font-size:11px;cursor:pointer;pointer-events:auto}.keyboard-hint{position:absolute;z-index:8;right:max(18px,env(safe-area-inset-right));bottom:max(88px,calc(env(safe-area-inset-bottom) + 82px));padding:5px 9px;border:1px solid rgb(101 234 215 / 25%);color:#f7edcf9e;background:#071018b8;font-family:Microsoft YaHei UI,sans-serif;font-size:clamp(8px,.75vw,12px);pointer-events:none}.shape-slot.is-keyboard-focus{border-color:var(--gold);box-shadow:inset 0 -3px #f2c66db8,0 0 16px #f2c66d2e}.map-overlay,.settings-overlay,.roster-overlay{overscroll-behavior:contain;touch-action:pan-x pan-y}.turn-device{width:34px;height:58px;margin-bottom:8px;border:2px solid var(--jade);border-radius:6px;transform:rotate(90deg)}@media(max-height:430px){.resource-panel p,.title-lockup span{display:none}.resource-panel{top:28%;padding-block:7px}.shape-slot{transform:scale(.9);transform-origin:bottom left}.shape-dock .shape-slot{transform:none}.core-status{padding-block:5px}.gesture-layer{inset-block:50px 73px}}@media(min-width:1024px)and (pointer:fine){.frontline-track{height:10px}}.layout-desktop .battle-hud{top:max(14px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right))}.layout-desktop .hud-cluster{gap:10px}.layout-desktop .shape-dock{right:max(22px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:max(22px,env(safe-area-inset-left));gap:10px}.layout-desktop .shape-slot{min-height:62px;padding:9px 11px}.layout-desktop .shape-dock .shape-slot{grid-template-columns:38px 50px minmax(0,1fr)}.layout-desktop .slot-portrait{width:50px;height:54px}.layout-desktop .shape-slot strong{font-size:clamp(11px,.9vw,16px)}.layout-desktop .shape-slot span,.layout-desktop .shape-slot small{font-size:clamp(8px,.65vw,12px)}.layout-desktop .gesture-layer{inset-block:68px 96px}@media(min-width:2560px)and (pointer:fine){.layout-desktop .eyebrow,.layout-desktop .frontline-status small,.layout-desktop .frontline-meta,.layout-desktop button{font-size:16px}.layout-desktop .shape-slot strong{font-size:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
