:root{--bg:#080d17;--panel:#0c1321;--line:rgba(185,203,225,.17);--text:#f2f0eb;--muted:#93a1b7;--red:#ef5364;--gold:#eacb8b;--mono:Consolas,'Courier New',monospace;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--text);background:var(--bg);font-family:var(--sans)}body{font-size:14px}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.4}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{transition:background .18s,border-color .18s,transform .18s,color .18s}h1,h2,h3,p{margin:0}button:hover:not(:disabled){filter:brightness(1.12)}#app{min-height:100vh;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column}.backdrop{position:fixed;inset:0;z-index:-3;background:linear-gradient(90deg,#080d18cc,#080d1709 70%),linear-gradient(0deg,#080d17 0%,#080d1700 40%,#080d1750 100%),url('assets/fortress.webp') center 43%/cover no-repeat;background-color:#101929;transition:filter 1s}.grain{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.4' filter='url(%23n)'/%3E%3C/svg%3E")}#embers{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}#embers i{position:absolute;width:2px;height:3px;background:#ff8b66;box-shadow:0 0 8px #f95436;animation:ember linear infinite;opacity:0}@keyframes ember{0%{transform:translate(0,40vh) rotate(0deg);opacity:0}15%{opacity:.75}85%{opacity:.5}100%{transform:translate(100px,-100vh) rotate(180deg);opacity:0}}.topbar{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#070d17a6;gap:30px;z-index:5}.brand{display:flex;align-items:center;gap:12px;text-align:left;font-size:24px;letter-spacing:5px;font-weight:800;padding:0}.brand-mark{color:var(--red);font-size:38px;line-height:1}.brand small{display:block;font-size:7px;letter-spacing:3.8px;margin-top:4px;color:#aab7c8}.main-nav{height:100%;display:flex;align-items:stretch;gap:35px}.main-nav button{position:relative;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#9faabb;padding:0 2px}.main-nav button.active{color:#fff}.main-nav button.active:after{content:'';height:2px;background:var(--red);position:absolute;bottom:0;left:0;right:0;box-shadow:0 -3px 16px #ef536466}.main-nav button span{font:10px var(--mono);margin-left:5px;color:#6b7a91}.top-right{display:flex;align-items:center;gap:17px}#currency{font:12px var(--mono);color:var(--gold);margin-right:12px}.icon-button{width:27px;height:30px;color:#a9b2c3;font-size:20px}.icon-button:hover{color:#fff}.icon-button.off{opacity:.45}#screen{flex:1;position:relative;min-height:calc(100vh - 126px)}#footer{display:flex;justify-content:space-between;align-items:center;padding:0 4vw;height:38px;font:9px var(--mono);letter-spacing:1.2px;color:#718099;border-top:1px solid #9aa8bc14;background:#070c16a6;gap:15px}#footer b{font-weight:400;color:#85a9a2;margin-left:8px}#footer i{font-style:normal;color:#4c5970;padding:0 7px}.status-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:#85bea6;margin-right:10px;box-shadow:0 0 8px #85bea644}.command{min-height:calc(100vh - 126px);padding:5vh 5vw 3vh;display:flex;flex-direction:column;justify-content:space-between;gap:34px}.command-top{display:flex;justify-content:space-between;align-items:flex-start}.hero-copy{max-width:570px;padding-top:3vh}.eyebrow{font:10px var(--mono);text-transform:uppercase;letter-spacing:3px;color:var(--red);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:27px;height:1px;background:currentColor}.hero-copy h1{font-size:clamp(54px,5.6vw,88px);line-height:.96;letter-spacing:-4px;text-transform:uppercase;margin:25px 0 22px;font-weight:800}.hero-copy h1 em{font-style:normal;color:var(--red)}.hero-copy p{max-width:365px;font-size:13px;line-height:1.8;color:#c0c8d4}.hero-index{font:10px var(--mono);color:#8997ad;letter-spacing:2px;margin-top:30px}.hero-index b{color:#f1dbb5;font-weight:400}.situation{margin:1vh 0 0 0;padding:20px 22px;width:245px;border-top:1px solid #ef536477;border-bottom:1px solid #ef536433;background:linear-gradient(90deg,#0a101ae6,#0b1323aa);backdrop-filter:blur(8px)}.situation .eyebrow{font-size:8px;letter-spacing:1.8px}.situation h3{font-size:17px;line-height:1.3;margin:14px 0 9px}.situation p{font-size:11px;line-height:1.7;color:#9ba8bb}.signal-bars{display:flex;gap:3px;align-items:flex-end;height:19px;margin-top:16px}.signal-bars i{width:4px;background:#ef5364;opacity:.6;animation:signal 1s ease-in-out infinite alternate}@keyframes signal{to{opacity:.25;height:5px}}.command-bottom{display:grid;grid-template-columns:1fr 370px;gap:45px;align-items:end}.section-label{font:10px var(--mono);letter-spacing:2px;text-transform:uppercase;color:#8f9eb4;display:flex;justify-content:space-between;gap:15px;margin-bottom:13px}.section-label b{font-weight:400;color:var(--text)}.squad-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;max-width:760px}.squad-card{position:relative;height:172px;padding:0;overflow:hidden;border:1px solid #aebfd633;text-align:left;background:#101725;isolation:isolate}.squad-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080e19 2%,#080e1922 58%,transparent);z-index:-1}.squad-card img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 22%;z-index:-2;transition:transform .35s}.squad-card:hover{border-color:var(--char-color);transform:translateY(-5px)}.squad-card:hover img{transform:scale(1.06)}.squad-card .index{position:absolute;top:9px;left:10px;font:9px var(--mono);color:#fff9}.squad-card .stars{position:absolute;top:8px;right:9px}.stars{font-size:10px;letter-spacing:2px;color:var(--gold)}.squad-card .char-info{position:absolute;bottom:13px;left:12px;right:7px}.squad-card h3{font-size:15px;letter-spacing:.4px}.squad-card .role{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#b5bfd1;margin-top:5px}.squad-card .stripe{position:absolute;left:0;bottom:0;right:0;height:2px;background:var(--char-color)}.squad-tip{font:9px var(--mono);color:#8d9aad;margin-top:13px;letter-spacing:.3px}.mission-card{background:#0b1221ee;backdrop-filter:blur(15px);border:1px solid var(--line);border-top:2px solid var(--red);padding:22px 24px 19px;position:relative}.mission-card .mission-num{position:absolute;right:22px;top:15px;font:54px var(--mono);color:#e3e8ee0a}.mission-card .eyebrow{font-size:8px;letter-spacing:1.7px}.mission-card h2{font-size:27px;margin-top:12px;font-weight:500;letter-spacing:-.6px}.mission-meta{font:9px var(--mono);letter-spacing:1px;color:#95a3b9;margin-top:10px;padding-bottom:16px;border-bottom:1px solid var(--line)}.mission-reward{display:flex;align-items:center;gap:13px;padding:15px 0}.reward-avatar{width:43px;height:47px;object-fit:cover;object-position:top;border:1px solid #ddc48566;clip-path:polygon(0 0,80% 0,100% 20%,100% 100%,0 100%)}.mission-reward h4{font-size:10px;letter-spacing:.5px;margin:0 0 5px;color:var(--gold);font-weight:400}.mission-reward p{font-size:10px;color:#a7b2c4}.primary{background:var(--red);color:#100e16;text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800;min-height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;gap:20px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);border:1px solid transparent}.primary:hover{background:#fc7885}.primary span:last-child{font-size:20px;font-weight:400}.mission-card .primary{width:100%}.secondary{border:1px solid var(--line);background:#111c2baa;min-height:40px;padding:11px 19px;font-size:11px;letter-spacing:1px;text-transform:uppercase}.secondary:hover{border-color:#a6b4c6;background:#1a273a}.text-button{font:10px var(--mono);letter-spacing:.5px;color:#9daac0;padding:8px}.text-button:hover{color:#fff}.mission-foot{display:flex;justify-content:space-between;font:8px var(--mono);color:#6f7f98;margin-top:13px;letter-spacing:1px}.mission-foot i{font-style:normal;color:#acb7c8}.page{max-width:1450px;padding:38px 5vw 40px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.page-heading h1{font-size:34px;font-weight:500;letter-spacing:-1px;margin-top:10px}.page-heading p{font-size:12px;color:#9aa8bd;line-height:1.7;max-width:500px}.operators-page{background:linear-gradient(180deg,#080d17aa,#080d17ee);min-height:calc(100vh - 126px)}.operator-tabs{display:flex;gap:9px;margin-bottom:27px}.operator-tab{height:75px;flex:1;position:relative;display:flex;align-items:center;gap:12px;text-align:left;background:#111a29;border:1px solid var(--line);padding:0 12px 0 0;overflow:hidden}.operator-tab img{height:100%;width:62px;object-fit:cover;object-position:top}.operator-tab h3{font-size:12px;margin:4px 0}.operator-tab .stars{font-size:8px}.operator-tab.selected{border-color:var(--char-color);background:#1c283b}.operator-tab.locked{opacity:.6}.operator-tab small{font:8px var(--mono);color:var(--muted)}.dossier{display:grid;grid-template-columns:260px 1fr;gap:35px}.dossier-art{position:relative;min-height:470px;border:1px solid var(--line);border-top:2px solid var(--char-color);isolation:isolate;padding:25px 23px;display:flex;flex-direction:column;justify-content:end;overflow:hidden;background:#11192a}.dossier-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:-2}.dossier-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0a101b 0%,#0a101bb3 25%,transparent 65%);z-index:-1}.dossier-art .eyebrow{color:var(--char-color);font-size:9px;letter-spacing:1.3px}.dossier-art h2{font-size:36px;font-weight:500;letter-spacing:-1px;margin-top:9px}.dossier-art .title{font-size:11px;color:#bac6d7;margin-top:7px}.dossier-art blockquote{font-size:11px;line-height:1.7;color:#b9c4d5;margin:20px 0 0;font-style:italic}.dossier-level{display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);padding-top:18px;margin-top:17px;border-top:1px solid var(--line);color:#a4b1c6}.dossier-level strong{color:var(--gold);font-size:14px}.talents-wrap{min-width:0}.talents-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--line)}.talents-top h3{font-size:17px;letter-spacing:.3px;font-weight:500}.points{font:11px var(--mono);color:var(--gold);margin-top:7px}.talent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:23px}.talent-branch>h4{font-size:12px;font-weight:500;margin:0}.talent-branch>p{font-size:9px;line-height:1.5;color:var(--muted);min-height:29px;margin-top:6px;margin-bottom:17px}.talent-node{position:relative;min-height:94px;display:block;text-align:left;background:#0b1322e6;border:1px solid var(--line);padding:12px 13px;width:100%;margin-bottom:22px}.talent-node:not(:last-child):after{content:'';position:absolute;height:22px;width:1px;background:var(--line);top:100%;left:50%}.talent-node h4{font-size:11px;font-weight:500;line-height:1.4;margin:0 0 7px}.talent-node p{font-size:9px;line-height:1.5;color:#99a8be;max-width:94%}.node-index{font:8px var(--mono);float:right;color:#8492a6}.talent-node.unlocked{border-color:var(--char-color);background:color-mix(in srgb,var(--char-color) 8%,#0b1421)}.talent-node.unlocked .node-index{color:var(--char-color)}.talent-node.available:hover{border-color:var(--char-color);transform:translateY(-2px)}.talent-node.capstone{border-style:double;border-width:3px;min-height:102px}.tree-note{font:9px var(--mono);line-height:1.7;color:#7f8fa8}.operator-skills{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.skill-info{padding:14px 16px;background:#121c2c;border-left:2px solid var(--char-color)}.skill-info h4{font-size:11px;font-weight:500;margin:0 0 6px}.skill-info p{font-size:10px;color:#91a2b9;line-height:1.5}.locked-message{padding:60px 25px;border:1px solid var(--line);background:#0d1624;text-align:center}.locked-message .lock-icon{font-size:45px;color:var(--gold);margin-bottom:20px}.locked-message p{color:var(--muted);font-size:12px;line-height:1.8;margin:15px auto 25px;max-width:400px}.records-page{background:#080d17e6;min-height:calc(100vh - 126px)}.records-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#101929;margin-bottom:28px}.stat{padding:24px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font:30px var(--mono);color:#edf1f6;font-weight:400;margin-bottom:9px}.stat span{font:9px var(--mono);color:#90a0b9;letter-spacing:1px;text-transform:uppercase}.records-table{width:100%;border-collapse:collapse;text-align:left}.records-table th{font:9px var(--mono);color:#71829b;padding:15px 18px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--line)}.records-table td{padding:19px 18px;font-size:11px;border-bottom:1px solid #b0c0d514}.records-table .record-perfect{color:var(--gold)}.records-table .record-clear{color:#8fbba7}.empty{border:1px dashed var(--line);padding:55px 20px;text-align:center}.empty h3{font-size:19px;font-weight:400}.empty p{color:var(--muted);line-height:1.7;font-size:12px;margin:15px auto 25px}.network-note{padding:21px 0;font:10px var(--mono);line-height:1.8;color:#6f8099}.network-note b{color:#a5b3c8;font-weight:400}.war-room{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.future-mode{padding:21px;background:#0d1626;border:1px solid var(--line)}.future-mode h3{font-size:14px;font-weight:400;margin-bottom:8px}.future-mode p{font-size:11px;color:var(--muted);line-height:1.7}.future-mode .tag{display:inline-block;font:8px var(--mono);letter-spacing:1px;color:#738299;border:1px solid var(--line);padding:4px 7px;margin-bottom:13px}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#050913da;backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:center;padding:25px;overflow:auto}.modal{position:relative;width:min(800px,95vw);background:linear-gradient(145deg,#162033,#0b1221);border:1px solid #9fb5d03d;border-top:2px solid var(--red);padding:35px;max-height:90vh;overflow:auto;box-shadow:0 25px 90px #0009}.modal-close{position:absolute;top:17px;right:18px;width:30px;height:30px;font-size:22px;color:#9caec5}.modal h2{font-size:28px;font-weight:400;margin:12px 35px 15px 0;letter-spacing:-.7px}.modal p{font-size:12px;line-height:1.8;color:#b0bdd1}.modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:28px}.manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin-top:24px}.manual-step .num{font:9px var(--mono);color:var(--red);letter-spacing:1px}.manual-step h3{font-size:14px;font-weight:500;margin:8px 0}.manual-step p{font-size:11px;line-height:1.7;color:#a4b1c6}.controls-table{display:flex;flex-wrap:wrap;gap:9px 20px;font:10px var(--mono);color:#91a1b9;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}kbd{display:inline-block;border:1px solid var(--line);background:#27334b;padding:3px 6px;font:9px var(--mono);color:#d4deec;margin-right:6px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0;border-bottom:1px solid var(--line)}.settings-row h3{font-size:13px;font-weight:500;margin:0 0 7px}.settings-row p{font-size:10px}.toggle{border:1px solid #677991;border-radius:30px;width:42px;height:23px;background:#0a1222;padding:3px;flex-shrink:0}.toggle:before{content:'';display:block;width:15px;height:15px;border-radius:50%;background:#65768d;transition:transform .15s}.toggle.on{border-color:var(--red);background:#ef536422}.toggle.on:before{background:var(--red);transform:translateX(18px)}#toast{position:fixed;bottom:55px;left:50%;transform:translate(-50%,15px);background:#17243afa;border:1px solid #738aa855;color:#e2e9f3;z-index:100;padding:14px 23px;box-shadow:0 10px 40px #0007;font-size:12px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}.intro-modal{width:min(850px,95vw);min-height:430px;background:linear-gradient(0deg,#080d17 0%,#080d1755 100%),url('assets/fortress.webp') center/cover;display:flex;flex-direction:column;justify-content:end;padding:45px}.intro-modal h2{font-size:38px;max-width:560px;line-height:1.15;margin:15px 0 20px}.intro-modal p{max-width:520px;color:#e1e5ec}.intro-progress{display:flex;gap:5px;position:absolute;top:23px;left:45px;right:45px}.intro-progress i{height:2px;background:#ffffff22;flex:1}.intro-progress i.active{background:var(--red)}.intro-modal .modal-actions{justify-content:space-between;align-items:center}.battle-mode #header,.battle-mode #footer{display:none}.battle-mode #screen{height:100dvh;min-height:650px;background:#060b12}.battle-mode #embers{display:none}.battle-shell{height:100%;min-height:650px;display:flex;flex-direction:column;position:relative}.battle-topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#0a111e;border-bottom:1px solid var(--line);gap:18px;flex-shrink:0;z-index:5}.battle-title{display:flex;align-items:center;gap:18px}.battle-title .brand-mark{font-size:27px}.battle-title h2{font-size:14px;font-weight:500;margin-bottom:5px;letter-spacing:.5px}.battle-title p{font:8px var(--mono);color:#8a9bb5;letter-spacing:1px}.battle-resources{display:flex;gap:27px;align-items:center}.battle-resource{min-width:62px}.battle-resource small{display:block;font:8px var(--mono);letter-spacing:1.5px;color:#8191ab;margin-bottom:5px}.battle-resource strong{font:17px var(--mono);font-weight:400}.battle-resource.core strong{color:#8ecdbf}.battle-resource.gold strong{color:var(--gold)}.battle-controls{display:flex;gap:9px;align-items:center}.battle-controls button{height:31px;min-width:34px;border:1px solid var(--line);background:#192339;font:11px var(--mono)}.battle-controls button.selected{border-color:var(--red);color:var(--red)}.battle-field{position:relative;flex:1;min-height:0;overflow:hidden;background:#080e17;display:flex;align-items:center;justify-content:center}#battle-canvas{width:100%;height:100%;object-fit:contain;display:block;touch-action:manipulation;max-width:100%}.battle-overlay-info{position:absolute;left:22px;top:20px;pointer-events:none;max-width:260px}.battle-overlay-info .eyebrow{font-size:8px;letter-spacing:1.8px;color:#9db0c9}.wave-status{font:13px var(--mono);color:#d0d9e7;margin-top:10px;letter-spacing:1px}.objective-hint{font-size:10px;line-height:1.7;color:#9aabc4;margin-top:9px;max-width:205px;background:#09101ac9;padding:9px 12px;border-left:1px solid #dc576777}.boss-bar{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:32%;text-align:center;pointer-events:none}.boss-bar .boss-name{font:9px var(--mono);letter-spacing:3px;color:#f1c2ce;margin-bottom:7px}.boss-track{height:6px;background:#360f23;border:1px solid #ab446977}.boss-fill{height:100%;background:#d95373;box-shadow:0 0 15px #f25a7966;transition:width .2s}.phase-banner{position:absolute;right:24px;top:20px;text-align:right;max-width:260px}.phase-banner .next-wave{min-height:40px;letter-spacing:1.5px;font-size:10px;padding:0 20px}.phase-banner p{font:8px var(--mono);color:#8194af;margin-top:9px;line-height:1.7}.battle-roster{height:148px;background:#0b1221;flex-shrink:0;padding:14px 24px;display:flex;gap:12px;border-top:1px solid #a6bbd433;position:relative;z-index:3}.battle-roster .deploy-card{flex:1;min-width:0;position:relative;display:flex;text-align:left;align-items:end;padding:12px 10px;border:1px solid var(--line);background:#101a2c;isolation:isolate;overflow:hidden;max-width:185px}.deploy-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 23%;z-index:-2;opacity:.75}.deploy-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#091121 1%,#09112111);z-index:-1}.deploy-card.selected{border-color:var(--char-color);box-shadow:inset 0 -2px var(--char-color)}.deploy-card.deployed:before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--char-color)}.deploy-card h3{font-size:13px;text-shadow:0 1px 8px #000;margin-bottom:4px}.deploy-card .cost{position:absolute;top:9px;right:9px;font:10px var(--mono);color:var(--gold);background:#090f1bcb;padding:3px 5px}.deploy-card .hotkey{position:absolute;top:10px;left:10px;font:8px var(--mono);color:#d5e0ef}.deploy-card .role{font:8px var(--mono);color:#b5c2d7;letter-spacing:.4px}.energy-track{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#1d2a40}.energy-fill{height:100%;background:var(--char-color);transition:width .2s}.deploy-card.ready{animation:ready 2s infinite}@keyframes ready{50%{box-shadow:inset 0 0 25px #ffffff15}}.deploy-tools{margin-left:auto;min-width:210px;width:250px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding-left:12px;border-left:1px solid var(--line)}.deploy-tools .selected-name{font-size:12px;font-weight:500;color:#c6d1e1;display:flex;justify-content:space-between;gap:5px}.deploy-tools .selected-name small{font:8px var(--mono);color:var(--gold)}.deploy-tools p{font:9px var(--mono);line-height:1.5;color:#7f93b1}.deploy-actions{display:flex;gap:6px}.deploy-actions button{min-height:32px;font-size:8px;letter-spacing:.5px;padding:7px 10px}.deploy-actions .cast-btn{flex:1;border:1px solid var(--char-color);background:color-mix(in srgb,var(--char-color) 20%,#101929);color:#eff4fb}.battle-log{position:absolute;left:22px;bottom:13px;font:9px var(--mono);line-height:1.7;color:#8c9fb9;pointer-events:none;opacity:.8}.wave-announcement{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;background:linear-gradient(90deg,transparent,#0b1320a6,transparent);animation:announce 3s forwards;z-index:10}.wave-announcement small{font:10px var(--mono);letter-spacing:5px;color:var(--red);margin-bottom:14px}.wave-announcement h2{font-size:38px;letter-spacing:4px;font-weight:500;text-transform:uppercase;text-shadow:0 0 25px #000}.wave-announcement p{font:9px var(--mono);color:#a5b7cf;margin-top:13px;letter-spacing:1px}@keyframes announce{0%{opacity:0;transform:translateY(10px)}15%,70%{opacity:1;transform:translateY(0)}100%{opacity:0}}.ultimate-cutin{position:absolute;left:0;right:0;top:22%;height:150px;display:flex;justify-content:center;align-items:center;background:linear-gradient(90deg,transparent,#080c18ef 18%,#080c18ef 78%,transparent);pointer-events:none;z-index:15;overflow:hidden;animation:cutin 1.7s forwards;border-block:1px solid var(--char-color)}.ultimate-cutin img{height:230%;width:250px;object-fit:cover;object-position:top;align-self:flex-start;transform:translateY(-18%);opacity:.8;mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent)}.ultimate-cutin span{font:9px var(--mono);letter-spacing:4px;color:var(--char-color)}.ultimate-cutin h2{font-size:29px;letter-spacing:1px;text-transform:uppercase;font-weight:500;margin-top:10px}@keyframes cutin{0%{opacity:0;transform:translateX(-30px)}12%,75%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(30px)}}.draft-modal{width:min(1000px,96vw);text-align:center;padding:36px}.draft-modal .eyebrow{justify-content:center}.draft-modal h2{margin-right:0}.draft-modal>p{max-width:480px;margin:auto}.draft-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.draft-card{min-height:240px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#0b1525;border:1px solid var(--line);border-top:2px solid var(--upgrade-color);padding:23px;position:relative}.draft-card:hover{transform:translateY(-5px);background:#17263d;border-color:var(--upgrade-color)}.draft-card .draft-icon{font-size:39px;color:var(--upgrade-color);margin-bottom:25px;line-height:1}.draft-card .draft-tag{font:8px var(--mono);letter-spacing:2px;color:var(--upgrade-color)}.draft-card h3{font-size:19px;font-weight:400;line-height:1.2;margin:13px 0}.draft-card p{font-size:11px;line-height:1.7;color:#9caec8}.draft-card .draft-key{font:8px var(--mono);margin-top:auto;padding-top:25px;color:#7488a6}.results-modal{width:min(850px,95vw);padding:42px;text-align:center}.results-modal .eyebrow{justify-content:center}.results-modal h2{font-size:48px;margin:17px 0 14px;letter-spacing:-1.8px}.result-stars{font-size:25px;letter-spacing:8px;color:var(--gold);margin:15px 0}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:21px 0;margin-top:25px}.result-stats strong{font:24px var(--mono);font-weight:400;display:block}.result-stats small{display:block;font:8px var(--mono);color:#8d9db6;letter-spacing:1px;margin-top:9px}.result-reward{display:flex;text-align:left;gap:22px;align-items:center;background:linear-gradient(90deg,#d2aa6215,#d2aa6207);border:1px solid #cfb16d55;padding:15px;margin-top:25px}.result-reward img{width:95px;height:110px;object-fit:cover;object-position:top}.result-reward h3{font-size:24px;font-weight:400;margin:8px 0}.result-reward p{font-size:11px}.results-modal .modal-actions{justify-content:center}.result-earned{font:10px var(--mono);color:#a5b4cc;margin:20px 0}.perfect-badge{font:9px var(--mono);letter-spacing:2px;color:var(--gold)}.fade-in{animation:fade-in .5s both}@keyframes fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.command{padding:7vh 6vw 5vh}.squad-card{height:210px}.command-bottom{grid-template-columns:1fr 400px}.mission-card{padding:25px 28px}.mission-card h2{font-size:31px}.hero-copy h1{font-size:100px}}@media(max-width:1100px){.main-nav{gap:20px}.topbar{gap:20px;padding:0 3vw}.top-right{gap:11px}.brand{font-size:21px;letter-spacing:3px}.command{padding:4vh 4vw 3vh}.command-bottom{grid-template-columns:1fr 330px;gap:25px}.hero-copy h1{font-size:68px}.squad-card{height:155px}.squad-card h3{font-size:12px}.squad-card .char-info{left:9px}.squad-card .role{font-size:7px}.situation{width:220px}.dossier{grid-template-columns:210px 1fr;gap:23px}.talent-grid{gap:11px}.talent-node{padding:10px;min-height:103px}.page{padding-inline:3vw}.operator-tab{gap:8px}.operator-tab img{width:48px}.battle-roster{gap:8px;padding:12px}.deploy-tools{width:210px;min-width:190px}.battle-title{gap:10px}.battle-resources{gap:18px}.battle-topbar{padding:0 16px}.battle-overlay-info{left:15px}.battle-log{left:15px}.deploy-card .role{font-size:7px}.battle-roster .deploy-card{padding:10px 8px}.phase-banner{right:16px}}@media(max-width:800px){.topbar{height:73px;padding:0 20px}.brand{font-size:19px}.brand-mark{font-size:30px}.brand small{font-size:6px;letter-spacing:3px}.main-nav{gap:15px}.main-nav button{font-size:9px;letter-spacing:1px}.main-nav button span{display:none}.top-right{gap:6px}#currency{display:none}.fullscreen-btn{display:none}.top-right .icon-button{font-size:17px;width:21px}#screen{min-height:calc(100vh - 106px)}#footer{height:33px;font-size:7px;padding:0 20px}#footer>span:nth-child(2){display:none}.command{min-height:calc(100vh - 106px);padding:30px 25px;gap:45px}.command-top{min-height:350px}.hero-copy{padding-top:13px}.hero-copy h1{font-size:67px}.hero-copy p{font-size:12px;max-width:320px}.situation{display:none}.command-bottom{grid-template-columns:1fr;gap:28px}.squad-strip{max-width:none}.squad-card{height:145px}.mission-card{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:center}.mission-card .eyebrow,.mission-card h2,.mission-card .mission-meta{grid-column:1}.mission-card .mission-reward{grid-column:2;grid-row:1/4}.mission-card .primary{margin-top:13px}.mission-card .mission-foot{grid-column:2;margin-top:13px}.mission-meta{border:0;padding:0}.hero-index{margin-top:22px}.dossier{grid-template-columns:180px 1fr;gap:17px}.dossier-art{min-height:410px;padding:20px 15px}.dossier-art h2{font-size:30px}.dossier-art blockquote{font-size:10px}.talent-grid{gap:8px}.talent-node{padding:8px;min-height:120px}.talent-node h4{font-size:10px}.talent-node p{font-size:8px}.talent-branch>h4{font-size:11px}.talent-branch>p{font-size:8px;min-height:36px}.talents-top h3{font-size:15px}.talents-top .secondary{font-size:8px;padding:8px 11px}.points{font-size:9px}.operator-tabs{gap:5px}.operator-tab{height:67px;padding-right:6px;gap:0;justify-content:center}.operator-tab img{position:absolute;width:100%;height:100%;opacity:.4}.operator-tab>div{position:relative;text-shadow:0 1px 8px #000}.operator-tab small{font-size:7px}.operator-tab h3{font-size:11px}.page-heading{align-items:start}.page-heading p{max-width:260px;font-size:10px}.page{padding:30px 22px}.records-stats .stat{padding:19px 15px}.stat strong{font-size:25px}.stat span{font-size:7px}.records-table td,.records-table th{padding:15px 9px;font-size:9px}.battle-mode #screen,.battle-shell{min-height:600px}.battle-topbar{height:62px;padding:0 12px;gap:10px}.battle-title .brand-mark{display:none}.battle-title h2{font-size:11px}.battle-title p{font-size:6px}.battle-resources{gap:13px}.battle-resource{min-width:42px}.battle-resource small{font-size:6px}.battle-resource strong{font-size:13px}.battle-controls{gap:5px}.battle-controls button{height:28px;min-width:29px;font-size:9px}.battle-roster{height:124px;padding:10px;gap:5px}.battle-roster .deploy-card{padding:8px 6px}.deploy-card h3{font-size:10px}.deploy-card .role{font-size:6px}.deploy-card .cost{font-size:8px;top:7px;right:6px}.deploy-card .hotkey{font-size:6px;left:6px;top:8px}.deploy-tools{width:160px;min-width:150px;padding-left:7px}.deploy-tools .selected-name{font-size:10px}.deploy-tools p{font-size:7px}.deploy-actions button{font-size:7px;padding:6px}.battle-overlay-info{top:13px;left:12px;max-width:170px}.battle-overlay-info .eyebrow{font-size:6px;letter-spacing:1px}.wave-status{font-size:9px}.objective-hint{font-size:8px;padding:5px 8px;max-width:160px}.phase-banner{top:12px;right:12px}.phase-banner .next-wave{min-height:32px;font-size:8px;letter-spacing:1px;padding:0 12px}.phase-banner p{font-size:6px}.battle-log{font-size:7px;bottom:9px;left:12px}.boss-bar{top:12px}.boss-bar .boss-name{font-size:7px}.result-stats strong{font-size:19px}.result-stats small{font-size:7px}.results-modal h2{font-size:39px}.ultimate-cutin h2{font-size:22px}.ultimate-cutin{height:115px}.ultimate-cutin img{width:190px}.ultimate-cutin span{font-size:7px;letter-spacing:2px}.draft-card{padding:17px;min-height:220px}.draft-card h3{font-size:16px}.draft-card p{font-size:10px}}@media(max-width:560px){.topbar{padding:0 15px;gap:12px;height:68px}.brand{font-size:16px;letter-spacing:2px;gap:6px}.brand small{letter-spacing:1.5px;font-size:5px}.brand-mark{font-size:25px}.main-nav{gap:12px}.main-nav button{font-size:8px;letter-spacing:.5px}.top-right .icon-button{display:none}.top-right #sound-toggle{display:block;font-size:19px}.command{padding:25px 20px;gap:28px}.command-top{min-height:355px}.hero-copy h1{font-size:63px;letter-spacing:-3px;margin-top:24px}.hero-copy p{font-size:11px;max-width:285px}.hero-copy .eyebrow{font-size:8px;letter-spacing:2px}.squad-card{height:112px}.squad-strip{gap:5px}.squad-card .index{font-size:6px;left:6px;top:7px}.squad-card .stars{font-size:6px;right:5px;top:6px;letter-spacing:0}.squad-card .char-info{left:7px;bottom:10px}.squad-card h3{font-size:10px}.squad-card .role{font-size:5px;letter-spacing:0}.section-label{font-size:8px;letter-spacing:1px}.squad-tip{font-size:7px;line-height:1.7}.mission-card{padding:19px;display:block}.mission-card h2{font-size:25px}.mission-meta{padding-bottom:14px;border-bottom:1px solid var(--line);font-size:8px}.mission-card .mission-reward{padding-block:13px}.mission-card .primary{margin-top:0}.mission-card .mission-foot{font-size:7px}.mission-card .mission-num{font-size:65px;right:18px;top:26px}.backdrop{background-position:58% center}.page{padding:25px 15px}.page-heading{display:block;margin-bottom:23px}.page-heading h1{font-size:29px}.page-heading p{margin-top:12px;max-width:none}.dossier{display:flex;flex-direction:column;gap:20px}.dossier-art{min-height:210px;padding:20px;justify-content:center}.dossier-art>img{width:54%;left:auto;object-position:center 22%;mask-image:linear-gradient(90deg,transparent,#000 30%)}.dossier-art:after{background:linear-gradient(90deg,#0a101b 10%,#0a101bb3 40%,transparent)}.dossier-art h2{font-size:32px}.dossier-art blockquote{max-width:52%;font-size:9px;margin-top:12px}.dossier-level{max-width:52%;margin-top:11px;padding-top:11px;font-size:8px}.dossier-art .title{font-size:9px;max-width:52%}.talent-grid{gap:8px;margin-top:18px}.talent-node{min-height:116px}.talent-node h4{font-size:9px}.talent-node p{font-size:8px;line-height:1.5}.talent-branch>h4{font-size:10px}.talent-branch>p{min-height:42px}.operator-tabs{margin-bottom:18px}.operator-tab{height:60px}.operator-tab h3{font-size:9px}.operator-tab small{font-size:6px}.operator-tab .stars{font-size:6px;letter-spacing:0}.operator-skills{gap:9px}.skill-info{padding:12px}.skill-info h4{font-size:10px}.skill-info p{font-size:9px}.records-stats{grid-template-columns:1fr 1fr}.records-stats .stat{border-bottom:1px solid var(--line)}.records-table th:nth-child(2),.records-table td:nth-child(2){display:none}.war-room{grid-template-columns:1fr}.modal-backdrop{padding:14px}.modal{padding:25px 22px;max-height:92vh}.modal h2{font-size:25px}.modal p{font-size:11px}.manual-grid{grid-template-columns:1fr;gap:18px}.manual-step h3{font-size:13px}.manual-step p{font-size:10px}.modal .modal-actions{gap:9px;flex-wrap:wrap}.modal-actions .primary{font-size:9px;padding:0 16px;min-height:43px}.modal-actions .secondary{font-size:9px;min-height:43px}.intro-modal{min-height:450px;padding:31px 25px}.intro-modal h2{font-size:31px}.intro-progress{left:25px;right:25px}.records-table th,.records-table td{font-size:8px}.battle-mode #screen,.battle-shell{min-height:670px}.battle-topbar{height:76px;flex-wrap:wrap;gap:4px 12px;padding:10px 12px}.battle-title{flex:1}.battle-title p{font-size:6px}.battle-resources{order:3;width:100%;justify-content:space-between}.battle-resource{display:flex;gap:7px;align-items:center}.battle-resource small{margin:0;font-size:6px}.battle-resource strong{font-size:12px}.battle-controls{gap:5px}.battle-controls button{height:23px;min-width:24px;font-size:8px}.battle-overlay-info{top:10px}.objective-hint{font-size:7px;max-width:140px}.wave-status{font-size:8px}.battle-overlay-info .eyebrow{font-size:5px}.battle-roster{height:196px;flex-wrap:wrap;gap:5px;padding:9px}.battle-roster .deploy-card{height:93px;flex-basis:16%;max-width:none}.deploy-tools{width:100%;height:69px;min-width:100%;border-left:0;border-top:1px solid var(--line);padding:7px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;align-items:center}.deploy-tools .selected-name{font-size:10px}.deploy-tools p{grid-column:1;grid-row:2;font-size:7px}.deploy-actions{grid-column:2;grid-row:1/3}.deploy-actions button{font-size:7px}.battle-log{font-size:6px}.boss-bar{top:65px;width:48%}.boss-bar .boss-name{font-size:6px;letter-spacing:1px}.phase-banner .next-wave{font-size:6px;min-height:28px;padding:0 8px;letter-spacing:.5px}.phase-banner .next-wave span:last-child{font-size:12px}.phase-banner p{font-size:5px;max-width:140px}.phase-banner{top:10px;right:10px}.ultimate-cutin{height:90px;top:38%}.ultimate-cutin img{width:135px}.ultimate-cutin h2{font-size:15px;margin-top:5px}.ultimate-cutin span{font-size:6px}.draft-cards{gap:9px;grid-template-columns:1fr;margin-top:20px}.draft-card{min-height:120px;padding:15px 15px 15px 68px}.draft-card .draft-icon{position:absolute;top:38px;left:20px;font-size:27px}.draft-card h3{font-size:16px;margin:8px 0}.draft-card p{font-size:10px}.draft-card .draft-key{display:none}.draft-card .draft-tag{font-size:7px}.draft-modal h2{font-size:25px}.result-stats{grid-template-columns:1fr 1fr;gap:25px}.results-modal h2{font-size:36px}.result-reward{padding:11px;gap:14px}.result-reward img{width:70px;height:90px}.result-reward h3{font-size:21px}.result-reward p{font-size:9px}.wave-announcement h2{font-size:23px;letter-spacing:2px}.wave-announcement small{font-size:7px;letter-spacing:2px}.wave-announcement p{font-size:7px;letter-spacing:0}#footer{font-size:6px;padding-inline:15px}#footer b{display:none}.hero-index{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}#embers{display:none}}
/* Keep portraits anchored and talent choices readable in every state. */
.squad-card img{inset:0}.talent-node:disabled{opacity:.72}.talent-node h4{font-size:12px}.talent-node p{font-size:11px;line-height:1.6;color:#acb9cd}.talent-node{min-height:108px}.talent-branch>p{font-size:10px;min-height:32px}.tree-note{font-size:10px}.operator-skills .skill-info p{font-size:11px}.battle-mode #app{height:100dvh;min-height:650px}.battle-mode #screen{flex:none}.battle-roster{overflow:hidden}button[hidden]{display:none!important}.boss-bar[hidden]{display:none!important}
@media(max-width:1100px){.talent-node p{font-size:10px}.talent-node h4{font-size:11px}.talent-node{min-height:121px}}
@media(max-width:800px){.talent-node p{font-size:9px}.talent-node h4{font-size:10px}.talent-branch>p{font-size:9px;min-height:45px}.talent-node{min-height:130px}.tree-note{font-size:9px}}
@media(max-width:560px){.talent-node p{font-size:9px;line-height:1.5}.talent-node h4{font-size:10px}.talent-node{padding:9px;min-height:133px}.talent-branch>p{font-size:9px}.battle-mode #app{min-height:670px}}
/* Black Canticle: the battlefield and ability explanations share the screen. */
.battle-roster{height:208px;padding:15px 22px;gap:10px;overflow:hidden}.battle-roster .deploy-card{max-width:158px;min-width:84px;flex:1;padding:13px 10px}.deploy-card img{object-position:center 18%;opacity:.88}.deploy-card h3{font-size:14px;line-height:1.25;max-width:140px}.deploy-card .role{font-size:8px;line-height:1.5;letter-spacing:.5px;max-width:120px}.deploy-card .hotkey{font-size:9px}.deploy-card .cost{font-size:9px}.deploy-tools{width:410px;min-width:340px;max-width:440px;flex:1.8;gap:9px;padding-left:20px;margin-left:auto;justify-content:center}.ability-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.ability-tag{font:9px var(--mono);letter-spacing:1px;color:var(--char-color)}#ability-energy{font:9px var(--mono);color:#b8c5d7;white-space:nowrap}.deploy-tools h3{font-size:19px;line-height:1.15;font-weight:500;letter-spacing:-.3px}.deploy-tools .ability-effect{font:12px/1.5 var(--sans);color:#d7dfec}.deploy-tools .ability-when{font:11px/1.5 var(--sans);color:#9cacbf}.ability-when b{font-weight:500;color:var(--char-color)}.deploy-tools .deploy-actions{margin-top:2px}.deploy-actions button{min-height:34px;font-size:10px;letter-spacing:.4px;padding:8px 12px}.deploy-actions .cast-btn{background:color-mix(in srgb,var(--char-color) 17%,#0b1423);font-weight:600}.ability-status{font:9px var(--mono);line-height:1.4;color:#8da0bb;min-height:13px}.tactical-ribbon{height:39px;min-height:39px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 24px;border-top:1px solid #6c8eab40;background:linear-gradient(90deg,#0b1524,#121c2c);font:8px var(--mono);letter-spacing:1px;color:#8fa4be;z-index:4}.tactical-ribbon>div{display:flex;align-items:center;gap:11px}.tactical-ribbon b{font-weight:400;color:#d3deed;font-size:9px}.tactical-ribbon strong{font:20px var(--mono);color:#f1c8ca;font-weight:400}.pressure-meter{width:170px}.pressure-meter>i{display:block;width:100px;height:3px;background:#26364e;position:relative}.pressure-meter i b{height:100%;width:10%;display:block;background:#ed5a73;box-shadow:0 0 10px #ed5a7355;transition:width .5s}.aim-banner{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:max-content;max-width:85%;background:#0d1427ef;border:1px solid #deb371aa;border-left:3px solid #f0c987;padding:12px 22px;text-align:center;display:flex;flex-direction:column;gap:6px;pointer-events:none;z-index:20;box-shadow:0 10px 35px #0008}.aim-label{font:8px var(--mono);letter-spacing:3px;color:#f2cc88}.aim-banner strong{font-size:13px;font-weight:500;color:#f3e7d5}.aim-banner>span:last-child{font:9px var(--mono);color:#a7b6cd}[hidden]{display:none!important}.phase-banner{max-width:300px}.phase-banner p{max-width:285px;line-height:1.7}.battle-overlay-info{max-width:260px;background:linear-gradient(90deg,#080f1bd4,#080f1b00);padding:10px 15px 12px 0;top:12px}.battle-overlay-info .eyebrow{font-size:8px;letter-spacing:1.5px;color:#d3bd9b}.wave-status{font-size:10px;line-height:1.6;color:#e3e6ef}.objective-hint{font-size:10px;background:#080e19d1;max-width:235px;color:#aabed3}.battle-log{background:#090f1abb;padding:5px 8px;bottom:9px}.boss-bar .boss-name{text-shadow:0 2px 7px #000;font-size:9px;background:#0b1221cc;padding:5px}.checkpoint-modal{width:min(950px,96vw);padding:38px}.checkpoint-modal h2{font-size:37px;line-height:1.08;letter-spacing:-1px;margin-top:15px}.checkpoint-modal>p{max-width:740px}.checkpoint-stats{display:flex;gap:25px;justify-content:space-between;align-items:center;padding:22px 0;margin:22px 0;border-block:1px solid var(--line);font:8px var(--mono);color:#8ea0ba;letter-spacing:1px}.checkpoint-stats b{display:block;font:24px var(--mono);color:#f2e3c4;margin-bottom:8px;font-weight:400}.checkpoint-options{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:25px}.checkpoint-option{border:1px solid #7d8fab50;display:block;text-align:left;padding:24px 22px;background:#0e1828}.checkpoint-option>span{font:8px var(--mono);letter-spacing:2px;color:#9caecc}.checkpoint-option h3{font-size:23px;font-weight:400;margin:17px 0 12px;letter-spacing:-.5px}.checkpoint-option p{font-size:12px;line-height:1.7;min-height:60px}.checkpoint-option>b{display:block;margin-top:24px;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:#e8d9be}.endless-option{border-color:#ed647a88;background:linear-gradient(135deg,#b7354a1a,#111827)}.endless-option>span,.endless-option>b{color:#f38b9a}.checkpoint-option:hover{border-color:#b9c8dd;transform:translateY(-3px)}.endless-option:hover{border-color:#ff738e}.checkpoint-recruit{display:flex;align-items:center;gap:18px;background:#c1a26812;border:1px solid #d0aa6255;padding:12px 15px}.checkpoint-recruit img{width:62px;height:72px;object-fit:cover;object-position:top}.checkpoint-recruit h3{font-size:23px;margin:7px 0 4px;font-weight:400}.checkpoint-recruit p{font-size:10px}.checkpoint-recruit .stars{font-size:9px}.checkpoint-modal .checkpoint-note{font:9px var(--mono);color:#8a9eb8;text-align:center;margin-top:21px;max-width:none}.draft-modal>p{font-size:12px}.draft-card p{font-size:12px}.draft-card .draft-tag{font-size:9px}.ultimate-cutin{height:125px;top:28%;opacity:.93}.ultimate-cutin h2{font-size:25px;max-width:700px;line-height:1.1}.ultimate-cutin img{opacity:.9}.wave-announcement{background:linear-gradient(90deg,transparent,#0b132088,transparent)}.wave-announcement h2{font-size:32px;letter-spacing:2px}.mission-meta{font-size:8px;letter-spacing:.5px}.squad-card h3{line-height:1.15}.operator-tab h3{font-size:11px}
@media(max-width:1100px){.battle-roster{padding:12px 14px;gap:7px;height:217px}.deploy-tools{width:340px;min-width:300px;padding-left:15px;gap:7px}.deploy-tools h3{font-size:17px}.deploy-tools .ability-effect{font-size:11px}.deploy-tools .ability-when{font-size:10px}.battle-roster .deploy-card{max-width:145px;min-width:68px;padding:11px 8px}.deploy-card h3{font-size:12px}.deploy-card .role{font-size:7px;letter-spacing:0}.tactical-ribbon{padding-inline:18px;gap:10px}.tactical-ribbon>div{gap:8px}#ribbon-phase{font-size:7px;max-width:260px}.pressure-meter{width:135px}.pressure-meter>i{width:70px}.ability-tag{font-size:8px;letter-spacing:.5px}.deploy-actions button{font-size:9px}}
@media(max-width:800px){.battle-roster{height:223px;gap:6px;padding:10px}.deploy-tools{min-width:258px;width:290px;max-width:310px;padding-left:12px;gap:7px}.deploy-tools h3{font-size:16px}.deploy-tools .ability-effect{font-size:11px}.deploy-tools .ability-when{font-size:10px}.ability-status{font-size:8px}.battle-roster .deploy-card{min-width:51px;padding:8px 6px}.deploy-card h3{font-size:10px;line-height:1.3}.deploy-card .role{font-size:6px}.deploy-card .cost{font-size:7px;right:4px;padding:3px}.deploy-card .hotkey{font-size:7px;left:6px;top:9px}.deploy-actions button{font-size:8px;padding:7px 8px}.tactical-ribbon{height:34px;min-height:34px;padding-inline:12px;font-size:7px}.tactical-ribbon strong{font-size:17px}.pressure-meter{display:none!important}#ribbon-phase{font-size:6px;max-width:200px}.tactical-ribbon b{font-size:8px}.tactical-ribbon .status-dot{display:none}.wave-status{font-size:8px}.battle-overlay-info{max-width:188px;padding:6px 10px 6px 0}.objective-hint{font-size:8px;max-width:175px}.battle-overlay-info .eyebrow{font-size:6px}.phase-banner p{font-size:7px;max-width:195px}.aim-banner{padding:9px 15px;bottom:9px;max-width:90%}.aim-banner strong{font-size:11px}.aim-banner>span:last-child{font-size:7px}.aim-label{font-size:7px}.checkpoint-modal{padding:28px}.checkpoint-modal h2{font-size:31px}.checkpoint-option{padding:20px 17px}.checkpoint-option h3{font-size:21px}.checkpoint-option p{font-size:11px}.checkpoint-stats{gap:15px;font-size:7px}.checkpoint-stats b{font-size:21px}.ultimate-cutin h2{font-size:20px}}
@media(max-width:560px){.battle-mode #screen,.battle-shell,.battle-mode #app{min-height:850px}.battle-roster{height:320px;flex-wrap:wrap;padding:10px;gap:6px}.battle-roster .deploy-card{height:98px;flex-basis:15%;min-width:42px;max-width:none;padding:8px 5px}.deploy-card h3{font-size:9px}.deploy-card .role{font-size:5px;line-height:1.4}.deploy-card .cost{font-size:6px;right:3px;top:25px}.deploy-card .hotkey{font-size:6px}.deploy-tools{display:flex;flex-direction:column;align-items:stretch;justify-content:center;max-width:none;width:100%;height:196px;min-width:100%;padding:12px 5px 0;gap:8px}.deploy-tools h3{font-size:18px}.deploy-tools .ability-effect{font-size:12px;line-height:1.45}.deploy-tools .ability-when{font-size:11px;line-height:1.45}.ability-heading{min-height:12px}.ability-tag{font-size:8px}#ability-energy{font-size:9px}.deploy-tools .deploy-actions{display:flex;grid-column:auto;grid-row:auto}.deploy-actions button{font-size:9px;min-height:33px}.ability-status{font-size:8px}.tactical-ribbon{height:39px;min-height:39px;gap:7px;letter-spacing:0;font-size:6px}.tactical-ribbon>div:first-child{display:block}.tactical-ribbon b{font-size:7px;display:block;margin-bottom:4px}#ribbon-phase{font-size:5px;max-width:180px;display:block}.tactical-ribbon>div{gap:5px}.tactical-ribbon strong{font-size:18px}.tactical-ribbon #hud-formations{display:none}.battle-title h2{font-size:12px}.battle-overlay-info{max-width:145px;top:5px;left:10px}.objective-hint{font-size:7px;max-width:140px;line-height:1.6}.wave-status{font-size:7px}.battle-overlay-info .eyebrow{font-size:5px;letter-spacing:.6px}.phase-banner{max-width:160px}.phase-banner p{font-size:6px;max-width:145px}.boss-bar{top:64px}.aim-banner{bottom:15px;width:95%;max-width:95%;padding:9px 10px}.aim-banner strong{font-size:10px;line-height:1.5}.aim-banner>span:last-child{font-size:6px}.checkpoint-options{grid-template-columns:1fr;gap:12px;margin-top:18px}.checkpoint-modal{padding:27px 21px}.checkpoint-modal h2{font-size:30px}.checkpoint-option{padding:18px}.checkpoint-option h3{font-size:22px;margin-top:12px}.checkpoint-option p{min-height:0;font-size:11px}.checkpoint-option>b{margin-top:15px;font-size:10px}.checkpoint-stats{gap:12px;flex-wrap:wrap;padding:17px 0;margin:18px 0}.checkpoint-stats b{font-size:18px}.checkpoint-stats span{font-size:6px}.checkpoint-recruit p{font-size:9px}.checkpoint-recruit h3{font-size:20px}.checkpoint-note{font-size:8px!important}.ultimate-cutin h2{font-size:15px}.ultimate-cutin{height:95px}.wave-announcement h2{font-size:22px}.draft-card p{font-size:11px}.draft-card .draft-tag{font-size:8px}}
