@font-face{font-family:Pixel;src:url(/assets/fonts/PressStart2P-Regular.ttf)format("truetype");font-display:swap}:root{--ink:#0e0d11;--panel:#212126;--steel:#777880;--gold:#edc75a;--red:#ad303d;--muted:#92928f;--text:#e2dfd4;--pixel:Pixel,monospace;--board-size:310px}*{box-sizing:border-box}html,body{min-height:100%;color:var(--text);background:#08080b;margin:0}body{font:10px/1.7 var(--pixel);background:radial-gradient(at top,#252426,#08080b 70%);justify-content:center;align-items:flex-start;padding:12px;display:flex}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:0}button:disabled{opacity:.35;cursor:default}button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}button:hover:not(:disabled){filter:brightness(1.13)}img{image-rendering:pixelated}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.game-shell{isolation:isolate;background:var(--ink);flex-direction:column;width:min(480px,58dvh - 13.92px);min-width:340px;height:calc(100dvh - 24px);min-height:650px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 2px #323138,0 18px 90px #000}.topbar{z-index:4;background:#202025;border-bottom:8px solid #060608;flex-shrink:0;align-items:center;gap:8px;height:58px;padding:9px 13px;display:flex;position:relative;box-shadow:inset 0 -3px #55545b}.brand{letter-spacing:-.5px;text-align:left;flex:1;padding:0;font-size:12px;line-height:1.5}.wallet{white-space:nowrap;align-items:center;gap:8px;font-size:10px;display:flex}.wallet>span{background:#0b0b0e;border:3px solid #08080a;padding:6px 4px;box-shadow:inset 2px 2px #34333a}.token-icon{color:#ecb54c}.scheme-icon{color:#9aabb6}.icon-button{background:#39393e;flex-shrink:0;width:35px;height:32px;font-size:23px;line-height:1;box-shadow:inset 3px 3px #7c7c82,inset -3px -3px #111114}.page{scrollbar-width:thin;scrollbar-color:#53515a #141318;flex:1;min-height:0;overflow-y:auto}.bottom-nav{z-index:5;background:#202025;border-top:8px solid #08080a;flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:3px;height:66px;padding:6px 7px 4px;display:grid;box-shadow:inset 0 3px #62616a}.bottom-nav button{color:#8c8c8d;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:1px 2px;font-size:8px;display:flex;position:relative}.bottom-nav button.active{color:var(--gold);box-shadow:inset 0 3px var(--gold),-3px 3px #060608;background:#333339}.bottom-nav svg{fill:currentColor;shape-rendering:crispedges;width:23px;height:23px}.pixel-panel{background:linear-gradient(145deg,#0000 15%,#ffffff05 40%,#0000 41%),#202025;border:4px solid #49494f;position:relative;box-shadow:inset 3px 3px #141317,inset -3px -3px #101014,0 0 0 3px #060608}.pixel-panel:before{content:"";pointer-events:none;background:#82828b;height:3px;position:absolute;top:-5px;left:5px;right:5px}.pixel-panel.gold{border-color:#8e7743}.pixel-panel.gold:before{background:#ebcc6c}.red-button,.gray-button{text-transform:uppercase;text-shadow:2px 2px #4b1820;background:#a32c38;border:3px solid #09090b;justify-content:center;align-items:center;gap:10px;min-height:43px;padding:11px 12px;font-size:11px;line-height:1.5;display:flex;box-shadow:inset 3px 3px #e5646c,inset -3px -4px #5d1625,0 2px #030304}.gray-button{text-shadow:2px 2px #1a1a20;background:#35353d;box-shadow:inset 3px 3px #797980,inset -3px -4px #191920}.red-button svg,.gray-button svg{flex-shrink:0;width:21px;height:21px}.gold-text{color:var(--gold)}.muted{color:var(--muted)}.page-title{text-transform:uppercase;margin:19px 16px 12px;font-size:19px;line-height:1.6}.page-subtitle{color:var(--muted);margin:-5px 16px 15px;font-size:8px}.chapter-head{border-bottom:4px solid #25242a;min-height:102px;padding:18px 16px 15px;position:relative}.chapter-head small{color:var(--gold);font-size:9px}.chapter-menu{position:absolute;top:19px;right:16px}.world-map{scrollbar-width:none;border-bottom:6px solid #09090c;height:clamp(230px,36dvh,345px);overflow:auto}.world-map-inner{aspect-ratio:2/3;width:100%;image-rendering:pixelated;background:url(/assets/city-map.png) 50%/100% 100%;position:relative}.map-node{flex-direction:column;align-items:center;gap:7px;min-width:75px;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-node .node-icon{color:#c6cbcb;background:#090a0b;border:4px solid #2f3034;place-items:center;width:52px;height:52px;display:grid;box-shadow:3px 3px #030304,0 0 0 2px #050507}.map-node .node-icon svg{width:32px;height:32px}.map-node.current .node-icon{border-color:#e0dfd0}.map-node.done .node-icon{border-color:var(--gold);color:var(--gold)}.map-node.locked .node-icon{color:#8d9294}.map-node .node-label{color:#e8ddad;white-space:nowrap;background:#090a0ded;max-width:200px;padding:4px 5px;font-size:7px}.mission-card{margin:15px 16px;padding:15px 12px}.mission-summary{align-items:center;gap:13px;margin-bottom:15px;display:flex}.mission-thumb{object-fit:cover;border:4px solid #08090b;flex-shrink:0;width:73px;height:73px}.mission-summary small{color:var(--muted);font-size:8px}.mission-card>.red-button{width:100%}.small-enemy{object-fit:contain;background:#101014;border:3px solid #09090b;width:36px;height:36px;margin-top:7px;display:block}.page-foot{color:#7b7c7c;text-align:center;margin:15px 16px;font-size:7px}.route-banner{background:linear-gradient(#0e0d1122,#0e0d11de),url(/assets/wasteland.png) 50%/cover;flex-direction:column;justify-content:flex-end;height:165px;margin:20px 15px 14px;padding:20px 12px 10px;display:flex}.route-banner h2{font-size:17px;line-height:1.6}.route-banner small{font-size:8px}.route-nodes{align-items:center;margin-top:14px;display:flex}.route-node{color:#727477;background:#070709;border:3px solid #1a191c;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.route-node svg{width:22px;height:22px}.route-node.done{border-color:var(--gold);color:var(--gold)}.route-node.current{color:#eee;border-color:#e1dfce}.route-nodes>i{background:#3e3b32;flex:1;height:3px}.route-nodes>i.done{background:var(--gold)}.route-health{align-items:center;gap:12px;margin:17px 15px;padding:14px 12px;display:flex}.route-health>svg{color:#d95163;flex-shrink:0;width:24px;height:24px}.meter{background:#0a090c;border:3px solid #060608;height:21px;position:relative;overflow:hidden}.meter i{background:repeating-linear-gradient(90deg,#bf3443 0 15px,#a02b39 15px 19px);height:100%;transition:width .18s;display:block}.meter>span{white-space:nowrap;text-shadow:2px 2px #57222d;justify-content:center;align-items:center;font-size:9px;display:flex;position:absolute;inset:0}.route-health .meter{flex:1}.route-count{color:var(--gold);font-size:9px}.encounter-card{margin:18px 16px;padding:17px 12px 14px}.encounter-title{align-items:center;gap:12px;margin-bottom:17px;font-size:16px;line-height:1.6;display:flex}.encounter-title>span{border:3px solid var(--gold);width:40px;height:40px;color:var(--gold);background:#08080b;place-items:center;display:grid}.encounter-title svg{width:29px;height:29px}.encounter-enemies{gap:8px;margin-bottom:17px;display:flex}.encounter-enemy{text-align:center;background:#0c0c10;border:4px solid #09090c;flex:1;min-width:0;padding:8px 5px;font-size:8px}.encounter-enemy img{object-fit:contain;max-width:100%;height:105px}.encounter-enemy small{color:#dc5660;margin-top:4px;font-size:8px;display:block}.encounter-card>.red-button{width:100%}.choice-row{text-align:left;background:#101014;border:3px solid #08080a;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:12px 10px;display:flex;box-shadow:inset 2px 2px #39383e}.choice-row.selected{outline:2px solid var(--gold);background:#272529}.choice-row svg{flex-shrink:0;width:29px;height:29px}.choice-row strong{font-size:10px;font-weight:400;display:block}.choice-row small{color:var(--muted);margin-top:6px;font-size:8px;line-height:1.8;display:block}.hero-head{justify-content:space-between;align-items:center;margin:19px 16px 12px;display:flex}.hero-head h1{font-size:19px}.hero-head .icon-button svg{width:24px;height:24px}.xp-line{align-items:center;gap:10px;margin:0 16px 20px;display:flex}.level-badge{color:#f4d887;white-space:nowrap;background:#77581f;border:3px solid #15100b;padding:7px;font-size:8px}.xp-line .meter{flex:1}.xp-line .meter i{background:repeating-linear-gradient(90deg,#64a5d6 0 15px,#4287bc 15px 19px)}.hero-scene{background:linear-gradient(#16141b55,#10101855),url(/assets/wasteland.png) 50%/cover;height:280px;margin:0 16px 17px;position:relative}.hero-scene>.hero-art{object-fit:contain;filter:drop-shadow(3px 3px #07080a88);max-width:90%;height:95%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.gear-slot{color:#b7b8b8;background:#07070c;border:4px solid #9c936d;place-items:center;width:63px;height:63px;display:grid;position:absolute;box-shadow:0 0 0 3px #08080b}.gear-slot svg{width:43px;height:43px}.gear-slot small{color:var(--gold);background:#09090c;font-size:7px;position:absolute;bottom:-2px;right:0}.gear-slot.weapon{top:15px;left:15px}.gear-slot.helmet{top:15px;right:15px}.gear-slot.armor{bottom:15px;left:15px}.gear-slot.device{bottom:15px;right:15px}.hero-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:0 16px 17px;display:grid}.hero-stat{text-align:center;background:#1c1c22;border:4px solid #08080b;padding:10px 3px}.hero-stat b{color:var(--gold);font-size:13px;font-weight:400;display:block}.hero-stat small{color:#b8b7af;font-size:7px}.gear-list{gap:9px;margin:10px 16px 15px;display:grid}.gear-row{text-align:left;align-items:center;gap:13px;width:100%;padding:13px 12px;font-size:9px;display:flex}.gear-row svg{flex-shrink:0;width:34px;height:34px}.gear-row strong{font-size:9px;font-weight:400;display:block}.gear-row small{color:var(--muted);margin-top:5px;font-size:7px;display:block}.full-button{width:calc(100% - 32px);margin:13px 16px}.section-label{color:var(--muted);margin:10px 16px;font-size:8px}.talent-points{color:var(--gold);background:#141419;border:3px solid #07070b;margin:0 16px 17px;padding:8px;font-size:8px;display:inline-block}.type-tabs{grid-template-columns:repeat(5,1fr);gap:8px;margin:0 16px 21px;display:grid}.type-tabs button{min-width:0;height:62px;color:var(--muted);background:#111116;border:4px solid #07070a;flex-direction:column;align-items:center;gap:5px;padding:7px 3px;font-size:6px;display:flex}.type-tabs button.active{color:#ddd;border-color:#d8d7ca;box-shadow:inset 0 0 0 2px #62616b}.type-tabs svg{width:30px;height:30px}.talent-tree{margin:0 16px 20px}.talent-card{text-align:left;width:100%;min-height:130px;padding:18px 14px}.talent-card+.talent-card{margin-top:25px}.talent-card+.talent-card:after{content:"";background:#34333b;width:9px;height:25px;position:absolute;top:-28px;left:50%;box-shadow:inset 3px 0 #5e5c66}.talent-card .talent-top{align-items:center;gap:12px;display:flex}.talent-card .talent-top svg{flex-shrink:0;width:32px;height:32px}.talent-card h3{font-size:12px;line-height:1.8}.talent-card p{margin:14px 0 7px;font-size:9px;line-height:1.8}.talent-card small{color:var(--gold);font-size:8px}.talent-card.learned{border-color:#9b874e}.quest-card{margin:18px 16px;padding:15px 12px}.quest-title{align-items:center;gap:10px;margin-bottom:13px;font-size:10px;display:flex}.quest-title svg{width:33px;height:33px}.quest-title .meter{flex:1;height:22px}.quest-card h3{margin-bottom:10px;font-size:11px;line-height:1.8}.quest-bottom{justify-content:space-between;align-items:center;gap:8px;margin-top:15px;display:flex}.quest-bottom>span{color:var(--gold);font-size:8px}.quest-bottom button{min-height:35px;padding:7px 9px;font-size:9px}.quest-card.claimed .meter i{background:#599367}.quest-card.claimed button{color:#78bc89}.empty-bag{text-align:center;color:var(--muted);padding:50px 25px;font-size:10px;line-height:2.2}.bag-actions{gap:8px;margin-top:13px;display:flex}.bag-actions button{flex:1;min-height:35px;padding:8px;font-size:8px}.battle-screen{background:#0e0e10;grid-template-rows:35.5% minmax(0,1fr) max(17%,115px);height:100%;min-height:0;display:grid}.battlefield{background:url(/assets/wasteland.png) 50%/cover;position:relative;overflow:hidden}.battle-shade{background:linear-gradient(#0d0e12c4,#0d0e1288 10%,#0d0e1211 60%,#0d0e12 100%);position:absolute;inset:0}.battle-heading{text-align:center;z-index:2;text-shadow:2px 2px #141319;position:absolute;top:15px;left:12px;right:12px}.battle-heading h1{font-size:15px;line-height:1.7}.battle-heading>div{margin-top:4px;font-size:8px}.pause-button{z-index:4;background:#39383e;width:35px;height:35px;padding:0;font-size:26px;line-height:1;position:absolute;top:13px;right:14px;box-shadow:inset 3px 3px #88878e,inset -3px -3px #111014,0 0 0 4px #09090b}.battle-heading{left:47px;right:47px}.enemy-units{justify-content:center;align-items:flex-end;gap:13px;display:flex;position:absolute;inset:24% 12% 9%}.enemy-unit{isolation:isolate;background:0 0;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;padding:0 0 3px;display:flex;position:relative}.enemy-unit img{object-fit:contain;max-width:100%;height:65%;image-rendering:pixelated;transform-origin:50% 95%;filter:drop-shadow(3px 4px #090b0f77);animation:3.5s steps(3,end) infinite breathe}.enemy-unit.raider img{transform:scaleX(-1)}.enemy-unit.boss img{height:78%}.enemy-unit.dead{pointer-events:none;opacity:0!important}.enemy-top{text-align:center;text-shadow:2px 2px #0b0b11;flex-direction:column;align-items:center;gap:5px;font-size:8px;display:flex;position:absolute;top:0;left:0;right:0}.enemy-name{display:none}.enemy-hp{color:#e3dcca;order:-2;font-size:11px}.enemy-unit.selected .enemy-hp{color:var(--gold)}.enemy-health{background:#09090d;border:2px solid #151017;width:100%;height:9px;box-shadow:0 3px #0a090b}.enemy-health i{background:#be3341;height:100%;transition:width .18s;display:block}.intent-tag{color:#e3dccb;background:#101018d4;align-items:center;gap:5px;padding:3px 5px;font-size:9px;line-height:1.3;display:flex}.enemy-unit.selected:after{content:"";background:var(--gold);width:11px;height:4px;position:absolute;bottom:-5px}.threat{color:#d5d2c5;text-shadow:2px 2px #08070c;justify-content:center;align-items:center;gap:8px;font-size:9px;display:flex;position:absolute;bottom:7px;left:0;right:0}.threat-pips{gap:6px;display:flex}.threat-pips i{background:#d96551;width:8px;height:8px;display:block;box-shadow:1px 1px #6b282e}.threat-pips i.empty{background:#383940;box-shadow:1px 1px #17171c}.board-zone{background:#0d0e10;place-items:center;min-height:0;padding:10px 0 14px;display:grid;position:relative}.board-frame{width:var(--board-size);height:var(--board-size);touch-action:none;background:#0b0c10;border:3px solid #9b8245;position:relative;box-shadow:0 0 0 3px #050608,inset 0 0 0 3px #433921}.board-frame:before,.board-frame:after{content:"";z-index:5;pointer-events:none;background:#e1c57a;width:6px;height:6px;position:absolute}.board-frame:before{top:-3px;left:-3px}.board-frame:after{bottom:-3px;right:-3px}#phaser-board{position:absolute;inset:0}#phaser-board canvas{image-rendering:pixelated;display:block;width:100%!important;height:100%!important}.tile-grid{touch-action:none;grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(6,1fr);display:grid;position:absolute;inset:3.125%}.tile-grid button{touch-action:none;background:0 0;padding:0;position:relative;opacity:1!important}.tile-grid button:disabled{cursor:wait}.tile-grid button:focus-visible{outline-offset:-5px;background:#ffdf7e11;outline:2px solid #f7e4aa}.battle-hud{background:#1d1d23;border-top:9px solid #07070a;flex-direction:column;justify-content:space-around;gap:8px;min-height:0;padding:11px 13px 8px;display:flex;box-shadow:inset 0 3px #62616c}.health-line,.energy-line{align-items:center;gap:9px;min-height:28px;display:flex}.hud-icon{flex-shrink:0;place-items:center;width:25px;display:grid}.hud-icon svg{width:25px;height:25px}.health-line .hud-icon{color:#dc4b5e}.energy-line .hud-icon{color:#f0a33e}.battle-hud .meter{flex:1;height:24px}.block-box{background:#090b12;border:3px solid #14171f;justify-content:center;align-items:center;gap:5px;min-width:39px;height:28px;padding:2px 4px;font-size:11px;display:flex}.block-box span{color:#6b9bd5;place-items:center;display:grid}.block-box svg{width:16px;height:16px}.block-box b{font-weight:400}.energy-meter i{background:repeating-linear-gradient(90deg,#df7c25 0 15px,#ba5b1e 15px 19px)}.energy-meter b{margin-left:5px;font-weight:400}.energy-line>.red-button{width:100px;height:30px;min-height:30px;padding:4px 6px;font-size:11px}.hud-utilities{color:#b6bd91;justify-content:space-between;align-items:center;gap:7px;font-size:7px;display:flex}.mini-button{background:#292a2e;border:2px solid #3b3d40;min-height:22px;padding:3px 4px;font-size:7px}.mini-button:disabled{opacity:.3}.rad-badge b{font-weight:400}.battle-float,.combo{opacity:0;z-index:9;pointer-events:none;color:var(--gold);text-shadow:3px 3px #101018;text-align:center;font-size:17px;line-height:1.7;position:absolute}.battle-float{top:45%;left:5%;right:5%}.combo{font-size:20px;top:43%;left:-15px;right:-15px}.pop{animation:.85s steps(8,end) forwards float}.combo.show{animation:.9s steps(8,end) forwards float}.hit{animation:.35s steps(3,end) hit!important}.attack{animation:.35s steps(3,end) attack!important}.modal-overlay{z-index:20;background:#06050bd9;justify-content:center;align-items:center;padding:18px;display:flex;position:absolute;inset:0;overflow-y:auto}.modal{scrollbar-width:thin;text-align:center;background:#202025;border:5px solid #5e5e68;width:100%;max-height:100%;padding:22px 16px;position:relative;overflow-y:auto;box-shadow:inset 3px 3px #8a8992,inset -3px -3px #111116,0 0 0 4px #08080c}.modal h2{margin:0 0 17px;font-size:19px;line-height:1.8}.modal p{color:#bdbcb7;font-size:9px;line-height:2}.modal-tag{color:var(--gold);margin-bottom:15px;font-size:8px}.modal-actions{gap:10px;margin-top:20px;display:flex}.modal-actions>*{flex:1;min-width:0;font-size:9px}.modal .close-button{background:#35343c;border:2px solid #08080c;width:27px;height:27px;padding:0;font-size:17px;position:absolute;top:7px;right:9px;box-shadow:inset 2px 2px #75737d}.menu-buttons{gap:11px;display:grid}.menu-buttons button{width:100%}.guide-icons{background:#0b0c10;justify-content:center;gap:12px;margin:17px 0;padding:13px;display:flex}.guide-icons svg{width:40px;height:40px}.guide-list{text-align:left;gap:11px;margin:16px 0;display:grid}.guide-list>div{align-items:center;gap:12px;font-size:8px;line-height:1.9;display:flex}.guide-list svg{flex-shrink:0;width:27px;height:27px}.loot-heading{text-align:center;color:var(--gold);text-shadow:3px 3px #09090c;margin-bottom:22px;font-size:32px}.loot-card{border-color:#5c92bc}.loot-rarity{color:#77b7e0;font-size:11px}.loot-picture{background:#0b0b0e;border:5px solid #cccac1;place-items:center;width:112px;height:112px;margin:18px auto;display:grid;box-shadow:0 0 0 3px #09090c}.loot-picture svg{width:78px;height:78px}.loot-card h2{margin-bottom:8px;font-size:14px}.loot-card .loot-slot{color:#9b9aa1;font-size:8px}.loot-properties{text-align:left;background:#111115;border:3px solid #08080c;gap:10px;margin-top:17px;padding:13px 11px;font-size:9px;line-height:1.8;display:grid}.loot-properties span{color:#89be91}.result-heading{color:var(--gold);text-align:center;text-shadow:4px 4px #09090c;margin:6px 0 15px;font-size:32px;line-height:1.6}.result-heading.lost{color:#db4054}.result-stats{grid-template-columns:1fr 1fr;gap:9px;margin:17px 0;display:grid}.result-stat{text-align:center;background:#101014;border:3px solid #09090c;padding:13px 6px}.result-stat b{color:var(--gold);font-size:16px;font-weight:400;display:block}.result-stat small{margin-top:6px;font-size:7px;display:block}.modal-close-hint{color:#97969d;margin-top:17px;font-size:7px}.toast{z-index:30;text-align:center;color:var(--gold);opacity:0;pointer-events:none;background:#202027;border:3px solid #bda15d;padding:12px 10px;font-size:8px;line-height:1.9;transition:opacity .12s;position:absolute;bottom:76px;left:12px;right:12px;box-shadow:0 0 0 3px #07070a}.toast.visible{opacity:1}.settings-note{margin-top:14px!important;font-size:7px!important}.version-note{color:#64636a;text-align:center;margin:15px;font-size:7px}@keyframes breathe{50%{translate:0 -2px}}@keyframes float{0%{opacity:0;translate:0 9px}15%{opacity:1}80%{opacity:1}to{opacity:0;translate:0 -22px}}@keyframes hit{0%,50%{filter:brightness(2);translate:5px}25%,75%{translate:-4px}to{translate:0}}@keyframes attack{50%{translate:0 9px}to{translate:0}}@media (width<=520px){body{background:var(--ink);padding:0}.game-shell{width:100%;min-width:320px;height:100dvh;min-height:620px;box-shadow:none}.hero-scene{height:300px}.world-map{height:37dvh}}@media (height<=750px){.topbar{height:51px}.bottom-nav{height:58px}.chapter-head{min-height:87px;padding-top:14px}.chapter-head h1{font-size:17px}.world-map{height:30dvh;min-height:200px}.mission-card{margin-top:12px;margin-bottom:12px;padding:12px}.mission-summary{margin-bottom:10px}.mission-thumb{width:58px;height:58px}.mission-summary h2{font-size:11px}.hero-scene{height:245px}.battle-hud{gap:5px;padding-top:8px;padding-bottom:6px}.battle-heading h1{font-size:13px}.battle-heading>div{font-size:7px}.enemy-hp{font-size:10px}.pause-button{width:31px;height:31px}.meter>span,.battle-hud .meter span{font-size:8px}.energy-line>.red-button{width:87px;font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.enemy-unit:disabled{opacity:1}.talent-card:disabled{opacity:.7}.talent-card.learned:disabled{opacity:1}html.app-fullscreen body,html.app-standalone body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#08080b}html.app-fullscreen .game-shell,html.app-standalone .game-shell{height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:min(480px,100%);min-width:min(320px,100%);box-shadow:none}.modal .install-step{text-align:left;background:#121217;margin:14px 0;padding:10px}.board-frame.board-miss{animation:.42s step-end board-miss;box-shadow:0 0 0 3px #5b1421,0 0 16px #d32d4355,inset 0 0 0 3px #732331}.board-frame.board-hit{animation:.27s step-end board-hit}.board-frame.board-combo{animation:.22s step-end board-combo}@keyframes board-miss{0%,to{transform:translate(0)}12%{transform:translate(-7px,2px)}26%{transform:translate(6px,-2px)}40%{transform:translate(-5px,1px)}56%{transform:translate(4px,-1px)}72%{transform:translate(-2px)}86%{transform:translate(1px)}}@keyframes board-hit{0%,to{transform:translate(0)}20%{transform:translate(-3px,1px)}45%{transform:translate(3px,-1px)}70%{transform:translate(-1px)}}@keyframes board-combo{0%,to{transform:translateY(0)}30%{transform:translateY(2px)}65%{transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.board-frame.board-miss,.board-frame.board-hit,.board-frame.board-combo{animation:none;transform:none}}body{background:radial-gradient(at top,#28262b,#09090d 75%);align-items:center;padding:12px}.game-shell{width:min(1600px,100%);min-width:0;height:calc(100dvh - 24px);min-height:540px;max-height:1040px;box-shadow:none;background:#0d0d11;overflow:hidden}.topbar{clip-path:polygon(0 13px,13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px));background:linear-gradient(90deg,#111116 3%,#11111622 43%,#11111611 62%,#111116 97%),url(/assets/header-skyline.png) 50% 53%/cover;border:4px solid #3d3c45;border-bottom-color:#111116;flex-shrink:0;gap:13px;height:64px;padding:7px 18px;box-shadow:inset 2px 2px #787580,inset -2px -2px #09090d,0 3px #020205}.brand{letter-spacing:0;white-space:nowrap;text-shadow:3px 3px #0b0a0e;align-items:center;gap:15px;font-size:clamp(13px,1.6vw,24px);line-height:1.4;display:flex}.brand small{color:#aaa394;letter-spacing:2px;margin-top:5px;font-size:6px;display:block}.brand-emblem{color:#ffcb6c;clip-path:polygon(0 0,100% 0,100% 86%,50% 100%,0 86%);background:linear-gradient(90deg,#651c2b,#a33236 50%,#651c2b);border:3px solid #cd7559;align-self:flex-start;place-items:center;width:36px;height:46px;font-size:29px;display:grid;box-shadow:inset 3px 0 #26212a,inset -3px 0 #26212a}.topbar .icon-button{border:3px solid #09090d;place-items:center;width:42px;height:40px;display:grid;box-shadow:inset 2px 2px #777580,inset -2px -2px #16151b,0 0 0 2px #302e36}.topbar .icon-button svg{width:23px;height:23px}.wallet{gap:12px;font-size:12px}.wallet>span{text-align:center;min-width:68px;padding:7px 9px;box-shadow:inset 2px 2px #3f3c44,0 0 0 2px #292830}.meta-layout{flex:1;grid-template-columns:minmax(0,.41fr) minmax(0,.59fr);gap:16px;min-height:0;padding:16px 5px 5px;display:grid;overflow:visible}.metal-panel{isolation:isolate;background-color:#111116;border:5px solid #51515c;min-width:0;position:relative;box-shadow:inset 3px 3px #88858f,inset -3px -3px #24232b,0 0 0 3px #07070a}.metal-panel:before{content:"";z-index:7;pointer-events:none;clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));border:1px solid #a4a0aa;position:absolute;inset:-3px}.metal-panel:after{content:"";z-index:8;pointer-events:none;background:linear-gradient(#c8bca4,#c8bca4) 3px 3px/3px 3px no-repeat,linear-gradient(#c8bca4,#c8bca4) calc(100% - 3px) 3px/3px 3px no-repeat,linear-gradient(#c8bca4,#c8bca4) 3px calc(100% - 3px)/3px 3px no-repeat,linear-gradient(#c8bca4,#c8bca4) calc(100% - 3px) calc(100% - 3px)/3px 3px no-repeat;position:absolute;inset:0}.character-panel,.world-panel{scrollbar-width:thin;scrollbar-color:#595762 #151419;min-height:0;overflow-y:auto}.hero-page{flex-direction:column;gap:9px;height:100%;min-height:615px;padding:13px 16px;display:flex}.hero-head{flex-shrink:0;margin:0}.hero-head h1{font-size:clamp(13px,1.5vw,21px);line-height:1.4}.hero-head .icon-button{width:34px;height:30px}.xp-line{flex-shrink:0;margin:0}.xp-line .meter{height:24px}.level-badge{color:#fff0c2;background:#9a711f;border-color:#18100a;padding:5px 9px;font-size:9px;box-shadow:inset 2px 2px #efc559,inset -2px -2px #4f3813}.hero-scene{background-position:50% 60%;border:5px solid #585761;flex:1;height:auto;min-height:150px;margin:0;box-shadow:inset 0 0 0 3px #09090d,0 0 0 2px #08080b}.hero-scene>.hero-art{max-width:75%;height:100%;bottom:0}.gear-slot{border-color:#b4a37e;width:64px;height:64px;box-shadow:inset 2px 2px #554d3d,0 0 0 3px #09090d}.gear-slot.weapon,.gear-slot.helmet{top:10px}.gear-slot.armor,.gear-slot.device{bottom:10px}.gear-slot.weapon,.gear-slot.armor{left:10px}.gear-slot.helmet,.gear-slot.device{right:10px}.equipment-art{width:47px;height:47px;image-rendering:pixelated;background-image:url(/assets/equipment-icons.png);background-size:200% 200%;flex-shrink:0;display:block}.equipment-art.weapon{background-position:0 0}.equipment-art.helmet{background-position:100% 0}.equipment-art.armor{background-position:0 100%}.equipment-art.device{background-position:100% 100%}.hero-stats{flex-shrink:0;gap:8px;margin:0}.hero-stat{clip-path:polygon(0 7px,7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px));grid-template-columns:1fr;place-items:center;gap:2px;padding:5px 3px;display:grid;box-shadow:inset 1px 1px #36343e}.hero-stat svg{color:#c7baa2;width:16px;height:16px}.hero-stat:first-child svg{color:#e64d62}.hero-stat:last-child svg{color:#edc75a}.hero-stat b{color:#e5dfce;font-size:12px}.hero-stat small{font-size:7px}.hero-page .section-label{color:var(--gold);flex-shrink:0;margin:0;font-size:8px;line-height:1.3}.hero-page .gear-list{flex-shrink:0;gap:6px;margin:0}.hero-page .gear-row{background:linear-gradient(155deg,#3c3a41,#232329);border-width:3px;gap:10px;min-height:38px;padding:5px 9px;box-shadow:inset 1px 1px #6d6a72,0 1px #050508}.hero-page .gear-row:before{display:none}.hero-page .gear-row:after{content:"➜";color:#d9d8d0;margin-left:auto;font-size:21px}.hero-page .gear-row .equipment-art{width:30px;height:30px}.hero-page .gear-row strong{font-size:9px}.hero-page .gear-row small{margin-top:3px;font-size:7px}.character-actions{flex-shrink:0;grid-template-columns:1fr 1fr;gap:8px;display:grid}.character-actions>.red-button{grid-column:1/-1}.character-actions button{min-height:39px;padding:7px 5px;font-size:10px}.character-actions svg{width:22px;height:22px}.panel-nav{z-index:8;background:#17161d;border-bottom:3px solid #39373f;gap:7px;padding:12px;display:flex;position:sticky;top:0}.panel-nav button{background:#2d2c34;border:2px solid #09090d;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 2px;font-size:7px;display:flex}.panel-nav button.active{color:var(--gold);box-shadow:inset 0 2px var(--gold)}.panel-nav svg{width:17px;height:17px}.character-panel .page-title{margin-top:15px;font-size:18px}.world-panel.show-map{flex-direction:column;display:flex;overflow:hidden}.chapter-head{background:linear-gradient(#202025,#121217);border-bottom:5px solid #060609;flex-shrink:0;min-height:76px;padding:15px 18px}.chapter-head small{font-size:10px}.chapter-head h1{max-width:87%;margin-top:5px;font-size:clamp(14px,1.6vw,23px);line-height:1.5}.chapter-progress{color:var(--gold);align-items:center;gap:7px;font-size:11px;display:flex;position:absolute;top:25px;right:18px}.chapter-progress svg{width:24px;height:24px}.world-map{border-bottom:4px solid #0a0a0d;flex:1;height:auto;min-height:200px;overflow:hidden}.world-map-inner{aspect-ratio:auto;background-image:url(/assets/expedition-desert.png);background-position:50%;background-size:100% 100%;width:100%;height:100%}.map-node{gap:5px;min-width:85px}.map-node .node-icon{border:4px solid #65615b;width:47px;height:47px;font-size:30px;box-shadow:inset 2px 2px #96917f,0 0 0 3px #080a0a,3px 4px #080a0a88}.map-node.current .node-icon{color:#ffdf79;border-color:#e5c26a;box-shadow:inset 2px 2px #fff1ad,0 0 0 3px #101013,0 4px #08080c}.map-node.locked .node-icon{opacity:.9;background:#22272aee}.map-node.done .node-icon{font-size:30px;line-height:1}.map-node .node-label{padding:5px 8px;font-size:8px;box-shadow:0 2px #06080a}.node-current{letter-spacing:1px;color:#f4c968;background:#101519ed;padding:4px 6px;font-size:6px;line-height:1.4}.world-panel .mission-card{background:linear-gradient(150deg,#303035,#17171d);border-color:#63616a;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:94px;margin:10px 12px 3px;padding:11px 12px;display:flex;box-shadow:inset 2px 2px #8e8994,inset -2px -2px #18151d,0 0 0 3px #08080b}.mission-summary{gap:12px;min-width:0;margin:0}.mission-thumb{width:67px;height:67px}.mission-summary h2{font-size:clamp(10px,1.2vw,17px);line-height:1.5}.mission-summary small{font-size:7px}.small-enemy{width:32px;height:32px;margin-top:6px;display:inline-block}.world-panel .mission-card>.red-button{width:35%;min-width:150px;min-height:57px;padding:10px;font-size:11px}.world-panel .page-foot{margin:6px 15px 9px;font-size:6px;line-height:1.7}.world-panel:not(.show-map) .route-banner{height:150px;margin:18px 18px 14px}.world-panel:not(.show-map) .encounter-card{margin:18px;padding:20px}.world-panel .encounter-enemy img{height:140px}.world-panel .choice-row{padding:15px}.battle-screen{background:0 0;flex:1;grid-template-rows:minmax(0,1fr) 100px;grid-template-columns:minmax(0,.41fr) minmax(0,.59fr);gap:16px;height:auto;min-height:0;padding:16px 5px 5px;display:grid}.board-zone{background:#131219;grid-area:1/1;min-width:0;min-height:0;padding:14px;overflow:hidden}.board-frame{flex-shrink:0}.battlefield{background-position:50% 60%;grid-area:1/2;min-width:0;min-height:0}.battle-shade{background:linear-gradient(#090a0fcc,#0d0e1222 35%,#0d0e1200 62%,#090c12bd)}.battle-heading{text-align:left;background:linear-gradient(#202025,#111116);border-bottom:4px solid #07070a;flex-direction:column;gap:7px;min-height:78px;padding:13px 58px 13px 20px;display:flex;top:0;left:0;right:0}.battle-heading h1{order:2;font-size:clamp(14px,1.65vw,23px);line-height:1.5}.battle-heading>div{color:var(--gold);order:1;margin:0;font-size:9px}.pause-button{width:38px;height:38px;top:18px;right:16px}.enemy-units{gap:26px;inset:27% 14% 12%}.enemy-unit{max-width:300px}.enemy-unit img{object-fit:contain;width:auto;max-width:100%;height:calc(100% - 61px);max-height:85%}.enemy-unit.boss img{max-width:130%;height:calc(100% - 60px)}.enemy-unit.mutant img{width:100%;max-width:120%;height:calc(100% - 65px)}.enemy-top{gap:7px;width:100%}.enemy-name{color:#dcd0b6;order:3;font-size:7px;display:block}.enemy-hp{font-size:14px}.enemy-health{border-width:3px;height:12px}.intent-tag{padding:5px 7px;font-size:11px}.intent-tag svg{width:17px;height:17px}.enemy-unit.selected:after{width:18px;height:5px;bottom:-8px}.threat{gap:12px;font-size:10px;bottom:14px}.threat-pips{gap:9px}.threat-pips i{width:11px;height:11px}.battle-float{font-size:20px;top:45%}.battle-hud{gap:7px 20px;justify-content:initial;background:linear-gradient(#2b2930,#18171e);grid-area:2/1/auto/-1;grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);padding:12px 16px 8px;display:grid}.health-line,.energy-line{gap:12px;min-width:0}.battle-hud .meter{height:30px}.battle-hud .meter span{font-size:11px}.hud-icon,.hud-icon svg{width:29px;height:29px}.block-box{min-width:49px;height:34px;font-size:13px}.energy-line{border-left:2px solid #55515d;padding-left:20px}.energy-line>.red-button{width:160px;height:39px;min-height:39px;font-size:13px}.hud-utilities{grid-column:1/-1;justify-content:flex-end;gap:12px}.hud-utilities .rad-badge{margin-right:auto;font-size:8px}.mini-button{min-height:23px;padding:3px 8px;font-size:8px}.modal-overlay{z-index:50;padding:20px;position:fixed}.modal{width:min(480px,100%);max-height:calc(100dvh - 40px);padding:23px 22px}.modal h2{font-size:19px}.modal .full-button{width:100%;margin:15px 0 0}.toast{width:min(520px,100% - 32px);position:absolute;bottom:24px;left:50%;right:auto;transform:translate(-50%)}.battle-active .toast{bottom:120px}html.app-fullscreen .game-shell,html.app-standalone .game-shell{width:min(1600px,100%);height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-width:0;max-height:none}@media (height<=760px){.topbar{height:54px}.brand{font-size:18px}.brand small{display:none}.brand-emblem{width:31px;height:38px;font-size:24px}.topbar .icon-button{width:34px;height:33px}.wallet{font-size:10px}.wallet>span{padding:5px 7px}.meta-layout,.battle-screen{gap:12px;padding-top:12px}.hero-page{gap:7px;min-height:530px;padding:11px 13px}.hero-head h1{font-size:16px}.hero-scene{min-height:114px}.hero-stats{gap:6px}.hero-stat{padding:3px}.hero-stat svg{width:13px;height:13px}.hero-stat b{font-size:10px}.hero-stat small{font-size:6px}.hero-page .gear-row{min-height:33px;padding:3px 7px}.hero-page .gear-row .equipment-art{width:27px;height:27px}.hero-page .gear-row strong{font-size:8px}.hero-page .gear-row small{font-size:6px}.character-actions button{min-height:34px;padding:5px;font-size:9px}.character-actions{gap:6px}.chapter-head{min-height:67px;padding:10px 16px}.chapter-head h1{font-size:18px}.chapter-head small{font-size:8px}.chapter-progress{top:21px}.world-panel .mission-card{min-height:80px;padding:8px 10px}.mission-thumb{width:56px;height:56px}.mission-summary h2{font-size:13px}.world-panel .mission-card>.red-button{min-height:48px;font-size:10px}.battle-screen{grid-template-rows:minmax(0,1fr) 92px}.battle-heading{gap:4px;min-height:66px;padding-top:11px;padding-bottom:10px}.battle-heading h1{font-size:18px}.battle-heading>div{font-size:8px}.pause-button{width:33px;height:33px;top:14px}.enemy-hp{font-size:12px}.battle-hud{gap:5px 15px;padding:9px 12px 7px}.battle-hud .meter{height:26px}.battle-hud .meter span{font-size:9px}.energy-line>.red-button{width:130px;font-size:12px}}@media (width<=1000px){.brand{font-size:16px}.brand small{display:none}.topbar{gap:9px;padding-left:11px;padding-right:11px}.wallet{gap:8px;font-size:9px}.wallet>span{min-width:48px;padding:6px}.hero-head h1{font-size:14px}.hero-page{gap:7px;padding:11px}.hero-page .gear-row strong{font-size:8px}.hero-page .gear-row small{font-size:6px}.gear-slot{width:52px;height:52px}.gear-slot .equipment-art{width:38px;height:38px}.hero-stats{gap:5px}.character-actions button{font-size:8px}.chapter-head h1{font-size:16px}.chapter-progress{font-size:9px;right:12px}.chapter-progress svg{width:19px;height:19px}.mission-summary h2{font-size:11px}.mission-summary small{font-size:6px}.mission-thumb{width:49px;height:49px}.world-panel .mission-card{gap:8px}.world-panel .mission-card>.red-button{min-width:125px;font-size:9px}.map-node .node-label{font-size:6px}.enemy-units{gap:16px;left:11%;right:11%}.battle-heading h1{font-size:16px}.battle-hud{gap:5px 10px}.energy-line{padding-left:10px}.energy-line>.red-button{width:105px;font-size:10px}}@media (height<=520px) and (orientation:landscape){body{padding:0}.game-shell{height:100dvh;min-height:320px}.topbar{height:43px;padding:3px 10px}.brand{font-size:14px}.brand-emblem{width:27px;height:31px;font-size:20px}.topbar .icon-button{width:30px;height:29px}.topbar .icon-button svg{width:19px;height:19px}.wallet>span{padding:3px 6px}.meta-layout,.battle-screen{gap:10px;padding:10px 5px 4px}.battle-screen{grid-template-rows:minmax(0,1fr) 73px}.battle-heading{gap:3px;min-height:48px;padding:7px 47px 7px 12px}.battle-heading h1{font-size:12px}.battle-heading>div{font-size:6px}.pause-button{width:28px;height:28px;font-size:22px;top:9px;right:12px}.enemy-units{inset:29% 18% 12%}.enemy-top{gap:3px}.enemy-hp{font-size:9px}.enemy-health{border-width:2px;height:8px}.intent-tag{padding:2px 4px;font-size:8px}.intent-tag svg{width:12px;height:12px}.enemy-name{display:none}.enemy-unit img,.enemy-unit.boss img,.enemy-unit.mutant img{height:calc(100% - 32px)}.threat{gap:8px;font-size:7px;bottom:7px}.threat-pips i{width:8px;height:8px}.battle-hud{gap:3px 10px;padding:5px 10px}.battle-hud .meter{height:22px}.battle-hud .meter span{font-size:8px}.hud-icon,.hud-icon svg{width:22px;height:22px}.block-box{min-width:36px;height:26px;font-size:10px}.energy-line>.red-button{width:95px;height:28px;min-height:28px;font-size:9px}.mini-button{min-height:20px;font-size:6px}.hud-utilities .rad-badge{font-size:6px}.chapter-head{min-height:56px}.chapter-head h1{font-size:13px}.world-map{min-height:100px}.world-panel .mission-card{min-height:63px;margin:7px 10px 0}.world-panel .mission-card>.red-button{min-width:106px;min-height:36px;font-size:7px}.mission-thumb{width:40px;height:40px}.small-enemy{display:none}.mission-summary h2{font-size:9px}.map-node .node-icon{width:32px;height:32px}.map-node .node-icon svg{width:20px;height:20px}.map-node .node-label{padding:3px 5px;font-size:5px}.node-current{display:none}.world-panel .page-foot{margin:3px 8px;font-size:5px}.battle-float{font-size:12px}}.hero-page .gear-list{scrollbar-width:thin;scrollbar-color:#625d69 #17161c;min-height:0;max-height:112px;padding:2px;overflow-y:auto}.metal-panel,.hero-scene{clip-path:polygon(0 7px,7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px))}.red-button,.gray-button,.hero-page .gear-row{clip-path:polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px))}.mission-summary>div{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.brand-emblem svg{width:24px;height:27px}.topbar #header-menu{font-size:25px}@media (height<=760px){.hero-page .gear-list{max-height:81px}}.character-panel{flex-direction:column;display:flex;overflow:hidden}.character-content{scrollbar-width:thin;scrollbar-color:#595762 #151419;flex:1;min-height:0;overflow-y:auto}.panel-nav{flex-shrink:0;padding:10px 12px;position:relative;top:auto}.panel-nav button{min-height:30px;font-size:8px}.board-zone{flex-direction:column;padding:0;display:flex}.board-playarea{flex:1;place-items:center;width:100%;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.battle-nav span{place-items:center;display:grid}.battle-nav svg{width:16px;height:16px}@media (height<=520px) and (orientation:landscape){.panel-nav{gap:5px;padding:5px 7px}.panel-nav button{min-height:22px;padding:3px;font-size:6px}.panel-nav svg,.battle-nav svg{width:12px;height:12px}}.orientation-gate{z-index:100;text-align:center;font-family:var(--pixel);background:radial-gradient(#2b2524,#0d0d12 75%);flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:28px;display:flex;position:fixed;inset:0}.orientation-gate h1{color:#edc75a;font-size:18px;line-height:1.8}.orientation-gate p{font-size:11px;line-height:2.3}.orientation-gate small{color:#96908b;font-size:7px;line-height:2}.rotate-device{color:#e9c56e;background:#17161e;border:6px solid #8c888c;place-items:center;width:140px;height:90px;font-size:51px;display:grid;box-shadow:inset 3px 3px #2c282e,0 0 0 4px #08080c}@media (orientation:portrait){body{padding:0;overflow:hidden}.game-shell{visibility:hidden}.orientation-gate{display:flex}}html,body{overscroll-behavior:none;height:100%;overflow:hidden}.game-shell{overscroll-behavior:none}.character-content,.world-panel,.modal,.modal-overlay,.gear-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.hero-head .bag-button{border:3px solid #0a090d;place-items:center;width:46px;height:41px;display:grid;box-shadow:inset 2px 2px #9b969d,inset -3px -3px #19171d,0 0 0 2px #414047}.hero-head .bag-button svg{width:28px;height:28px}@media (height<=520px){.hero-head .bag-button{width:40px;height:36px}.hero-head .bag-button svg{width:25px;height:25px}}
