@font-face{font-family:Noto Sans SC;src:url(/fonts/noto-sans-sc.woff2) format("woff2");font-style:normal;font-weight:400 900;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#34463a;background:#f4f3ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #304436;--muted: #92988b;--line: #dedfd3;--orange: #dc8150;--dark: #2c4438;--number-font: "Space Grotesk", "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;min-width:360px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #d88650;outline-offset:4px}button{touch-action:manipulation}a{color:inherit;text-decoration:none}button,h1,h2,h3,p{margin:0}button{border:0}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.app-shell{width:min(1480px,100%);margin:0 auto;padding:0 38px}.topbar{height:92px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand>svg{width:43px;height:43px}.brand strong{display:block;font-size:22px;font-weight:800;letter-spacing:1.5px;line-height:1.4}.brand-dot{color:var(--orange);margin-left:2px}.brand small{display:block;font-family:var(--number-font);font-size:9px;font-weight:500;letter-spacing:3px;margin-top:3px}.expedition-title{display:flex;gap:13px;align-items:center;font-size:13px;margin-left:auto;margin-right:auto}.tiny-label{font:10px var(--number-font);color:#9a9f93;letter-spacing:1.3px}.tag{background:#e8ebde;border:1px solid #dce2d1;padding:4px 8px;font-size:10px;border-radius:4px;color:#728061}.header-actions{display:flex;gap:6px;align-items:center}.prototype{display:flex;align-items:center;gap:7px;font-size:10px;color:#8d9487;padding-right:15px;margin-right:8px;border-right:1px solid var(--line)}.prototype i,.live-pill i{display:block;width:5px;height:5px;border-radius:50%;background:#91a47c}.icon-button{background:transparent;border:1px solid transparent;border-radius:7px;width:34px;height:34px;display:inline-flex;justify-content:center;align-items:center;color:#73806e;transition:background .2s,color .2s}.icon-button .icon{width:18px;height:18px}.icon-button:hover{background:#e7e9de;color:var(--dark)}.route-bar{height:90px;display:flex;align-items:center;gap:35px}.route-heading{display:flex;gap:11px;align-items:center;min-width:150px}.route-heading>.icon{color:#8b9580;width:20px;height:20px}.route-heading>span{font-size:12px;font-weight:600}.route-heading small{display:block;font:8px var(--number-font);letter-spacing:1.4px;color:#9aa18f;margin-top:4px}.route{list-style:none;margin:0 auto;padding:0;display:flex;justify-content:space-between;flex:1;max-width:800px}.route-node{display:flex;align-items:center;gap:10px;color:#a3a898;position:relative;flex:1}.route-node:not(:last-child):after{content:"";height:1px;width:24%;position:absolute;left:72%;top:50%;border-top:1px dashed #cdd2c2}.route-node:last-child{flex:0 0 100px}.node-icon{width:35px;height:35px;border:1px solid #d8dccf;border-radius:50%;display:grid;place-items:center;background:#f0f1e8}.node-icon .icon{width:17px;height:17px}.node-copy small{display:block;font:9px var(--number-font);letter-spacing:1px;margin-bottom:3px}.node-copy strong{font-weight:500;font-size:11px;white-space:nowrap}.route-node.current{color:var(--dark)}.route-node.current .node-icon{color:#f1f3e5;background:var(--dark);border-color:var(--dark);box-shadow:0 0 0 4px #e2e7d7}.route-node.current .node-copy strong{font-weight:700}.here-dot{position:absolute;top:calc(100% + 6px);left:15px;width:4px;height:4px;background:#dc8e58;border-radius:50%}.completed{color:#728961}.completed .node-icon{background:#e5eada;border-color:#c6d1b7}.scrap-count{display:flex;align-items:center;gap:8px;border:1px solid #dedfd2;padding:8px 11px;border-radius:6px;flex-shrink:0}.scrap-count .icon{width:17px;height:17px;color:#9b976a}.scrap-count strong{font:600 15px var(--number-font);min-width:15px}.scrap-count>span{color:#919582;font-size:10px}.combat-grid{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:20px}.battlefield{position:relative;height:374px;border:1px solid #cbd0ba;border-radius:11px;overflow:hidden;isolation:isolate;background:#e8e8d6}.landscape{position:absolute;width:100%;height:100%;inset:0;z-index:-1}.battle-topline{position:absolute;top:24px;left:27px;right:24px;display:flex;justify-content:space-between;align-items:flex-start}.location{position:relative}.chapter-index{font:9px var(--number-font);color:#7f8d72;letter-spacing:2px}.location h1{font-size:22px;line-height:1.6;font-weight:700;letter-spacing:2px;margin-top:3px}.location-meta{font:8px var(--number-font);letter-spacing:1.5px;color:#859079}.weather{display:flex;gap:7px;align-items:center;font-size:9px;color:#87907a}.weather .icon{width:14px;height:14px}.weather>span{font:12px var(--number-font);margin-left:3px}.round-badge{position:absolute;top:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:7px 10px;background:#f4f4e9c9;border:1px solid #cdd3bd;border-radius:5px;color:#607252;font-size:10px;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.round-badge strong{font:600 13px var(--number-font)}.round-separator{height:10px;width:1px;background:#c6cdb8;margin:0 2px}.status-dot{display:inline-block;width:5px;height:5px;background:#83986b;border-radius:50%;flex-shrink:0}.working{background:#cf8955;animation:blink 1s ease-in-out infinite}.unit{position:absolute;z-index:2}.unit-art{display:block;width:100%;height:100%;overflow:visible}.player-unit{width:34%;left:11%;bottom:90px;animation:tank-idle 4s ease-in-out infinite}.enemy-unit{width:27%;right:12%;bottom:88px;animation:enemy-idle 3.5s ease-in-out infinite}.enemy-unit.walker,.enemy-unit.boss{width:28%;right:11%;bottom:86px}.enemy-unit.boss{width:31%;right:10%}.intent-bubble{position:absolute;display:flex;align-items:center;gap:7px;right:22%;top:114px;border-radius:5px;padding:7px 10px;color:#9c6548;background:#fbf0dcde;border:1px solid #d4ac83;font-size:10px;z-index:4;box-shadow:0 3px 8px #5a543308}.intent-bubble:after{content:"";position:absolute;left:calc(50% - 4px);bottom:-5px;width:8px;height:8px;border-bottom:1px solid #d4ac83;border-right:1px solid #d4ac83;background:#fbf0dc;transform:rotate(45deg)}.intent-bubble .icon{width:14px;height:14px}.intent-bubble strong{font:700 17px var(--number-font);margin-left:3px}.intent-bubble.guard{color:#637e76;border-color:#9eafa0;background:#e9eedce8}.intent-bubble.guard:after{border-color:#9eafa0;background:#e9eedc}.intent-tooltip{display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);background:#2e4239;color:#f1efdf;padding:8px;font-size:10px;border-radius:4px;white-space:nowrap;z-index:20}.intent-bubble:hover .intent-tooltip{display:block}.unit-caption{position:absolute;bottom:20px;width:29%;z-index:3}.player-caption{left:12%}.enemy-caption{right:12%}.unit-caption>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:8px}.unit-name{font-size:12px;font-weight:700;letter-spacing:.5px}.unit-class{font-size:8px;border:1px solid #9caa8c;padding:1px 5px;border-radius:2px;color:#6d7b5e;white-space:nowrap}.enemy-caption .unit-class{border-color:#b2a183;color:#8a795e}.health-line{display:flex;align-items:center;gap:7px}.health-line>.icon{width:12px;height:12px;color:#657c57}.health-track{height:6px;border-radius:2px;background:#a9b19566;flex:1;overflow:hidden}.health-track>i{display:block;background:#6f8955;height:100%;border-radius:inherit;transition:width .4s}.enemy-health{background:#baa98b77}.enemy-health>i{background:#b8805c}.enemy-caption .health-line>.icon{color:#a47653}.health-line strong{font:700 11px var(--number-font);white-space:nowrap}.health-line strong>span{font-size:9px;font-weight:400;color:#7b826b}.unit-status{display:flex;gap:11px;align-items:center;font-size:9px;min-height:16px;margin-top:6px;color:#73856a}.unit-status>span{display:flex;align-items:center;gap:4px}.unit-status .icon{width:11px;height:11px}.unit-status .status-note{font-size:8px;color:#96997f}.unit-status .debuff{color:#ae704b}.unit-status .buff{color:#6b7f85}.battle-corner{position:absolute;width:9px;height:9px;opacity:.4;pointer-events:none}.battle-corner.top-left{top:9px;left:9px;border-top:1px solid #6e7d5c;border-left:1px solid #6e7d5c}.battle-corner.bottom-right{bottom:9px;right:9px;border-bottom:1px solid #6e7d5c;border-right:1px solid #6e7d5c}.tactical-panel{border-radius:11px;background:#2e4438;color:#e4e8d5;padding:21px 22px 15px;position:relative;overflow:hidden}.tactical-panel:before{content:"";width:200px;height:200px;border:1px solid #aabf8c0c;border-radius:50%;position:absolute;top:-110px;right:-60px;box-shadow:0 0 0 25px #aabf8c03,0 0 0 50px #aabf8c03;pointer-events:none}.panel-title{display:flex;justify-content:space-between;align-items:center;font-size:10px}.panel-title>span:first-child{display:flex;align-items:center;gap:7px;font-weight:500}.panel-title .icon{width:15px;height:15px;color:#a9bc91}.live-pill{display:flex;align-items:center;gap:5px;font:8px var(--number-font);letter-spacing:1px;color:#91a484}.live-pill i{width:4px;height:4px}.tactical-heading{margin-top:20px;font-size:22px;font-weight:600;line-height:1.55;letter-spacing:0}.tactical-heading>span{color:#d9a26b}.tactical-description{color:#a1af96;font-size:10px;line-height:1.9;margin-top:9px}.forecast{margin-top:18px;border-top:1px solid #f3f4c718;border-bottom:1px solid #f3f4c718;padding:12px 0 13px}.forecast-label{display:flex;align-items:center;gap:6px;color:#aabb9b;font-size:9px}.forecast-label .icon{width:12px;height:12px}.forecast-label>span{margin-left:auto;color:#8f9f83;font-size:8px}.forecast-values{display:grid;grid-template-columns:repeat(3,1fr);margin-top:10px}.forecast-values>div{padding-left:17px;border-left:1px solid #ecedca15}.forecast-values>div:first-child{padding-left:0;border-left:0}.forecast-values strong{font:500 25px var(--number-font);color:#e0d7ad}.forecast-values small{display:block;font-size:8px;color:#a0ae93;margin-top:2px}.combat-log{margin-top:12px}.log-title{display:flex;justify-content:space-between;align-items:center;color:#a2b195;font-size:9px}.log-title .icon{width:11px;height:11px;opacity:.6}.log-lines{margin-top:7px}.log-lines p{display:flex;align-items:baseline;gap:6px;font-size:8px;color:#93a18a;line-height:1.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-lines p.latest{color:#c5cfb1}.log-dot{display:inline-block;flex-shrink:0;width:3px;height:3px;background:currentColor;border-radius:50%}.arsenal{margin-top:23px}.arsenal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.arsenal-heading h2{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;letter-spacing:.5px}.arsenal-heading h2>.icon{width:17px;height:17px}.arsenal-heading h2>span{margin-left:10px;font:8px var(--number-font);letter-spacing:1.5px;color:#a0a691}.sequence-note{display:flex;align-items:center;gap:7px;font-size:9px;color:#909984}.sequence-note .icon{width:14px;height:14px}.magazine-row{display:flex;align-items:center;gap:16px;padding:12px 15px;border:1px solid #d9decb;border-radius:8px;background:#eaece1}.magazine-label{width:122px;flex-shrink:0;padding-left:5px}.magazine-label strong{font-size:12px;font-weight:600;letter-spacing:.5px}.magazine-label>span{display:block;font:7px var(--number-font);letter-spacing:1px;color:#99a08a;margin-top:5px}.magazine{display:flex;flex:1;align-items:center;gap:12px;min-width:0}.ammo-slot{height:47px;border:1px dashed #c3cbb5;border-radius:5px;display:flex;align-items:center;flex:1;gap:10px;padding:0 10px;min-width:0;transition:background .15s,border-color .15s}.slot-number{font:12px var(--number-font);color:#a2ad94}.empty-slot-label{display:flex;flex:1;justify-content:center;align-items:center;gap:6px;font-size:10px;color:#9aa68b;padding-right:15px;white-space:nowrap}.empty-slot-label .icon{width:14px;height:14px}.slot-connector{color:#a6af98}.slot-connector .icon{width:13px;height:13px}.ammo-slot.filled{background:#f7f7ef;border:1px solid var(--card-accent);border-left-width:3px;gap:7px}.filled .slot-number{color:var(--card-accent)}.slot-card{display:flex;align-items:center;gap:6px;padding:0;background:none;flex:1;min-width:0}.slot-card .icon{width:14px;height:14px;color:var(--card-accent)}.slot-card strong{font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-controls{display:flex;gap:1px}.slot-controls>button{background:none;padding:3px 0;color:#8d9c7d}.slot-controls>button .icon{width:12px;height:12px}.slot-controls>button:hover:not(:disabled){color:var(--dark);background:#e8ebdf}.slot-controls>button:disabled{opacity:.22}.clear-button{display:flex;align-items:center;gap:4px;color:#909b83;background:none;font-size:9px;padding:8px 3px}.clear-button .icon{width:13px;height:13px}.clear-button:disabled{opacity:.4}.clear-button:hover:not(:disabled){color:var(--dark)}.fire-button{border-radius:5px;background:#d4d8c7;color:#a0a890;width:239px;flex-shrink:0;height:47px;padding:0 13px;display:flex;justify-content:space-between;align-items:center;position:relative;transition:background .2s,box-shadow .2s,transform .2s}.fire-button>span{display:grid;grid-template-columns:24px 1fr;align-items:center;column-gap:8px;text-align:left}.fire-button>span>.icon{grid-row:1 / 3;width:22px;height:22px}.fire-button strong{font-size:14px;font-weight:700;line-height:1.3}.fire-button small{font:6px var(--number-font);letter-spacing:1.4px;line-height:1.6}.fire-button>.icon{width:21px;height:21px;margin-right:25px}.fire-button>kbd{font:10px var(--number-font);border:1px solid currentColor;border-radius:3px;opacity:.4;width:18px;height:18px;position:absolute;right:11px;display:grid;place-items:center}.fire-button.ready{color:#fff6e8;background:#d5814e;box-shadow:0 3px #b86b3c}.fire-button.ready:hover{background:#c87443;box-shadow:0 4px #a76035,0 3px 15px #d5814e25;transform:translateY(-1px)}.fire-button.ready:active{transform:translateY(2px);box-shadow:0 1px #a76035}.hand-row{display:flex;align-items:center;gap:24px;margin-top:20px}.pile-button{background:none;width:99px;flex-shrink:0;text-align:center;padding:0;color:#8a957c}.pile-art{position:relative;display:grid;place-items:center;width:58px;height:73px;margin:0 auto 14px;border:1px solid #b7c1a7;border-radius:5px;background:#e6e9dc;transform:rotate(-8deg);box-shadow:4px 3px #f1f2e8,5px 4px #c6cfb8,8px 6px #edf0e3,9px 7px #ced5c0;transition:transform .2s}.pile-art .icon{width:27px;height:27px;color:#a6b394}.pile-art b{position:absolute;bottom:-8px;right:-8px;height:23px;min-width:23px;border:2px solid #f4f3ed;border-radius:50%;background:#708462;color:#f5f5e6;font:600 10px var(--number-font);display:grid;place-items:center}.pile-button strong{display:block;font-size:10px;font-weight:500}.pile-button small{display:block;font:7px var(--number-font);letter-spacing:1px;color:#a6ae9a;margin-top:4px}.pile-button:hover .pile-art{transform:rotate(-3deg) translateY(-4px)}.discard-pile{color:#9a9f90}.discard-pile .pile-art{transform:rotate(8deg);background:#eeeee5;border-color:#cdcfbe;box-shadow:-4px 3px #f1f2e8,-5px 4px #d6d8ca}.discard-pile .pile-art .icon{color:#bdc3b1}.discard-pile .pile-art b{background:#a6ae96}.discard-pile:hover .pile-art{transform:rotate(3deg) translateY(-4px)}.hand{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;flex:1;min-width:0;align-items:start}.color-orange{--card-accent: #b98356;--card-soft: #f5edde;--card-border: #d9c7aa}.color-blue{--card-accent: #6b8c94;--card-soft: #eaf0e9;--card-border: #c1cec1}.color-red{--card-accent: #bd765a;--card-soft: #f5e9dc;--card-border: #dec4ac}.color-green{--card-accent: #7b9271;--card-soft: #eaf0e1;--card-border: #c3cfb4}.color-purple{--card-accent: #94839b;--card-soft: #f1eced;--card-border: #d3c8d4}.ammo-card{position:relative;border:1px solid var(--card-border);border-radius:8px;background:#fbfbf4;text-align:left;width:100%;padding:10px 12px 0;color:var(--card-accent);box-shadow:0 3px #e3e5d9;transition:transform .2s,box-shadow .2s,border-color .2s;min-width:0;isolation:isolate}.ammo-card:before{content:"";position:absolute;top:0;left:0;right:0;height:124px;z-index:-1;border-radius:7px 7px 0 0;background:linear-gradient(180deg,var(--card-soft),#fbfbf4)}.ammo-card:hover:not(:disabled),.ammo-card:focus-visible{transform:translateY(-7px);box-shadow:0 8px 15px #3f4d3212,0 3px 0 var(--card-border);border-color:var(--card-accent);z-index:8}.ammo-card:disabled{opacity:.7}.ammo-card.selected{border:1.5px solid #788e64;box-shadow:0 3px #b8c7a1;background:#f3f5e9}.ammo-card.selected:after{content:"";position:absolute;inset:3px;border:1px solid #9db18940;border-radius:4px;pointer-events:none}.card-top{display:flex;align-items:center;justify-content:space-between}.card-type{display:inline-flex;align-items:center;gap:4px;font-size:8px}.card-type .icon{width:12px;height:12px}.card-value{font:500 24px var(--number-font);letter-spacing:-1px;line-height:1}.card-art{display:block;width:calc(100% + 14px);height:87px;margin:-1px -7px -3px;overflow:visible}.card-text h3{color:#3b4c3c;font-size:13px;font-weight:700;letter-spacing:.6px;line-height:1.5}.card-subtitle{display:block;font:6px var(--number-font);letter-spacing:1px;margin-top:2px}.card-text p{color:#7f8974;font-size:9px;line-height:1.7;height:33px;margin-top:10px}.card-bottom{display:flex;align-items:center;justify-content:space-between;height:29px;border-top:1px solid #dce1cf;margin-top:8px;color:#9ca58f}.card-bottom>span{display:flex;align-items:center;gap:3px;font-size:8px}.card-bottom kbd{background:#eef0e5;border:1px solid #dfe4d4;border-radius:3px;font:8px var(--number-font);width:14px;height:14px;display:grid;place-items:center}.card-bottom .icon{width:11px;height:11px}.selected .card-bottom{color:#6e865b}.selected .card-bottom kbd{background:#e2e9d4}.card-tooltip{visibility:hidden;opacity:0;pointer-events:none;position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,3px);width:195px;padding:11px 12px;border:1px solid #6b7b5a;border-radius:6px;background:#354a3d;box-shadow:0 5px 20px #2133261c;color:#e9eedb;font-size:10px;line-height:1.7;font-weight:400;z-index:20;transition:opacity .15s,transform .15s}.card-tooltip:after{content:"";position:absolute;left:calc(50% - 4px);top:calc(100% - 3px);width:7px;height:7px;transform:rotate(45deg);background:#354a3d;border-bottom:1px solid #6b7b5a;border-right:1px solid #6b7b5a}.ammo-card:hover .card-tooltip,.ammo-card:focus-visible .card-tooltip,.ammo-card.show-detail .card-tooltip{visibility:visible;opacity:1;transform:translate(-50%)}.hand-footer{display:flex;align-items:center;justify-content:space-between;margin:17px 1px 0;font-size:9px;color:#929b86}.hand-footer>span{display:flex;align-items:center;gap:7px}.text-button{display:flex;align-items:center;gap:7px;background:none;padding:0;color:#6e7e60;font-size:9px}.text-button .icon{width:13px;height:13px}.text-button b{font:500 10px var(--number-font);background:#e7ebdd;padding:2px 5px;border-radius:3px}.text-button:hover{color:#314b35}.page-footer{border-top:1px solid var(--line);margin-top:23px;height:48px;display:flex;justify-content:space-between;align-items:center;color:#a1a795;font-size:8px}.page-footer>span{display:flex;align-items:center;gap:5px}.footer-line{width:21px;height:1px;background:#cbd0bf;margin:0 7px}.footer-divider{margin:0 9px;color:#ccd0c0}.page-footer kbd{font:8px var(--number-font);padding:2px 4px;border:1px solid #dcdfd1;border-radius:3px;background:#eeefe5}.page-footer .icon{width:10px;height:10px;color:#92a579}.shield-aura{position:absolute;width:92%;height:120%;left:0;top:-15%;border-radius:50%;border:2px solid #b1d0b58c;background:radial-gradient(ellipse,#badcc900 50%,#c8e8c12e);box-shadow:0 0 15px #c8e8c130;z-index:-1}.floating-number{position:absolute;top:43%;font:700 27px var(--number-font);z-index:10;color:#a35f3f;text-shadow:0 2px 0 #fff8e8;animation:float-away .7s ease-out both;pointer-events:none}.floating-number.enemy{right:23%}.floating-number.player{left:24%}.floating-number.heal{color:#648c57}.destroyed{opacity:.35;filter:grayscale(1);animation:none}.active-shot{box-shadow:0 0 0 3px #dcaa5744;background:#fff5d8!important}.spent,.dragging{opacity:.4}.drag-over{border:2px solid #869b6c!important;background:#dfe8cf!important}.loading-spinner{height:15px;width:15px;border:2px solid #9aa58a55;border-top-color:#7f8c6d;border-radius:50%;animation:spin 1s linear infinite}@keyframes tank-idle{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-1.5px) rotate(.25deg)}}@keyframes enemy-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes blink{50%{opacity:.4}}@keyframes float-away{0%{opacity:0;transform:translateY(7px) scale(.8)}20%{opacity:1;transform:translateY(-4px) scale(1.1)}75%{opacity:1}to{opacity:0;transform:translateY(-36px) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.has-modal{overflow:hidden}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:center;padding:28px;background:#273a2f77;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:backdrop-in .2s ease-out}.modal{max-width:100%;width:570px;max-height:min(90dvh,900px);overflow:auto;border:1px solid #e1e5d4;background:#f7f7ee;border-radius:15px;box-shadow:0 20px 80px #1c312e33;padding:38px;position:relative;animation:modal-in .25s ease-out}.close-modal{position:absolute;top:15px;right:15px}.modal-eyebrow{color:#929d7d;font:9px var(--number-font);letter-spacing:2px;margin-bottom:12px}.modal h2{font-size:25px;line-height:1.6;letter-spacing:1px;font-weight:700}.modal-description{color:#8a947e;font-size:11px;line-height:1.9;margin-top:10px}.primary-button,.secondary-button{min-height:43px;border-radius:6px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:12px;font-weight:500}.primary-button{background:#3c5941;color:#f1f3e6;transition:background .2s,transform .2s}.primary-button:hover{background:#2d4532;transform:translateY(-1px)}.primary-button .icon{width:17px;height:17px}.secondary-button{border:1px solid #d8dfcd;background:#eff1e7}.secondary-button:hover{background:#e1e7d5}.help-modal{width:620px}.help-steps{margin:25px 0;display:flex;flex-direction:column;gap:19px}.help-steps>div{display:flex;gap:15px}.help-steps b{width:31px;height:31px;display:grid;place-items:center;background:#e7eddc;border-radius:6px;color:#7a8d64;font:500 11px var(--number-font);flex-shrink:0}.help-steps strong{display:block;font-size:12px;margin-bottom:5px}.help-steps p{font-size:10px;line-height:1.9;color:#8a947e}.help-keywords{display:flex;flex-wrap:wrap;gap:10px;font-size:9px;color:#889679;border-top:1px solid var(--line);padding-top:15px;margin-bottom:25px}.help-keywords .icon{width:12px;height:12px;margin-right:3px}.help-modal>.primary-button{width:100%}.modal-emblem{width:65px;height:65px;background:#e8eddf;display:grid;place-items:center;border-radius:50%;color:#82956c;margin:0 0 24px}.modal-emblem>.icon{width:30px;height:30px}.dialog-actions{display:flex;gap:12px;margin-top:30px}.dialog-actions>button{flex:1}.deck-modal{width:930px}.heading-count{font:500 18px var(--number-font);background:#e4ebd7;color:#83966c;border-radius:5px;padding:3px 9px;margin-left:7px;vertical-align:middle}.deck-tabs{display:flex;gap:17px;border-bottom:1px solid var(--line);margin-top:25px;margin-bottom:23px}.deck-tabs button{background:none;padding:10px 0;font-size:11px;color:#909b80;border-bottom:2px solid transparent}.deck-tabs button.active{color:var(--dark);border-bottom-color:#6e8756}.deck-tabs button span{background:#e9eddf;padding:1px 5px;border-radius:3px;font:9px var(--number-font);margin-left:3px}.deck-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 15px;padding-top:8px}.deck-grid .ammo-card:hover{transform:translateY(-3px)}.empty-pile{padding:45px 0;text-align:center;color:#9fa98d}.empty-pile>.icon{width:45px;height:45px;margin-bottom:15px;opacity:.5}.empty-pile h3{font-size:14px;font-weight:500}.empty-pile p{font-size:11px;margin-top:9px}.reward-modal{width:750px;text-align:center}.reward-badge{margin:0 auto 20px;display:inline-flex;align-items:center;gap:8px;border:1px solid #cfdbbd;background:#eaf0df;color:#6d8755;border-radius:5px;padding:7px 10px;font-size:10px}.reward-badge>.icon{width:15px;height:15px}.reward-badge>span{padding-left:10px;border-left:1px solid #cfdbbd;color:#9b8d5d;font-size:9px}.reward-cards{display:flex;gap:20px;margin:35px 13px 26px}.reward-cards .ammo-card{max-width:205px;padding:13px 15px 0}.reward-cards .card-art{height:105px}.reward-cards .card-text h3{font-size:16px}.reward-cards .card-text p{font-size:10px;height:40px}.reward-cards .card-bottom{height:35px;color:#7b8c6a}.skip-button{display:inline-flex;align-items:center;gap:9px;font-size:10px;color:#97a085;background:none;padding:8px}.skip-button .icon{width:14px;height:14px}.skip-button:hover{color:#3a563d}.camp-modal{width:650px;text-align:center}.camp-emblem{margin-left:auto;margin-right:auto}.camp-health{display:inline-flex;gap:8px;align-items:center;color:#8a9a74;font-size:10px;margin-top:24px}.camp-health .icon{width:14px;height:14px}.camp-health strong{font:600 13px var(--number-font);margin-left:5px}.camp-choices{display:flex;gap:18px;margin-top:25px}.camp-choices>button{flex:1;border:1px solid #d4dec4;border-radius:8px;background:#f0f3e7;text-align:left;padding:22px 18px 15px;transition:transform .2s,background .2s}.camp-choices>button:hover{transform:translateY(-4px);background:#e6edda;border-color:#9aaf7c}.camp-choices>button>.icon{display:block;width:30px;height:30px;color:#869c6d;margin-bottom:20px}.camp-choices strong{font-size:15px;letter-spacing:1px}.camp-choices p{color:#8b977b;font-size:10px;margin-top:8px}.camp-choices b{color:#63814b;font:600 16px var(--number-font)}.camp-choices button>span{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding-top:12px;border-top:1px solid #d9e2c9;font-size:8px;color:#8d9e77}.camp-choices button>span .icon{width:15px;height:15px}.end-modal{text-align:center;width:650px}.end-modal .modal-emblem{margin-left:auto;margin-right:auto}.end-modal .modal-emblem .icon{width:33px;height:33px}.victory-emblem{background:#e7edce;color:#86985e}.defeat-emblem{background:#efe5d9;color:#b38b6e}.run-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.run-stats b{display:block;font:500 28px var(--number-font);color:#7d9069}.run-stats span{font-size:9px;color:#9aa48b;margin-top:5px;display:block}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:none;opacity:1}}@media(min-width:1500px){.app-shell{padding:0 45px}.topbar{height:100px}.route-bar{height:98px}.battlefield{height:400px}.tactical-panel{padding-top:25px}.tactical-heading{margin-top:25px;font-size:24px}.forecast{margin-top:20px}.combat-log{margin-top:17px}.card-art{height:94px}.card-text h3{font-size:14px}.card-text p{font-size:10px}.hand-row{gap:28px;margin-top:23px}.hand{gap:17px}}@media(max-width:1200px){.app-shell{padding:0 25px}.topbar{height:83px}.expedition-title{gap:9px}.tiny-label{display:none}.route-bar{gap:20px;height:82px}.route-heading{min-width:120px}.route-node{gap:7px}.route-node:not(:last-child):after{width:18%;left:78%}.combat-grid{grid-template-columns:minmax(0,1fr) 255px;gap:15px}.battlefield{height:359px}.tactical-panel{padding:19px}.tactical-heading{font-size:20px;margin-top:18px}.unit-caption{width:33%}.player-caption{left:8%}.enemy-caption{right:8%}.player-unit{width:39%;left:6%}.enemy-unit{width:32%;right:9%}.intent-bubble{right:17%;top:116px}.magazine-label{width:97px}.magazine-row{gap:12px;padding:11px}.magazine{gap:5px}.ammo-slot{padding:0 7px;gap:6px}.slot-card .icon{display:none}.fire-button{width:205px}.hand-row{gap:17px}.pile-button{width:78px}.hand{gap:10px}.ammo-card{padding-left:10px;padding-right:10px}.card-text h3{font-size:12px}.card-subtitle{font-size:5px;letter-spacing:.6px}}@media(max-width:980px){.app-shell{padding:0 20px}.prototype{display:none}.route-heading{min-width:96px}.route-heading small{font-size:6px}.route-heading>.icon{display:none}.scrap-count>span{display:none}.scrap-count{padding:8px}.combat-grid{grid-template-columns:minmax(0,1fr) 220px;gap:12px}.tactical-panel{padding:17px}.tactical-heading{font-size:18px;margin-top:23px}.tactical-description{font-size:9px}.forecast-values>div{padding-left:10px}.forecast-values strong{font-size:23px}.battle-topline{top:20px;left:20px}.location h1{font-size:20px}.weather{display:none}.round-badge{left:auto;right:18px;top:22px;transform:none;font-size:8px;padding:6px 8px}.unit-caption{width:36%;bottom:22px}.player-caption{left:6%}.enemy-caption{right:6%}.unit-name{font-size:10px}.unit-class{font-size:7px;padding:0 3px}.unit-status{font-size:8px}.status-note{display:none!important}.player-unit{width:46%;left:1%;bottom:96px}.enemy-unit{width:39%;right:6%;bottom:95px}.enemy-unit.walker,.enemy-unit.boss{width:40%;right:4%;bottom:94px}.intent-bubble{top:115px;right:12%;font-size:8px;padding:6px 8px}.magazine-label{display:none}.fire-button{width:190px}.magazine-row{gap:9px}.ammo-slot{gap:5px}.clear-button span{display:none}.slot-card strong{font-size:9px}.slot-controls .icon{width:10px;height:10px}.pile-button{width:52px}.pile-art{width:39px;height:55px;margin-bottom:13px}.pile-art .icon{width:20px;height:20px}.pile-button small{font-size:5px;letter-spacing:.4px}.hand-row{gap:15px}.card-art{height:76px}.card-type{font-size:7px}.card-value{font-size:22px}.card-text p{font-size:8px;height:29px}.card-text h3{font-size:11px;letter-spacing:0}.ammo-card{padding:9px 8px 0}.card-bottom>span{font-size:7px}}@media(max-width:760px){.app-shell{padding:0 16px}.topbar{height:78px;gap:12px}.brand{gap:9px}.brand>svg{width:37px;height:37px}.brand strong{font-size:19px}.brand small{font-size:7px;letter-spacing:2px}.expedition-title{display:none}.header-actions{margin-left:auto;gap:1px}.icon-button{width:30px;height:30px}.route-bar{height:81px;gap:12px}.route-heading{display:none}.node-icon{width:29px;height:29px}.node-icon .icon{width:14px;height:14px}.node-copy small{font-size:7px;margin-bottom:2px}.node-copy strong{font-size:8px}.route-node{gap:6px}.route-node:last-child{flex:0 0 65px}.route-node:not(:last-child):after{left:79%;width:14%}.here-dot{left:13px}.scrap-count{padding:6px;gap:5px}.scrap-count .icon{width:13px;height:13px}.scrap-count strong{font-size:11px;min-width:8px}.combat-grid{display:block}.battlefield{height:335px}.tactical-panel{margin-top:13px;padding:13px 16px;display:grid;grid-template-columns:1fr 1.1fr;gap:0 22px;min-height:100px}.panel-title{grid-column:1;grid-row:1}.tactical-heading{display:none}.tactical-description{grid-column:1;grid-row:2;margin-top:7px;font-size:8px;line-height:1.8}.forecast{grid-column:2;grid-row:1 / 3;margin:0;padding:2px 0 0 18px;border:0;border-left:1px solid #e5e6be1c}.forecast-label{font-size:8px}.forecast-label>span{font-size:7px}.forecast-values{margin-top:9px}.forecast-values strong{font-size:22px}.forecast-values small{font-size:7px}.combat-log{display:none}.player-unit{width:38%;left:5%;bottom:89px}.enemy-unit{width:31%;right:8%;bottom:88px}.enemy-unit.walker,.enemy-unit.boss{width:32%;right:7%;bottom:88px}.intent-bubble{top:94px;right:15%}.unit-caption{width:33%}.player-caption{left:7%}.enemy-caption{right:7%}.arsenal{margin-top:22px}.arsenal-heading h2{font-size:12px}.arsenal-heading h2>span{font-size:6px;letter-spacing:.8px;margin-left:4px}.sequence-note{font-size:8px}.magazine-row{flex-wrap:wrap;gap:11px;padding:11px}.magazine{flex-basis:calc(100% - 30px);gap:5px}.ammo-slot{height:44px;padding:0 8px}.slot-number,.slot-card strong{font-size:10px}.slot-card .icon{display:block;width:12px;height:12px}.empty-slot-label{font-size:9px;padding:0;gap:3px}.empty-slot-label .icon{width:11px;height:11px}.slot-connector .icon{width:10px;height:10px}.fire-button{width:100%;height:43px}.fire-button>span{grid-template-columns:20px 1fr}.fire-button>span>.icon{width:18px;height:18px}.fire-button strong{font-size:13px}.fire-button small{font-size:6px}.fire-button>.icon{width:20px;height:20px}.hand-row{position:relative;margin-top:20px;display:block;padding-bottom:1px}.hand{overflow-x:auto;overflow-y:visible;display:flex;gap:10px;padding:8px 0 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#cad2bc transparent}.hand .ammo-card{flex:0 0 calc((100% - 40px)/5);scroll-snap-align:start}.pile-button{display:flex;width:auto;align-items:center;gap:5px;position:absolute;top:calc(100% + 14px);z-index:2}.draw-pile{left:0}.discard-pile{right:0}.pile-art{width:auto;height:auto;border:0;background:none!important;box-shadow:none!important;transform:none!important;margin:0 4px 0 0}.pile-art .icon{width:16px;height:16px}.pile-art b{position:static;height:17px;min-width:17px;margin-top:1px;font-size:8px;border-width:1px}.pile-art{display:flex;gap:4px}.pile-button strong{font-size:9px}.pile-button small{display:none}.card-top .icon{width:10px;height:10px}.card-art{height:68px}.card-text h3{font-size:10px}.card-subtitle{font-size:5px;letter-spacing:.3px}.card-text p{font-size:7px;height:30px;line-height:1.7;margin-top:8px}.card-value{font-size:20px}.card-bottom{margin-top:4px;height:25px}.card-bottom>span{font-size:6px}.card-bottom kbd{width:11px;height:11px;font-size:6px}.hand .ammo-card:hover{transform:translateY(-3px)}.hand .card-tooltip{display:none}.hand-footer{margin-top:46px;gap:15px;font-size:8px;align-items:flex-start;line-height:1.8}.hand-footer>span{align-items:baseline}.text-button{font-size:8px;white-space:nowrap}.page-footer{margin-top:17px;font-size:7px;height:49px}.page-footer>span:last-child{display:none}.modal-backdrop{padding:18px}.modal{padding:30px 24px;max-height:90dvh}.modal h2{font-size:21px}.modal-description{font-size:10px}.modal-eyebrow{font-size:7px}.deck-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 10px}.deck-grid .card-art{height:80px}.reward-cards{gap:12px;margin:28px 0 20px}.reward-cards .ammo-card{padding:10px 10px 0}.reward-cards .card-art{height:85px}.reward-cards .card-text h3{font-size:12px;letter-spacing:0}.reward-cards .card-text p{font-size:9px}.reward-cards .card-bottom>span{font-size:8px}.camp-choices{gap:12px}.camp-choices>button{padding:20px 15px 13px}.camp-choices strong{font-size:13px}.camp-choices p{font-size:9px}.run-stats b{font-size:24px}.run-stats span{font-size:8px}}@media(max-width:520px){.app-shell{padding:0 12px}.topbar{height:73px}.brand>svg{width:34px;height:34px}.brand strong{font-size:17px}.brand small{font-size:6px}.header-actions .icon-button{width:27px;height:30px}.header-actions .icon-button .icon{width:16px;height:16px}.route-bar{height:74px;gap:10px}.route-node{flex-direction:column;gap:5px}.node-copy{display:flex;align-items:center;gap:4px}.node-copy small{display:none}.node-copy strong{font-size:8px}.route-node:last-child{flex:1}.route-node:not(:last-child):after{width:26%;left:88%;top:15px}.here-dot{display:none}.scrap-count{padding:5px}.battlefield{height:310px}.battle-topline{top:17px;left:17px}.location h1{font-size:19px}.location-meta{font-size:6px;letter-spacing:.8px}.chapter-index{font-size:7px}.round-badge{top:18px;right:13px;padding:5px 6px;gap:5px;font-size:7px}.round-badge strong{font-size:11px}.player-unit{width:49%;left:-1%;bottom:84px}.enemy-unit{width:40%;right:3%;bottom:83px}.enemy-unit.walker,.enemy-unit.boss{width:43%;right:1%;bottom:83px}.intent-bubble{top:100px;right:10%;font-size:7px;gap:4px;padding:5px 6px}.intent-bubble .icon{width:11px;height:11px}.intent-bubble strong{font-size:14px}.unit-caption{width:39%;bottom:17px}.player-caption{left:5%}.enemy-caption{right:5%}.unit-name{font-size:9px;letter-spacing:0}.unit-class{font-size:6px;padding:0 3px}.health-line{gap:4px}.health-track{height:5px}.health-line strong{font-size:9px}.health-line strong>span{font-size:7px}.tactical-panel{padding:12px;gap:0 12px;grid-template-columns:.9fr 1.1fr}.panel-title{font-size:9px}.panel-title .icon{width:13px;height:13px}.live-pill{font-size:6px}.tactical-description{font-size:7px}.forecast{padding-left:12px}.forecast-label{font-size:7px;gap:3px}.forecast-label>span{font-size:6px}.forecast-values>div{padding-left:8px}.forecast-values strong{font-size:20px}.forecast-values small{font-size:6px}.sequence-note{font-size:7px;gap:4px}.sequence-note .icon{width:11px;height:11px}.arsenal-heading h2>span{display:none}.magazine-row{padding:9px;gap:9px}.magazine{gap:4px;flex-basis:calc(100% - 24px)}.ammo-slot{gap:4px;height:43px;padding:0 5px;flex-wrap:wrap;align-content:center;position:relative}.slot-number{font-size:8px}.slot-card{gap:2px}.slot-card .icon{display:none}.slot-card strong{font-size:8px}.slot-controls{width:100%;justify-content:flex-end;height:11px;gap:10px}.slot-controls>button{padding:0;display:flex;align-items:center}.slot-controls>button .icon{width:10px;height:10px}.slot-connector .icon{width:8px;height:8px}.empty-slot-label{gap:3px;font-size:8px}.empty-slot-label .icon{width:10px;height:10px}.clear-button{padding:4px 0}.clear-button .icon{width:12px;height:12px}.hand-row{margin-top:12px}.hand .ammo-card{flex:0 0 128px;padding:10px 10px 0}.hand .card-art{height:79px}.hand .card-text h3{font-size:12px}.hand .card-text p{font-size:8px}.hand .card-bottom>span{font-size:8px}.card-subtitle{font-size:6px}.card-value{font-size:24px}.hand .card-bottom{height:27px}.hand-footer{gap:9px;margin-top:43px;font-size:7px}.text-button{font-size:7px;gap:4px}.text-button .icon{width:12px;height:12px}.deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.deck-grid .card-art{height:85px}.deck-grid .card-text h3{font-size:12px}.deck-grid .card-text p{font-size:8px}.modal{padding:31px 20px}.modal h2{font-size:19px;letter-spacing:.5px}.modal-description{font-size:9px}.help-steps{gap:15px}.help-steps p{font-size:9px}.help-steps strong{font-size:11px}.help-keywords{gap:8px;font-size:8px}.help-steps>div{gap:12px}.reward-cards{gap:9px;margin-left:-9px;margin-right:-9px}.reward-cards .ammo-card{padding:8px 7px 0}.reward-cards .card-art{height:65px}.reward-cards .card-text h3{font-size:10px}.reward-cards .card-text p{font-size:7px;height:42px}.reward-cards .card-subtitle{font-size:4px}.reward-cards .card-value{font-size:20px}.reward-cards .card-type{font-size:6px;gap:2px}.reward-cards .card-bottom>span{font-size:6px}.reward-cards .card-bottom{height:27px}.reward-cards .card-tooltip{width:145px;font-size:8px}.camp-choices{gap:10px}.camp-choices>button{padding:17px 12px 12px}.camp-choices strong{font-size:12px}.camp-choices p{font-size:8px}.camp-choices button>span{font-size:6px;gap:5px}.camp-choices button>span .icon{width:12px;height:12px}.dialog-actions{gap:9px}.dialog-actions>button{font-size:10px;padding:9px 10px;gap:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(min-width:761px)and (max-height:900px){.topbar,.route-bar{height:73px}.battlefield{height:315px}.tactical-panel{padding-top:16px;padding-bottom:12px}.tactical-heading{font-size:20px;margin-top:13px;line-height:1.4}.tactical-description{margin-top:7px;font-size:9px}.forecast{margin-top:13px;padding:10px 0}.forecast-values{margin-top:7px}.forecast-values strong{font-size:23px}.combat-log{margin-top:10px}.log-lines{margin-top:5px}.log-lines p{font-size:7px}.battle-topline,.round-badge{top:20px}.player-unit{width:31%;left:12%;bottom:78px}.enemy-unit{width:24%;right:13%;bottom:77px}.enemy-unit.walker,.enemy-unit.boss{width:25%;right:12%;bottom:76px}.intent-bubble{top:87px}.unit-caption{bottom:15px}.arsenal{margin-top:18px}.arsenal-heading{margin-bottom:10px}.magazine-row{padding-top:9px;padding-bottom:9px}.hand-row{margin-top:16px}.card-art{height:70px}.card-text p{height:28px;margin-top:8px}.card-bottom{margin-top:6px;height:26px}.hand-footer{margin-top:14px}.page-footer{margin-top:17px;height:38px}}.map-nav-button{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #d2dac5;border-radius:5px;background:#ebeee1;color:#6a8059;font-size:10px;margin-right:9px}.map-nav-button .icon{width:15px;height:15px}.map-nav-button kbd{font:8px var(--number-font);padding:1px 4px;border:1px solid #cdd8bf;border-radius:2px;margin-left:4px}.map-nav-button:hover{background:#e0e7d2}.campaign-bar .route{max-width:800px}.campaign-bar .route-node:last-child{flex:0 0 150px}.campaign-bar .node-copy small{font-size:9px}.campaign-bar .node-copy small>span{margin-left:8px;color:#94a27e;font-size:8px}.campaign-bar .node-copy strong{font-size:12px}.campaign-bar .route-node:not(:last-child):after{left:69%;width:22%}.floor-indicator{font-size:10px;color:#93a181;white-space:nowrap}.expedition-map{--map-accent: #8c9c72;--map-orange: #ca8754}.map-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 25px}.map-intro .modal-eyebrow{display:block;margin-bottom:7px;font-size:8px}.map-intro h1{font-size:25px;font-weight:700;letter-spacing:1px}.map-intro p{font-size:10px;color:#97a084;margin-top:8px}.map-intro-tag{display:flex;align-items:center;gap:8px;color:#8f9c7e;font-size:10px;white-space:nowrap}.map-intro-tag>.icon{width:17px;height:17px}.map-intro-tag>span{font:10px var(--number-font);color:#c48c5c;padding-left:12px;margin-left:5px;border-left:1px solid #d9dfca}.map-content{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:22px}.map-chart-panel{border:1px solid #d4dbc7;background:#edeee3;border-radius:12px;overflow:hidden;position:relative}.map-act-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:#f3f4eb;border-bottom:1px solid #d7decb}.map-act-tabs>button{padding:14px 18px;background:transparent;display:grid;grid-template-columns:1fr auto;gap:3px 10px;text-align:left;border-bottom:2px solid transparent;color:#a4ac98}.map-act-tabs>button+button{border-left:1px solid #dce1d1}.map-act-tabs small{font:7px var(--number-font);letter-spacing:1.5px}.map-act-tabs strong{font-size:12px;font-weight:500;grid-column:1}.map-act-tabs button>span{grid-column:2;grid-row:1 / 3;align-self:center;font-size:8px}.map-act-tabs button>span .icon{width:15px;height:15px}.map-act-tabs button.active{background:#e5ebd9;border-bottom-color:#869e6d;color:#586e47}.map-act-tabs button:hover{background:#e7ecdd;color:#677f54}.map-chart{position:relative;height:560px;margin:0 35px 35px;isolation:isolate;background-image:radial-gradient(#82936a19 1px,transparent 1px);background-size:18px 18px}.map-chart:before,.map-chart:after{content:"";position:absolute;width:150px;height:150px;border:1px solid #b9c3a322;border-radius:50%;pointer-events:none;z-index:-1}.map-chart:before{left:4%;top:14%;box-shadow:0 0 0 30px #b9c3a307,0 0 0 60px #b9c3a304}.map-chart:after{right:7%;bottom:12%;width:90px;height:90px}.map-paths{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.map-edge{fill:none;stroke:#bdc6ab;stroke-width:1.5;stroke-dasharray:5 6;vector-effect:non-scaling-stroke}.map-edge.travelled{stroke:#819961;stroke-width:2.5;stroke-dasharray:none}.map-edge.available-edge{stroke:#bd955e;stroke-width:2}.map-location{position:absolute;background:none;padding:0;transform:translate(-50%,-50%);width:65px;height:65px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#91a07c;z-index:2;opacity:1}.map-location:disabled{cursor:default}.map-location-icon{display:grid;place-items:center;height:43px;width:43px;border:1px solid #bcc8a8;border-radius:50%;background:#eef1e4;transition:transform .2s,background .2s,box-shadow .2s;flex-shrink:0}.map-location-icon .icon{width:19px;height:19px}.map-location-name{position:absolute;top:calc(100% - 7px);left:50%;transform:translate(-50%);color:#99a289;font-size:8px;white-space:nowrap;background:#edeee3dd;padding:2px 6px;border-radius:4px}.map-location.unvisited{color:#a4af93}.map-location.unvisited .map-location-icon{border-color:#c8d0ba;background:#e8eddd}.map-location.type-elite .map-location-icon{border-style:double;border-width:3px}.map-location.type-boss .map-location-icon{width:60px;height:60px;background:#dce2cf;border:2px solid #abb996;color:#7a8e61;box-shadow:0 0 0 5px #dbe2ce77}.map-location.type-boss .map-location-icon .icon{width:27px;height:27px}.map-location.type-boss .map-location-name{font-size:10px;color:#84966d;top:calc(100% + 8px)}.map-location.cleared .map-location-icon{background:#dce7cb;color:#77945c;border:1.5px solid #9db780}.map-location.current-location .map-location-icon{box-shadow:0 0 0 5px #cedbb677}.map-location.available{color:#b07b49;cursor:pointer}.map-location.available .map-location-icon{background:#fcf1dc;border:1.5px solid #cb9d61;box-shadow:0 0 0 5px #e5c99733}.map-location.available .map-location-name{color:#ae8050}.map-location.available:hover .map-location-icon,.map-location.available:focus-visible .map-location-icon{transform:scale(1.12);background:#fae5bd;box-shadow:0 0 0 7px #dfba7855}.node-beacon{width:5px;height:5px;border-radius:50%;background:#cf9158;position:absolute;top:2px;right:9px;box-shadow:0 0 0 3px #ead4ab77}.map-node-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 2px);left:50%;width:190px;padding:10px;transform:translate(-50%);border-radius:6px;background:#354b3d;color:#dbe6ce;font-size:9px;line-height:1.7;pointer-events:none;text-align:left;z-index:15;box-shadow:0 6px 15px #30473422;transition:opacity .15s}.map-node-tooltip b{display:block;color:#f0edda;font-size:10px;margin-bottom:4px}.map-location.available:hover .map-node-tooltip,.map-location.available:focus-visible .map-node-tooltip{visibility:visible;opacity:1}.map-floor-labels{position:absolute;left:-15px;top:0;width:25px;height:100%;color:#aab397;font:8px var(--number-font)}.map-floor-labels>span{position:absolute;transform:translateY(-50%);letter-spacing:1px}.map-direction{position:absolute;bottom:-31px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;color:#a1ac90;font-size:8px;white-space:nowrap}.map-direction .icon{width:12px;height:12px;transform:rotate(-90deg)}.map-legend{display:flex;justify-content:center;gap:25px;align-items:center;padding:14px;border-top:1px solid #dbe2ce;color:#8e9d7a;font-size:8px}.map-legend>span{display:flex;align-items:center;gap:6px}.map-legend .icon{width:13px;height:13px}.map-sidebar{display:flex;flex-direction:column;gap:17px}.journey-card{padding:22px;border-radius:10px;background:#304637;color:#e0e6cd}.sidebar-eyebrow{font:8px var(--number-font);letter-spacing:1.2px;color:#9eae8c;margin-bottom:15px}.map-player-title{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600}.map-player-title>span{font-size:9px;font-weight:400;padding:4px 7px;border:1px solid #a8b68544;border-radius:4px;color:#bccea4;display:flex;align-items:center;gap:4px}.map-player-title .icon{width:12px;height:12px}.map-hp-row{display:flex;align-items:center;gap:8px;margin-top:18px}.map-hp-row>.icon{width:13px;height:13px;color:#b7ca94}.map-hp-row .health-track{background:#73895944;height:5px}.map-hp-row .health-track>i{background:#b0c68b}.map-hp-row>strong{font:500 11px var(--number-font)}.journey-stats{display:flex;align-items:center;gap:25px;font-size:9px;color:#a8b695;margin-top:15px}.journey-stats>span{display:flex;align-items:center;gap:5px}.journey-stats .icon{width:12px;height:12px}.boss-progress{display:flex;align-items:center;margin-top:19px;padding-top:16px;border-top:1px solid #a8b68533;gap:22px;color:#829777}.boss-progress>span{display:flex;align-items:center;gap:3px;flex-direction:column}.boss-progress .icon{width:17px;height:17px}.boss-progress small{font-size:7px;margin-top:2px}.boss-progress>b{margin-left:auto;color:#becda7;font:500 19px var(--number-font)}.boss-progress .done{color:#d4d5a2}.build-selector{border:1px solid #d7deca;background:#f0f2e7;border-radius:10px;padding:22px}.build-selector .sidebar-eyebrow{color:#9aa688;margin-bottom:11px;font-size:7px;letter-spacing:1px}.build-selector h2{font-size:14px;font-weight:600;letter-spacing:.5px}.build-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.build-choice{display:flex;align-items:center;gap:6px;border:1px solid var(--card-border);border-radius:5px;background:#f8f9f1;color:var(--card-accent);font-size:10px;padding:10px 8px;min-height:37px}.build-choice>.icon{width:14px;height:14px}.build-choice>.icon:last-child:not(:first-child){width:10px;height:10px;margin-left:auto}.build-choice.selected{background:var(--card-soft);border-color:var(--card-accent);box-shadow:inset 0 0 0 .5px var(--card-accent)}.build-choice:hover{background:var(--card-soft)}.build-selector .build-motto{font-size:12px;font-weight:500;color:#6d805b;margin-top:20px}.build-selector>p{font-size:10px;color:#96a186;line-height:1.9;margin-top:8px}.build-finisher{margin-top:18px;padding:13px 0 15px;border-top:1px solid #dbe2ce;border-bottom:1px solid #dbe2ce;display:grid;grid-template-columns:auto 1fr;gap:7px 10px}.build-finisher small{font-size:8px;color:#a1ab8f;align-self:center}.build-finisher strong{font-size:11px;font-weight:500;color:#6b8059;text-align:right}.build-finisher>span{grid-column:1 / 3;font-size:9px;color:#99a387;line-height:1.6}.build-selector>.text-button{margin-top:17px;font-size:9px}.build-selector>.text-button .icon:last-child{margin-left:8px}.build-current{display:flex;align-items:center;gap:7px;color:var(--card-accent)}.build-current .icon{width:19px;height:19px}.map-hint{display:flex;gap:8px;padding:0 7px;color:#9ba78a}.map-hint>.icon{width:15px;height:15px;margin-top:3px}.map-hint p{font-size:9px;line-height:1.9}.map-modal{width:1130px;padding:30px}.map-modal .map-intro{padding-right:24px;margin-top:0}.map-modal .map-intro h1{font-size:21px}.map-modal .map-content{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.map-modal .map-chart{height:480px}.map-modal .map-intro-tag{display:none}.resume-button{width:100%;margin-top:auto}.act-rust .map-chart-panel{background-color:#efebe0}.act-rust .map-location-name{background-color:#efebe0dd}.act-ember .map-chart-panel{background-color:#f0e8dd}.act-ember .map-location-name{background-color:#f0e8dddd}.battlefield.act-2 .landscape{filter:sepia(.25) saturate(.8) hue-rotate(-17deg)}.battlefield.act-3 .landscape{filter:sepia(.35) saturate(.9) hue-rotate(-25deg)}.battlefield.act-2 .enemy-unit{filter:sepia(.3)}.battlefield.act-3 .enemy-unit{filter:sepia(.6) hue-rotate(-25deg)}.forecast-values.four-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.four-values>div{padding-left:10px}.four-values strong{font-size:22px}.four-values small{font-size:7px;white-space:nowrap}.retaliation-preview{display:flex;gap:5px;align-items:center;font-size:8px;color:#b0bd9a;margin-top:11px}.retaliation-preview .icon{width:12px;height:12px}.retaliation-preview b{font-size:8px;font-weight:500;color:#ceb6cf;margin-left:auto}.dynamic-hand{display:flex;overflow-x:auto;padding:8px 1px 12px;margin:-8px -1px -12px;scrollbar-width:thin;scrollbar-color:#c4d0b2 transparent}.dynamic-hand .ammo-card{flex:0 0 max(125px,calc((100% - (var(--hand-count) - 1) * 13px) / var(--hand-count)))}.dynamic-hand .card-text h3{font-size:12px}.dynamic-hand .card-text p{height:43px;font-size:9px;margin-top:8px;line-height:1.7}.dynamic-hand .card-art{height:79px}.dynamic-hand .card-value.wide-value{font-size:19px}.dynamic-hand .card-subtitle{font-size:5px;letter-spacing:.7px}.dynamic-hand .card-type{font-size:7px}.dynamic-hand .card-tooltip{display:none}.dynamic-hand .ammo-card:hover{transform:translateY(-4px)}.slots-4 .magazine-label,.slots-5 .magazine-label{display:none}.slots-4 .fire-button,.slots-5 .fire-button{width:205px}.slots-5 .magazine{gap:6px}.slots-5 .slot-card .icon{display:none}.slots-5 .slot-controls{gap:0}.slots-5 .slot-card strong{font-size:9px}.card-value.wide-value{font-size:21px}.card-extra{font-size:9px;color:#99a18e;line-height:1.8;border-top:1px dashed #dbe1ce;padding-top:9px;min-height:62px;margin-top:5px}.deck-card .card-text p{min-height:40px;height:auto;font-size:10px}.deck-card .card-text h3{font-size:14px}.deck-card .card-type{font-size:8px}.school-filters{display:flex;gap:8px;margin:-5px 0 24px;flex-wrap:wrap}.school-filters button{border:1px solid #d9e1cb;border-radius:4px;background:#edf1e4;padding:5px 10px;font-size:9px;color:#99a78b}.school-filters button.active{border-color:#829c68;background:#dde8ce;color:#627e48}.capacity-upgrade{display:flex;justify-content:center;align-items:center;gap:14px;border:1px solid #c7d8aa;background:#e6eed8;padding:17px 15px;border-radius:9px;margin:0 0 25px;text-align:left;color:#718d51}.capacity-upgrade>.icon{width:31px;height:31px}.capacity-upgrade b{display:block;font-size:17px;letter-spacing:1px;font-weight:600}.capacity-upgrade small{display:block;font-size:9px;color:#92a37d;margin-top:5px}.reward-cards .card-text p{height:50px}.reward-cards .card-value.wide-value{font-size:20px}.supply-modal{text-align:center;width:580px}.supply-choices{display:flex;flex-direction:column;gap:12px;margin-top:25px}.supply-choices>button{display:flex;align-items:center;gap:18px;padding:17px 18px;text-align:left;border:1px solid #d4dec4;border-radius:7px;background:#eff3e5}.supply-choices>button>.icon:first-child{width:24px;height:24px;color:#8fa774}.supply-choices>button>span{flex:1}.supply-choices strong{font-size:12px;font-weight:500}.supply-choices small{display:block;font-size:9px;color:#99a78b;margin-top:6px}.supply-choices>button>.icon:last-child{width:16px;height:16px;color:#91a37b}.supply-choices>button:hover:not(:disabled){background:#e4edda;border-color:#a6ba8e}.supply-choices>button:disabled{opacity:.45}@media(min-width:761px)and (max-height:900px){.map-intro{margin-top:2px;margin-bottom:17px}.map-intro h1{font-size:23px}.map-chart{height:505px;margin-bottom:32px}.map-act-tabs>button{padding:12px 16px}.map-sidebar{gap:13px}.journey-card,.build-selector{padding:18px 20px}.build-options{margin-top:13px}.build-selector .build-motto{margin-top:15px}.build-finisher{margin-top:13px;padding-top:10px;padding-bottom:12px}.build-selector>.text-button{margin-top:14px}.map-legend{padding:11px}.tactical-heading{font-size:19px}.four-values strong{font-size:21px}.dynamic-hand .card-art{height:62px}.dynamic-hand .card-text p{height:37px}.map-modal .map-chart{height:420px}}@media(max-width:1200px){.prototype{display:none}.map-content{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.map-intro h1{font-size:22px}.map-chart{margin-left:24px;margin-right:24px}.map-act-tabs>button{padding-left:13px;padding-right:13px}.map-act-tabs strong{font-size:11px}.build-selector,.journey-card{padding-left:18px;padding-right:18px}.dynamic-hand .ammo-card{flex-basis:147px}.dynamic-hand .card-text h3{font-size:12px}.hand-row{gap:18px}.slots-4 .fire-button,.slots-5 .fire-button{width:165px}.slots-5 .ammo-slot{flex-wrap:wrap;height:50px;align-content:center;gap:5px}.slots-5 .slot-controls{width:100%;justify-content:flex-end;height:10px;gap:8px}.slots-5 .slot-controls>button{padding:0}.slots-5 .slot-controls .icon{height:10px}.four-values>div{padding-left:7px}.four-values small{font-size:6px}}@media(max-width:980px){.expedition-title{display:none}.header-actions{margin-left:auto}.map-content{grid-template-columns:minmax(0,1fr) 245px;gap:14px}.map-sidebar{gap:12px}.map-intro-tag{font-size:8px}.map-intro-tag>span{font-size:8px}.map-intro h1{font-size:20px}.map-act-tabs button>span{display:none}.map-act-tabs strong{font-size:10px}.map-act-tabs small{font-size:6px}.map-location-icon{width:37px;height:37px}.map-location-icon .icon{width:17px;height:17px}.map-location.type-boss .map-location-icon{height:52px;width:52px}.map-location-name{top:calc(100% - 10px);font-size:7px}.map-legend{gap:13px;font-size:7px}.map-player-title{font-size:13px}.map-player-title>span{font-size:8px}.journey-stats{gap:14px;font-size:8px}.boss-progress{gap:18px}.build-options{gap:6px}.build-choice{font-size:9px;padding:9px 6px;gap:4px}.build-choice>.icon{width:12px;height:12px}.build-selector>p{font-size:9px}.build-selector .build-motto{font-size:11px}.map-intro-tag>.icon{display:none}.floor-indicator{display:none}.campaign-bar .route-node:last-child{flex-basis:135px}.campaign-bar .node-copy strong{font-size:11px}.campaign-bar .node-copy small{font-size:7px}.campaign-bar .node-copy small>span{font-size:6px;margin-left:4px}.map-modal{padding:25px 20px}.map-modal .map-content{grid-template-columns:minmax(0,1fr) 230px}.four-values strong{font-size:18px}.four-values>div{padding-left:6px}.retaliation-preview{font-size:7px;gap:4px}.retaliation-preview b{font-size:6px}.tactical-heading{font-size:18px}.unit-status{gap:8px}.slots-5 .magazine{gap:3px}.slots-5 .slot-number{font-size:9px}.slots-5 .slot-card strong{font-size:8px}}@media(max-width:760px){.map-nav-button{padding:5px 6px;margin-right:5px}.map-nav-button kbd{display:none}.map-nav-button span{font-size:8px}.map-nav-button .icon{width:13px;height:13px}.campaign-bar{gap:10px}.campaign-bar .route-node:last-child{flex:1}.campaign-bar .node-copy strong{font-size:10px}.campaign-bar .node-copy small{font-size:6px}.campaign-bar .node-copy small>span{font-size:6px;display:block;margin:2px 0}.campaign-bar .route-node:not(:last-child):after{left:73%;width:18%}.map-intro{margin:8px 0 19px;align-items:flex-start}.map-intro h1{font-size:20px}.map-intro .modal-eyebrow{font-size:6px;letter-spacing:1.5px}.map-intro p{font-size:8px;line-height:1.7;max-width:95%}.map-intro-tag{display:none}.map-content{display:flex;flex-direction:column;gap:16px}.map-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.map-hint{grid-column:1 / 3}.map-chart{height:510px;margin:0 23px 35px}.map-act-tabs>button{padding:12px}.map-act-tabs strong{font-size:11px}.map-act-tabs small{font-size:6px}.map-location-icon{width:40px;height:40px}.map-location-name{font-size:8px}.map-location.type-boss .map-location-icon{height:56px;width:56px}.map-legend{padding:12px 10px;gap:22px;font-size:8px}.map-legend .icon{width:12px;height:12px}.journey-card{align-self:start;padding:18px}.sidebar-eyebrow{font-size:6px;letter-spacing:.5px}.map-player-title{font-size:13px}.map-player-title>span{font-size:8px;padding:3px 5px}.map-player-title>span .icon{width:10px;height:10px}.map-hp-row{margin-top:13px}.map-hp-row strong{font-size:10px}.journey-stats{gap:15px;font-size:8px;flex-wrap:wrap}.boss-progress{gap:18px}.boss-progress small{font-size:6px}.boss-progress b{font-size:16px}.build-selector{padding:18px}.build-selector h2{font-size:13px}.build-selector .sidebar-eyebrow{font-size:6px}.build-choice{font-size:9px;padding:9px 6px}.build-selector .build-motto{font-size:11px}.build-finisher strong{font-size:10px}.build-finisher span{font-size:8px}.build-selector>.text-button{font-size:8px}.map-modal{padding:30px 18px 22px}.map-modal .map-content{display:flex}.map-modal .map-intro h1{font-size:18px}.map-modal .map-intro{padding-right:10px}.map-modal .map-chart{height:460px}.map-modal .resume-button{grid-column:1 / 3}.forecast-values.four-values{gap:0}.four-values>div{padding-left:6px}.four-values strong{font-size:20px}.four-values small{font-size:6px}.retaliation-preview{margin-top:6px;font-size:7px}.retaliation-preview .icon{width:9px;height:9px}.tactical-description{max-width:100%}.retaliation-preview b{display:none}.tactical-panel{min-height:112px}.dynamic-hand{margin:0;padding:8px 0 12px}.dynamic-hand .ammo-card{flex-basis:147px}.dynamic-hand .card-art{height:82px}.dynamic-hand .card-text p{font-size:9px;height:43px}.dynamic-hand .card-type{font-size:8px}.dynamic-hand .card-subtitle{font-size:6px}.dynamic-hand .card-text h3{font-size:12px}.slots-4 .fire-button,.slots-5 .fire-button{width:100%}.slots-4 .ammo-slot,.slots-5 .ammo-slot{min-width:0;padding:0 5px}.slots-4 .slot-card .icon,.slots-5 .slot-card .icon{display:none}.slots-4 .slot-card strong,.slots-5 .slot-card strong{font-size:9px}.slots-4 .slot-controls{gap:4px}.slots-5 .empty-slot-label>span{font-size:7px}.slots-5 .empty-slot-label .icon{display:none}.slots-5 .slot-controls{gap:8px}.slots-5 .slot-number,.slots-5 .slot-card strong{font-size:8px}.slots-5 .slot-controls .icon{width:10px;height:10px}.capacity-upgrade{padding:13px 11px}.capacity-upgrade b{font-size:15px}.capacity-upgrade small{font-size:8px}.card-extra{font-size:8px;min-height:65px}.deck-card .card-text p{font-size:9px}.deck-card .card-text h3{font-size:12px}}@media(max-width:520px){.selecting-build:not(.in-dialog) .map-content{display:grid;grid-template-columns:minmax(0,1fr)}.selecting-build:not(.in-dialog) .map-sidebar{display:contents}.selecting-build:not(.in-dialog) .build-selector{grid-column:1;grid-row:1}.selecting-build:not(.in-dialog) .map-chart-panel{grid-column:1;grid-row:2}.selecting-build:not(.in-dialog) .journey-card{grid-column:1;grid-row:3}.selecting-build:not(.in-dialog) .map-hint{grid-column:1;grid-row:4}.map-nav-button{border:0;background:none;padding:5px;margin-right:2px}.map-nav-button span{display:none}.map-nav-button .icon{width:16px;height:16px}.campaign-bar .route-node{flex-direction:row;gap:6px}.campaign-bar .node-copy{display:block}.campaign-bar .node-copy small{display:block;font-size:5px;letter-spacing:.5px}.campaign-bar .node-copy small>span{display:none}.campaign-bar .node-copy strong{font-size:8px}.campaign-bar .route-node:not(:last-child):after{width:12%;left:86%;top:14px}.campaign-bar .node-icon{height:28px;width:28px}.map-intro h1{font-size:18px}.map-intro p{font-size:8px}.map-intro .modal-eyebrow{font-size:6px}.map-chart{height:480px;margin-left:15px;margin-right:15px}.map-floor-labels{left:-9px;font-size:6px}.map-act-tabs>button{padding:12px 10px}.map-act-tabs strong{font-size:10px}.map-act-tabs small{font-size:6px;letter-spacing:1px}.map-location{width:55px;height:55px}.map-location-icon{width:36px;height:36px}.map-location-name{font-size:7px;top:calc(100% - 5px);padding-left:3px;padding-right:3px}.map-location.type-boss .map-location-icon{width:48px;height:48px}.map-location.type-boss .map-location-icon .icon{width:23px;height:23px}.map-location.type-boss .map-location-name{font-size:9px}.map-legend{gap:15px;font-size:7px;padding:12px 6px}.map-legend>span{gap:4px}.map-legend .icon{width:11px;height:11px}.map-sidebar{display:flex;flex-direction:column}.journey-card{width:100%}.sidebar-eyebrow{font-size:7px}.journey-card{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px;padding:17px}.journey-card .sidebar-eyebrow{grid-column:1 / 3;margin-bottom:6px}.map-player-title{grid-column:1 / 3}.map-hp-row{grid-column:1;margin-top:10px}.journey-stats{grid-column:2;margin-top:10px;flex-wrap:nowrap;gap:10px;font-size:7px}.journey-stats .icon{width:10px;height:10px}.boss-progress{grid-column:1 / 3;margin-top:11px;padding-top:12px;gap:28px}.boss-progress>span{flex-direction:row;gap:6px}.boss-progress small{margin:0}.build-selector{padding:18px}.build-selector .sidebar-eyebrow{font-size:7px}.build-options{grid-template-columns:repeat(4,1fr);gap:6px}.build-choice{flex-direction:column;gap:6px;font-size:8px;padding:10px 4px;position:relative}.build-choice>.icon{width:16px;height:16px}.build-choice>.icon:last-child:not(:first-child){position:absolute;right:3px;top:4px}.build-selector .build-motto{font-size:12px;margin-top:15px}.build-selector>p{font-size:10px}.build-finisher{margin-top:14px}.build-finisher span{font-size:9px}.build-selector>.text-button{font-size:9px}.map-node-tooltip{width:145px;font-size:8px}.map-location:first-of-type .map-node-tooltip{transform:translate(-30%)}.map-modal{padding-left:13px;padding-right:13px}.map-modal .map-intro h1{font-size:17px}.map-modal .map-chart{height:440px;margin-left:10px;margin-right:10px}.map-modal .map-legend{gap:10px;font-size:6px}.four-values strong{font-size:17px}.four-values>div{padding-left:5px}.four-values small{font-size:5px}.tactical-description{font-size:7px}.forecast{padding-left:10px}.unit-status{font-size:7px;flex-wrap:wrap;gap:4px 7px;margin-top:5px}.unit-status .icon{width:9px;height:9px}.slots-4 .ammo-slot,.slots-5 .ammo-slot{flex-wrap:wrap;align-content:center;height:49px;gap:4px}.slots-4 .slot-controls,.slots-5 .slot-controls{width:100%;justify-content:flex-end;gap:7px;height:11px}.slots-4 .slot-controls button,.slots-5 .slot-controls button{padding:0}.slots-5 .slot-card strong{font-size:7px}.slots-5 .ammo-slot.empty .slot-number{position:absolute;top:5px;left:5px}.slots-5 .empty-slot-label{margin-top:8px}.slots-5 .empty-slot-label>span{font-size:6px}.slots-5 .slot-connector{display:none}.slots-5 .magazine{gap:5px}.slots-5 .slot-card{min-width:0}.slots-5 .filled .slot-number{font-size:7px}.dynamic-hand .ammo-card{flex-basis:143px}.dynamic-hand .card-bottom>span{font-size:7px}.card-extra{font-size:7px;min-height:65px}.deck-card .card-text p{font-size:8px}.deck-card .card-type{font-size:7px}.school-filters{gap:5px}.school-filters button{font-size:8px;padding:4px 8px}.reward-cards .card-text p{font-size:7px;height:50px}.reward-cards .card-value.wide-value{font-size:16px}.reward-cards .card-type{font-size:6px}.capacity-upgrade{gap:9px}.capacity-upgrade>.icon{width:25px;height:25px}.capacity-upgrade b{font-size:13px}.capacity-upgrade small{font-size:7px;line-height:1.8}}.garage-shell .campaign-bar,.garage-shell .page-footer>span:last-child{display:none}.brand small{letter-spacing:2.5px}.garage{padding-top:35px}.garage-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:28px}.garage-heading .modal-eyebrow{display:block;font-size:9px;letter-spacing:2px}.garage-heading h1{font-size:28px;font-weight:700;letter-spacing:1px}.garage-heading p{font-size:11px;line-height:1.9;color:#96a085;margin-top:9px}.garage-counter{display:inline-flex;align-items:center;gap:9px;color:#97a486;font-size:10px;white-space:nowrap}.garage-counter .icon{width:16px;height:16px}.garage-counter i{width:1px;height:12px;background:#d8dfcb;margin:0 5px}.tank-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.tank-option{position:relative;display:flex;flex-direction:column;text-align:left;border:1px solid #d9decc;border-radius:10px;background:#f4f5ec;padding:17px 20px 19px;overflow:hidden;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}.tank-option:before{content:"";position:absolute;width:190px;height:190px;left:50%;top:1px;transform:translate(-50%);border:1px solid var(--card-border);opacity:.15;border-radius:50%;box-shadow:0 0 0 25px var(--card-soft);pointer-events:none}.tank-option.selected{border-color:var(--card-accent);background:var(--card-soft);box-shadow:0 3px 0 var(--card-border),inset 0 0 0 1px var(--card-accent)}.tank-option:hover{transform:translateY(-4px);border-color:var(--card-accent);box-shadow:0 6px 18px #3347300d}.tank-option.selected:hover{box-shadow:0 4px 0 var(--card-border),inset 0 0 0 1px var(--card-accent)}.tank-option-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#98a38b;position:relative;z-index:1}.tank-selected-mark{width:21px;height:21px;display:grid;place-items:center;border:1px solid #d7deca;border-radius:50%;color:#bac2ac}.tank-selected-mark .icon{width:12px;height:12px}.tank-option.selected .tank-selected-mark{border-color:var(--card-accent);background:var(--card-accent);color:#fff9ec}.tank-option-art{position:relative;height:160px;margin:5px -13px 8px}.tank-option-art .tank-art{width:100%;height:100%;filter:drop-shadow(0 6px 3px #6d73510a);transition:transform .3s}.tank-option:hover .tank-art{transform:translate(3px)}.tank-option-copy{position:relative}.tank-model{display:block;font:8px var(--number-font);letter-spacing:1.8px;color:var(--card-accent);margin-bottom:7px}.tank-option h2{display:inline;font-size:24px;font-weight:700;line-height:1.5;letter-spacing:1px}.tank-role{display:block;font-size:10px;letter-spacing:1px;color:#8d9c7c;margin-top:4px}.tank-option p{font-size:10px;line-height:1.95;color:#8f9b80;margin-top:14px;min-height:60px}.tank-specialty{display:flex;align-items:center;gap:6px;margin-top:15px;padding-top:13px;border-top:1px solid var(--card-border);color:var(--card-accent);font-size:10px}.tank-specialty .icon{width:13px;height:13px}.garage-loadout{display:flex;align-items:center;gap:28px;padding:22px 25px;border:1px solid #d4ddc6;background:#eaeee0;border-radius:9px;margin-top:26px}.loadout-summary{flex:1}.loadout-summary .sidebar-eyebrow{margin-bottom:8px;font-size:8px}.loadout-summary h2{font-size:20px;font-weight:600}.loadout-summary h2 small{font-size:10px;color:#90a07d;font-weight:400;margin-left:10px}.garage-stats{display:flex;align-items:center;flex-wrap:wrap;gap:17px;color:#90a07c;font-size:9px;margin-top:12px}.garage-stats>span{display:inline-flex;align-items:center;gap:5px}.garage-stats .icon{width:12px;height:12px}.starter-preview{display:flex;align-items:center;gap:9px}.starter-item{display:flex;align-items:center;flex-direction:column;background:#f5f7ed;border:1px solid var(--card-border);border-radius:5px;width:71px;padding:0 3px 7px;color:var(--card-accent)}.starter-item .card-art{height:43px;width:100%;margin:0}.starter-item>span{font-size:7px}.starter-more{font:10px var(--number-font);color:#9ba98c;margin-left:3px}.garage-start{min-width:221px;min-height:52px;background:#cd824e;color:#fff4e5;font-size:13px}.garage-start:hover{background:#bc713e}.garage-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;color:#9ca78e;margin-top:22px;line-height:1.8}.garage-note .icon{width:13px;height:13px}.tank-profile .profile-tank-art{height:102px;margin:-10px -12px -3px}.tank-profile h2{display:flex;align-items:center;justify-content:space-between;font-size:18px}.tank-profile h2 small{color:#a1ac90;font:7px var(--number-font);letter-spacing:1px}.tank-profile .tank-doctrine{display:flex;align-items:center;gap:5px;color:var(--card-accent);font-size:9px;margin:10px 0 5px}.tank-doctrine .icon{width:13px;height:13px}.profile-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:17px}.profile-actions .text-button{font-size:8px}.garage-shell .page-footer{margin-top:27px}@media(min-width:761px)and (max-height:900px){.garage{padding-top:27px}.garage-heading{margin-bottom:23px}.tank-option-art{height:145px}.tank-option p{min-height:55px}.garage-loadout{margin-top:23px;padding:18px 23px}}@media(max-width:1200px){.tank-grid{gap:13px}.tank-option{padding-left:16px;padding-right:16px}.tank-option-art{height:140px}.tank-option h2{font-size:21px}.tank-option p{font-size:9px;min-height:70px}.garage-heading h1{font-size:25px}.garage-loadout{gap:22px;padding-left:21px;padding-right:21px}.garage-start{min-width:190px;font-size:12px;gap:14px}}@media(max-width:980px){.tank-option{padding:14px 13px}.tank-option-art{height:115px}.tank-option h2{font-size:20px}.tank-role{font-size:9px}.tank-option-top{font-size:7px}.tank-option p{font-size:8px;min-height:70px}.tank-model{font-size:6px;letter-spacing:1px}.tank-specialty{font-size:9px}.garage-counter{display:none}.garage-heading p{font-size:10px}.garage-stats{gap:10px;font-size:8px}.garage-loadout{gap:17px;padding:18px}.starter-item{width:57px}.starter-item>span{font-size:6px}.garage-start{min-width:168px;min-height:46px;font-size:11px}.loadout-summary h2{font-size:18px}.loadout-summary h2 small{display:none}.garage-note{font-size:8px}}@media(max-width:760px){.garage{padding-top:24px}.garage-heading h1{font-size:23px}.garage-heading p{font-size:9px}.garage-heading .modal-eyebrow{font-size:7px}.tank-grid{grid-template-columns:1fr 1fr;gap:14px}.tank-option{padding:15px 18px}.tank-option-art{height:140px}.tank-option h2{font-size:23px}.tank-option p{font-size:9px;min-height:50px}.tank-option-top{font-size:8px}.tank-model{font-size:7px;letter-spacing:1.5px}.tank-specialty{font-size:9px;margin-top:11px;padding-top:10px}.garage-loadout{display:grid;grid-template-columns:1fr auto;gap:18px;padding:20px}.garage-start{grid-column:1 / 3;width:100%}.starter-item{width:59px}.garage-stats{margin-top:10px;gap:10px}.garage-note{align-items:flex-start;font-size:8px;text-align:left;padding:0 5px}.garage-note .icon{margin-top:2px;flex-shrink:0}}@media(max-width:520px){.garage{padding-top:24px}.garage-heading{margin-bottom:20px}.garage-heading h1{font-size:20px;line-height:1.6;letter-spacing:.5px}.garage-heading p{font-size:8px;line-height:1.9}.garage-heading .modal-eyebrow{font-size:7px;letter-spacing:1.6px}.tank-grid{gap:12px}.tank-option{padding:12px 12px 14px}.tank-option-top{font-size:6px}.tank-selected-mark{width:17px;height:17px}.tank-selected-mark .icon{width:10px;height:10px}.tank-option-art{height:103px;margin:3px -7px 1px}.tank-option h2{font-size:19px;letter-spacing:.5px}.tank-model{font-size:6px;letter-spacing:.8px;margin-bottom:5px}.tank-role{font-size:8px;margin-top:3px}.tank-option p{display:none}.tank-specialty{font-size:8px;padding-top:9px;margin-top:11px}.tank-specialty .icon{width:11px;height:11px}.garage-loadout{padding:17px;gap:17px 10px;margin-top:20px}.loadout-summary{grid-column:1 / 3}.loadout-summary .sidebar-eyebrow{font-size:7px}.loadout-summary h2{font-size:19px}.loadout-summary h2 small{display:inline;font-size:9px}.garage-stats{font-size:8px;gap:16px;margin-top:11px}.starter-preview{grid-column:1 / 3;gap:8px}.starter-item{width:70px}.starter-item>span{font-size:7px}.garage-start{min-height:46px;font-size:12px}.garage-note{font-size:7px;gap:6px}.tank-profile .profile-tank-art{height:125px}.tank-profile h2{font-size:18px}.tank-profile h2 small{font-size:8px}.tank-profile .tank-doctrine{font-size:10px}.profile-actions .text-button{font-size:9px}}.raster-art{position:relative;isolation:isolate}.raster-art.unit-art{aspect-ratio:12 / 7}.raster-art>.vector-fallback{position:absolute;inset:0}.raster-art>.vector-fallback>svg{display:block;width:100%;height:100%;margin:0}.raster-art>.generated-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none}.raster-art.is-loaded>.generated-image{opacity:1}.raster-art.is-loaded>.vector-fallback{visibility:hidden}.raster-art.card-art{overflow:hidden;border-radius:5px;background:var(--card-soft, #e9e9db);margin-top:3px;margin-bottom:7px}.raster-art.card-art>.generated-image{object-fit:cover}.tank-option-art .raster-art{filter:drop-shadow(0 7px 4px #45432d1a)}.profile-tank-art .raster-art{filter:drop-shadow(0 5px 3px #45432d17)}.player-unit>.raster-art,.enemy-unit>.raster-art{filter:drop-shadow(0 9px 4px #4f463630)}.battlefield.act-2 .enemy-unit,.battlefield.act-3 .enemy-unit{filter:none}.battlefield .intent-bubble{top:62px}.starter-item .raster-art.card-art{border-radius:4px 4px 0 0}@media(prefers-reduced-motion:reduce){.tank-option:hover .tank-art{transform:none}}.combat-effects{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:6;pointer-events:none;border-radius:inherit}.battlefield .floating-number{font-size:clamp(19px,2.1vw,30px)}.ammo-slot.active-shot{border-color:#c28c4f;animation:firing-slot .65s ease-out infinite}@keyframes firing-slot{0%,to{box-shadow:0 0 0 2px #dcaa5722}40%{box-shadow:0 0 0 4px #dcaa5744,0 0 14px #dcaa5726}}@media(prefers-reduced-motion:reduce){.battlefield .unit,.floating-number,.ammo-slot.active-shot{animation:none!important}.floating-number{opacity:1}.health-track>i{transition:none}}
