html,body,#game-shell{width:100%;height:100%;margin:0;overflow:hidden;background:#090d0f;color:#e8f2f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;touch-action:none;-webkit-user-select:none;user-select:none}*,*:before,*:after{box-sizing:border-box}#game-shell{position:fixed;inset:0}#game-root{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}canvas:focus{outline:none}#hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;flex-direction:column;gap:6px;pointer-events:none;text-shadow:0 2px 8px rgb(0 0 0 / 76%)}.hud-row{display:flex;align-items:center;gap:14px;min-height:28px;font-size:13px;font-weight:800;letter-spacing:0}.hud-row span{padding:5px 8px;border:1px solid rgb(184 225 216 / 22%);border-left-color:#6be3c77a;border-radius:3px;background:linear-gradient(180deg,#0e181ab8,#050a0ca3),repeating-linear-gradient(90deg,rgb(255 255 255 / 4%) 0 1px,transparent 1px 12px);box-shadow:inset 0 0 0 1px #ffffff08,0 8px 20px #0003;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#hp-label.armor-damaged{border-color:#ffd1667a;background:linear-gradient(90deg,#46310ebd,#080e0fa3),repeating-linear-gradient(90deg,rgb(255 209 102 / 9%) 0 1px,transparent 1px 10px);color:#ffd166}#hp-label.armor-critical{border-color:#ff765aad;background:linear-gradient(90deg,#5b1712c7,#110c0cad),repeating-linear-gradient(90deg,rgb(255 118 90 / 12%) 0 2px,transparent 2px 12px);box-shadow:inset 0 0 0 1px #ffd16624,0 0 18px #ff5a4638;color:#ffb26b;animation:armor-critical-pulse .9s ease-in-out infinite alternate}#hp-label.armor-disabled{border-color:#ff765a6b;color:#a6b4af;opacity:.78}@keyframes armor-critical-pulse{0%{box-shadow:inset 0 0 0 1px #ffd1661a,0 0 10px #ff5a4624}to{box-shadow:inset 0 0 0 1px #ffd16633,0 0 24px #ff5a4657}}.hud-row.muted{font-size:12px;font-weight:700;color:#b8c9c3;flex-wrap:wrap}#objective-label{max-width:min(720px,calc(100vw - 132px));overflow-wrap:anywhere;line-height:1.2}.bonus-row{min-height:24px}.bonus-row.hidden{display:none}.bonus-row span{max-width:min(520px,calc(100vw - 24px));border-color:#ffd16657;background:linear-gradient(90deg,#32270db8,#0a1214a8),repeating-linear-gradient(90deg,rgb(255 209 102 / 8%) 0 1px,transparent 1px 12px);color:#ffd166;font-size:10px;font-weight:950;line-height:1.1;text-transform:uppercase}.bonus-row.failed span{border-color:#ff765a70;color:#ffb26b}#reset-button{min-height:28px;padding:4px 10px;border:1px solid rgb(232 242 240 / 34%);border-radius:3px;background:linear-gradient(180deg,#1c2d30d1,#0c1618c2);color:#e8f2f0;cursor:pointer;font:inherit;font-size:12px;font-weight:800;pointer-events:auto;transition:border-color .12s ease,background .12s ease,transform .12s ease}#reset-button:hover,#reset-button:focus-visible{border-color:#6be3c7b8;background:linear-gradient(180deg,#234140e0,#0d2223d1)}#reset-button:active{transform:translateY(1px)}.heat-row{min-height:26px}.heat-row.hidden{display:none}.heat-indicator{--heat-level: 0%;position:relative;display:flex;align-items:center;gap:8px;width:min(286px,calc(100vw - 24px));min-height:26px;padding:4px 9px;border:1px solid rgb(184 225 216 / 24%);border-radius:4px;background:linear-gradient(90deg,#091113eb,#17201fd6),repeating-linear-gradient(90deg,rgb(255 255 255 / 5%) 0 1px,transparent 1px 10px);box-shadow:inset 0 0 0 1px #ffffff08,0 8px 18px #00000042;color:#dcebe7;overflow:hidden}.heat-indicator:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#6be3c7;opacity:.9}.heat-indicator:after{content:"";position:absolute;inset:1px 1px auto 5px;height:1px;background:linear-gradient(90deg,rgb(255 255 255 / 18%),transparent);opacity:.75}.heat-indicator-label,.heat-readout{position:relative;z-index:1;font-size:10px;font-weight:950;line-height:1}.heat-indicator-label{color:#6be3c7}.heat-readout{width:34px;color:#e8f2f0;text-align:right}.heat-rail{position:relative;z-index:1;flex:1;height:10px;border:1px solid rgb(232 242 240 / 18%);border-radius:2px;background:repeating-linear-gradient(90deg,transparent 0 11px,rgb(5 12 14 / 70%) 11px 14px),linear-gradient(90deg,#0f1a1df5,#080e10f5);overflow:hidden}.heat-fill{position:absolute;inset:1px auto 1px 1px;width:var(--heat-level);border-radius:1px;background:linear-gradient(90deg,#6be3c7,#ffd166 62%,#ff6b4a);box-shadow:0 0 12px #6be3c75c;transition:width 90ms linear}.heat-warning{position:relative;z-index:1;width:7px;height:7px;border:1px solid rgb(232 242 240 / 24%);background:#6be3c738;transform:rotate(45deg)}.heat-indicator.warm:before,.heat-indicator.warm .heat-indicator-label{color:#ffd166}.heat-indicator.warm:before{background:#ffd166}.heat-indicator.hot,.heat-indicator.overheated{border-color:#ff765a9e}.heat-indicator.hot:before,.heat-indicator.overheated:before{background:#ff765a}.heat-indicator.hot .heat-indicator-label,.heat-indicator.overheated .heat-indicator-label,.heat-indicator.overheated .heat-readout{color:#ff765a}.heat-indicator.hot .heat-warning,.heat-indicator.overheated .heat-warning{background:#ff765a;box-shadow:0 0 16px #ff765ab3}.heat-indicator.overheated .heat-fill{background:linear-gradient(90deg,#ffbe63,#ff765a 46%,#ff3f32);box-shadow:0 0 12px #ff765a8f,0 0 24px #ff3f3252}.heat-indicator.overheated{animation:heat-pulse .42s ease-in-out infinite alternate}@keyframes heat-pulse{0%{box-shadow:inset 0 0 0 1px #ff765a26,0 8px 18px #00000042}to{box-shadow:inset 0 0 0 1px #ff765a70,0 0 20px #ff765a47}}#boot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#e8f2f0;font-size:14px;font-weight:800;letter-spacing:0}#garage-panel{position:absolute;top:max(88px,calc(env(safe-area-inset-top) + 76px));left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));width:min(430px,calc(100vw - 28px));padding:14px;overflow-y:auto;border:1px solid rgb(184 225 216 / 30%);border-radius:6px;background:linear-gradient(180deg,#0c1719eb,#050a0ce0),repeating-linear-gradient(135deg,rgb(255 255 255 / 4%) 0 1px,transparent 1px 14px);box-shadow:0 18px 44px #00000075,inset 0 1px #ffffff14,inset 0 -1px #0000006b;color:#edf7f4;scrollbar-color:rgb(107 227 199 / 50%) rgb(7 12 14 / 72%);scrollbar-width:thin}#garage-panel.hidden{display:none}#garage-panel:before,.contract-summary:before{content:"";position:sticky;z-index:1;top:-14px;display:block;height:2px;margin:-14px -14px 12px;background:linear-gradient(90deg,#6be3c7,rgb(255 209 102 / 82%),transparent);pointer-events:none}.contract-summary{--pressure-rgb: 107 227 199;position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));width:min(430px,calc(100vw - 28px));padding:13px;border:1px solid rgb(184 225 216 / 30%);border-radius:6px;background:linear-gradient(180deg,#0c1719f0,#050a0ce5),repeating-linear-gradient(135deg,rgb(255 255 255 / 4%) 0 1px,transparent 1px 14px);box-shadow:0 18px 44px #00000075,inset 0 1px #ffffff14,inset 3px 0 rgb(var(--pressure-rgb) / 30%);color:#edf7f4;transform:translate(-50%)}.contract-summary.has-unlock{border-color:#ffd1669e;box-shadow:0 18px 44px #0000006b,inset 0 0 0 1px #ffd16633,inset 3px 0 rgb(var(--pressure-rgb) / 36%)}.contract-summary.hidden{display:none}.summary-header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:9px}.summary-header span,.summary-header strong{display:block}.summary-header span{color:#6be3c7;font-size:11px;font-weight:900}.summary-header strong{color:#fff;font-size:22px;line-height:1;text-align:right}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:9px}.summary-grid span{min-height:24px;padding:6px 7px;border:1px solid rgb(184 225 216 / 18%);border-radius:3px;background:linear-gradient(180deg,#121f22c2,#091113b3);color:#dcebe7;font-size:11px;font-weight:900}#summary-reward{color:#8dffb4}#summary-detail{display:grid;gap:5px;margin:0 0 8px;color:#b8c9c3;font-size:10px;font-weight:900;line-height:1.18}.summary-detail-line{display:block;min-height:23px;padding:5px 7px;border:1px solid rgb(184 225 216 / 14%);border-radius:3px;background:linear-gradient(180deg,#121f22a8,#0911138f);color:#bfd3ce;overflow-wrap:anywhere;text-transform:uppercase}.summary-detail-line.primary{border-color:#8dffb452;color:#e8f2f0}.summary-detail-line.pressure{border-color:rgb(var(--pressure-rgb) / 34%);color:rgb(var(--pressure-rgb) / 100%)}.summary-detail-line.field{color:#9edfd1}.summary-detail-line.route{color:#ffd166}.summary-detail-line.unlock{color:#8dffb4}.summary-bonuses{display:grid;gap:5px;margin-bottom:10px}.summary-bonus{min-height:22px;padding:5px 7px;border:1px solid rgb(184 225 216 / 18%);border-radius:3px;background:linear-gradient(180deg,#121f22c2,#091113b3);color:#dcebe7;font-size:10px;font-weight:900;line-height:1.15;text-transform:uppercase}.summary-bonus.completed{border-color:#8dffb461;color:#8dffb4}.summary-bonus.missed{border-color:#ffb26b42;color:#ffb26b}.summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.summary-actions button{min-height:38px;border:1px solid rgb(232 242 240 / 34%);border-radius:4px;background:linear-gradient(180deg,#1c2d30d1,#0c1618c2);color:#e8f2f0;cursor:pointer;font:inherit;font-size:12px;font-weight:900;transition:border-color .12s ease,background .12s ease,transform .12s ease}.summary-actions button:last-child{border-color:#ffd166c7;background:linear-gradient(180deg,#ffe08a,#ffd166);color:#111817}.summary-actions button:not(:disabled):hover,.summary-actions button:not(:disabled):focus-visible{border-color:#6be3c7b8;background:linear-gradient(180deg,#234140e0,#0d2223d1)}.summary-actions button:last-child:not(:disabled):hover,.summary-actions button:last-child:not(:disabled):focus-visible{border-color:#ffe591eb;background:linear-gradient(180deg,#ffe9a6,#ffd166)}.summary-actions button:not(:disabled):active{transform:translateY(1px)}.summary-actions button:disabled{cursor:not-allowed;border-color:#b8e1d833;background:#121f229e;color:#8fa09a}.garage-header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.garage-header p,.garage-header h1{margin:0}.garage-header p{color:#6be3c7;font-size:12px;font-weight:900}.garage-header h1{font-size:28px;line-height:1}.garage-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}.garage-progress span{display:flex;align-items:center;justify-content:center;min-height:26px;padding:6px 7px;border:1px solid rgb(184 225 216 / 18%);border-radius:3px;background:linear-gradient(180deg,#121f22c2,#091113b3);color:#dcebe7;font-size:10px;font-weight:900;letter-spacing:0;line-height:1.1;text-align:center}.route-dossier{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:10px;padding:8px;border:1px solid rgb(184 225 216 / 20%);border-left:3px solid #6be3c7;border-radius:4px;background:linear-gradient(180deg,#111e1fd1,#081012bd),repeating-linear-gradient(135deg,rgb(255 255 255 / 4%) 0 1px,transparent 1px 12px)}.route-dossier.clear{border-left-color:#ffd166}.route-dossier.mastered{border-left-color:#8dffb4;box-shadow:inset 0 0 0 1px #8dffb429}.route-dossier span{min-width:0;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.route-dossier-status{color:#6be3c7;font-size:9px;font-weight:950;line-height:1}.route-dossier.clear .route-dossier-status{color:#ffd166}.route-dossier.mastered .route-dossier-status{color:#8dffb4}.route-dossier-title{grid-column:2 / -1;color:#fff;font-size:13px;font-weight:950;line-height:1;text-align:right}.route-dossier-detail,.route-dossier-cue{grid-column:1 / -1;color:#dcebe7;font-size:10px;font-weight:850;line-height:1.15}.route-dossier-cue{color:#aebfba}.route-dossier-chip{min-height:22px;padding:5px 6px;border:1px solid rgb(184 225 216 / 16%);border-radius:3px;background:#0c16189e;color:#dcebe7;font-size:9px;font-weight:950;line-height:1.1;text-align:center}.route-dossier-next{color:#ffd166}.route-district-map{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.route-district-chip{min-width:0;min-height:20px;padding:5px 6px;border:1px solid rgb(184 225 216 / 14%);border-radius:3px;background:#060d0f8f;color:#9cadac;font-size:9px;font-weight:950;line-height:1.05;text-align:center}.route-district-chip.active{border-color:#6be3c761;background:#1f48456b;color:#6be3c7}.route-district-chip.clear{border-color:#ffd16657;color:#ffd166}.route-district-chip.mastered{border-color:#8dffb45c;color:#8dffb4}.route-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:10px}.route-node{--pressure-rgb: 255 178 107;min-height:75px;padding:6px 5px;overflow:hidden;border:1px solid rgb(184 225 216 / 18%);border-radius:4px;background:linear-gradient(180deg,#131f22d1,#0a1214c7),repeating-linear-gradient(90deg,rgb(255 255 255 / 4%) 0 1px,transparent 1px 10px);box-shadow:inset 0 -2px rgb(var(--pressure-rgb) / 18%);color:#dcebe7;text-align:left;font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease,transform .12s ease,opacity .12s ease}.pressure-patrol{--pressure-rgb: 107 227 199}.pressure-escalation{--pressure-rgb: 255 209 102}.pressure-hot{--pressure-rgb: 255 178 107}.pressure-siege{--pressure-rgb: 255 118 90}.pressure-command{--pressure-rgb: 255 92 126}.route-node span{display:block}.route-node-step{color:#6be3c7;font-size:9px;font-weight:950;line-height:1}.route-node-label{display:-webkit-box;min-height:20px;margin-top:4px;overflow:hidden;color:#fff;font-size:10px;font-weight:950;line-height:1.05;-webkit-box-orient:vertical;-webkit-line-clamp:2}.route-node-meta{margin-top:3px;overflow:hidden;color:#aebfba;font-size:9px;font-weight:850;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.route-node-pressure{margin-top:3px;overflow:hidden;color:rgb(var(--pressure-rgb) / 100%);font-size:9px;font-weight:950;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.route-node-reward{margin-top:3px;overflow:hidden;color:#9dffbf;font-size:9px;font-weight:950;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.route-node-status{margin-top:3px;color:#ffd166;font-size:9px;font-weight:950;line-height:1;text-transform:uppercase}.route-node.active{border-color:#6be3c7d6;background:linear-gradient(180deg,#163836f5,#0b2021e0),repeating-linear-gradient(90deg,rgb(107 227 199 / 10%) 0 1px,transparent 1px 10px);box-shadow:inset 0 0 0 1px #6be3c761}.route-node.cleared{border-color:#8dffb485}.route-node.mastery-target{border-color:#ffd166db;background:linear-gradient(180deg,#322b14eb,#131811d6),repeating-linear-gradient(90deg,rgb(255 209 102 / 12%) 0 1px,transparent 1px 10px);box-shadow:inset 0 0 0 1px #ffd16642,inset 0 -2px #ffd16657}.route-node.mastered .route-node-status,.route-node.cleared .route-node-status{color:#8dffb4}.route-node.mastery-target .route-node-status,.contract-card.mastery-target .contract-requirement{color:#ffd166}.route-node.locked{cursor:not-allowed;opacity:.56}.route-node:not(:disabled):hover,.route-node:not(:disabled):focus-visible{border-color:#6be3c7ad;box-shadow:inset 0 0 0 1px #6be3c738,inset 0 -2px rgb(var(--pressure-rgb) / 30%);transform:translateY(-1px)}.route-node.locked .route-node-label,.route-node.locked .route-node-meta{color:#91a39e}.route-node.locked .route-node-pressure{color:#d79a6f}.route-node.locked .route-node-status{color:#ffb26b}.contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}.contract-card{--pressure-rgb: 255 178 107;min-height:82px;padding:7px;border:1px solid rgb(184 225 216 / 20%);border-radius:4px;background:linear-gradient(180deg,#152326d1,#0c1618c2);box-shadow:inset 3px 0 rgb(var(--pressure-rgb) / 28%);color:#dcebe7;cursor:pointer;text-align:left;font:inherit;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease,transform .12s ease,opacity .12s ease}.contract-card span,.contract-card strong{display:block}.contract-card .contract-name{margin-bottom:3px;color:#fff;font-size:12px;font-weight:900;line-height:1.1}.contract-card .contract-detail{display:-webkit-box;min-height:22px;overflow:hidden;color:#aebfba;font-size:11px;font-weight:700;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.contract-card .contract-meta{margin-top:4px;color:rgb(var(--pressure-rgb) / 100%);font-size:10px;font-weight:900;line-height:1.15;text-transform:uppercase}.contract-card .contract-intel{display:grid;gap:2px;margin-top:5px;color:#9edfd1;font-size:9px;font-weight:900;line-height:1.15;text-transform:uppercase}.contract-card .contract-intel-row{min-width:0;min-height:15px;padding:3px 5px;overflow:hidden;border-left:2px solid rgb(var(--pressure-rgb) / 28%);border-radius:2px;background:linear-gradient(90deg,rgb(var(--pressure-rgb) / 10%),#070d0f2e);color:#9edfd1;font-size:8.5px;font-weight:950;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.contract-card .contract-intel-row.operation{color:#dcebe7}.contract-card .contract-intel-row.support{border-left-color:#8dffb44d;color:#a8f0c2}.contract-card .contract-intel-row.threat{border-left-color:#ffd16657;color:#ffd166}.contract-card .contract-bonus-targets{margin-top:3px;color:#ffd166;font-size:9px;font-weight:900;line-height:1.15;text-transform:uppercase}.contract-card .contract-reward-preview{margin-top:3px;color:#9dffbf;font-size:9px;font-weight:900;line-height:1.15;text-transform:uppercase}.contract-card .contract-rank-targets{margin-top:3px;color:#d8f2ec;font-size:9px;font-weight:900;line-height:1.15;text-transform:uppercase}.contract-card .contract-requirement{margin-top:3px;color:#6be3c7;font-size:10px;font-weight:900;line-height:1.15;text-transform:uppercase}.contract-card.active{border-color:#6be3c7cc;background:#163836eb;box-shadow:inset 0 0 0 1px #6be3c76b,inset 3px 0 rgb(var(--pressure-rgb) / 40%)}.contract-card.cleared{border-color:#8dffb485}.contract-card.mastery-target{border-color:#ffd166d1;background:linear-gradient(180deg,#322b14c2,#131f22c7);box-shadow:inset 0 0 0 1px #ffd16633,inset 3px 0 #ffd1669e}.contract-card.cleared .contract-requirement{color:#8dffb4}.contract-card.mastery-target.cleared .contract-requirement{color:#ffd166}.contract-card.locked{cursor:not-allowed;opacity:.62}.contract-card:not(:disabled):hover,.contract-card:not(:disabled):focus-visible{border-color:#6be3c7a8;box-shadow:inset 0 0 0 1px #6be3c72e,inset 3px 0 rgb(var(--pressure-rgb) / 48%);transform:translateY(-1px)}.contract-card.locked .contract-name,.contract-card.locked .contract-detail{color:#91a39e}.contract-card.locked .contract-requirement{color:#ffb26b}.loadout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.loadout-card{--loadout-rgb: 107 227 199;position:relative;min-height:118px;padding:9px;overflow:hidden;border:1px solid rgb(184 225 216 / 20%);border-radius:4px;background:linear-gradient(180deg,#152326d6,#0c1618c7),repeating-linear-gradient(90deg,rgb(255 255 255 / 4%) 0 1px,transparent 1px 10px);box-shadow:inset 0 -2px rgb(var(--loadout-rgb) / 18%);color:#dcebe7;cursor:pointer;text-align:left;font:inherit;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease,transform .12s ease,opacity .12s ease}.loadout-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:rgb(var(--loadout-rgb) / 72%)}.loadout-card[data-loadout=scout]{--loadout-rgb: 107 227 199}.loadout-card[data-loadout=striker]{--loadout-rgb: 255 209 102}.loadout-card[data-loadout=bulwark]{--loadout-rgb: 255 118 90}.loadout-card span,.loadout-card strong{display:block}.loadout-card .loadout-role{color:rgb(var(--loadout-rgb) / 100%);font-size:9px;font-weight:950;line-height:1;text-transform:uppercase}.loadout-card .loadout-name{margin-top:3px;margin-bottom:4px;color:#fff;font-size:13px;font-weight:900;line-height:1}.loadout-card .loadout-detail{min-height:30px;color:#aebfba;font-size:9.5px;font-weight:850;line-height:1.18;text-transform:uppercase}.loadout-card .loadout-specs{display:grid;grid-template-columns:1fr;gap:3px;margin-top:6px}.loadout-card .loadout-spec{min-height:16px;padding:3px 5px;overflow:hidden;border:1px solid rgb(var(--loadout-rgb) / 22%);border-radius:2px;background:rgb(var(--loadout-rgb) / 9%);color:#dcebe7;font-size:8.5px;font-weight:950;line-height:1.05;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.loadout-card .loadout-unlock{min-height:auto;margin-top:7px;color:rgb(var(--loadout-rgb) / 100%);font-size:10px;font-weight:950;line-height:1;text-transform:uppercase}.loadout-card.active{border-color:rgb(var(--loadout-rgb) / 82%);background:linear-gradient(180deg,#163836f0,#0b2021db),repeating-linear-gradient(90deg,rgb(var(--loadout-rgb) / 9%) 0 1px,transparent 1px 10px);box-shadow:inset 0 0 0 1px rgb(var(--loadout-rgb) / 36%),inset 0 -2px rgb(var(--loadout-rgb) / 36%)}.loadout-card.locked{cursor:not-allowed;border-color:#b8e1d81f;background:#0d1517b8;color:#82908c;opacity:.72}.loadout-card:not(:disabled):hover,.loadout-card:not(:disabled):focus-visible{border-color:rgb(var(--loadout-rgb) / 68%);box-shadow:inset 0 0 0 1px rgb(var(--loadout-rgb) / 18%),inset 0 -2px rgb(var(--loadout-rgb) / 30%);transform:translateY(-1px)}.loadout-card.locked .loadout-name,.loadout-card.locked .loadout-unlock{color:#aebfba}.loadout-card.locked .loadout-spec{color:#8c9c97}#launch-button{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"kicker arrow" "title arrow" "detail arrow";align-items:center;column-gap:12px;width:100%;min-height:54px;margin-bottom:10px;padding:8px 12px;overflow:hidden;border:1px solid rgb(255 209 102 / 78%);border-radius:4px;background:linear-gradient(180deg,#ffe08a,#ffd166),repeating-linear-gradient(90deg,rgb(255 255 255 / 18%) 0 1px,transparent 1px 12px);box-shadow:inset 0 1px #ffffff61,inset 0 -2px #58360d2e,0 10px 20px #0000002e;color:#111817;cursor:pointer;font:inherit;line-height:1;text-align:left;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease,transform .12s ease}#launch-button:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#111817;opacity:.28}#launch-button:after{content:"";grid-area:arrow;width:13px;height:13px;border-top:3px solid #111817;border-right:3px solid #111817;opacity:.76;transform:rotate(45deg)}#launch-button span{position:relative;z-index:1;min-width:0;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.launch-kicker{grid-area:kicker;font-size:9px;font-weight:950;opacity:.72}.launch-title{grid-area:title;margin-top:2px;font-size:15px;font-weight:950}.launch-detail{grid-area:detail;margin-top:3px;font-size:9px;font-weight:950;opacity:.68}#launch-button:not(:disabled):hover,#launch-button:not(:disabled):focus-visible{border-color:#ffe89aeb;background:linear-gradient(180deg,#ffe9a6,#ffd166),repeating-linear-gradient(90deg,rgb(255 255 255 / 22%) 0 1px,transparent 1px 12px);box-shadow:inset 0 1px #ffffff7a,inset 0 -2px #58360d33,0 12px 24px #00000038}#launch-button:not(:disabled):active{transform:translateY(1px)}#launch-button:disabled{cursor:not-allowed;border-color:#b8e1d833;background:linear-gradient(180deg,#505c59e0,#414c49db);color:#dcebe7}#launch-button:disabled:after,#launch-button:disabled:before{opacity:.18}.stick{position:absolute;width:112px;height:112px;margin:-56px 0 0 -56px;border:2px solid rgb(218 242 236 / 22%);border-radius:50%;background:#050c0e47;opacity:0;pointer-events:none;transform:translate3d(-1000px,-1000px,0);transition:opacity 80ms linear}.stick span{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;background:#e8f2f06b;box-shadow:0 0 18px #4cc9b947}.stick.active{opacity:1}@media(max-width:700px){.hud-row{gap:8px;font-size:11px}.hud-row span{padding:4px 6px}#objective-label{max-width:calc(100vw - 104px)}.bonus-row span{max-width:calc(100vw - 24px)}.heat-indicator{width:min(314px,calc(100vw - 24px))}#garage-panel{top:max(136px,calc(env(safe-area-inset-top) + 124px));padding:12px}.garage-header h1{font-size:24px}.loadout-grid{grid-template-columns:1fr}.contract-grid{grid-template-columns:1fr;gap:7px}.garage-progress{grid-template-columns:1fr 1fr}.garage-progress span{min-height:25px}.route-dossier{grid-template-columns:1fr 1fr;padding:7px}.route-dossier-title{grid-column:2;font-size:12px}.route-dossier-detail,.route-dossier-cue,.route-dossier-next{grid-column:1 / -1}.route-district-map{grid-template-columns:1fr}.route-board{grid-template-columns:repeat(2,minmax(0,1fr))}.route-node{min-height:72px}.contract-summary{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:auto;transform:none}.summary-header strong{font-size:18px}.summary-grid{grid-template-columns:1fr 1fr}#summary-armor{grid-column:1 / -1}.loadout-card{min-height:104px}.loadout-card .loadout-specs{grid-template-columns:repeat(3,minmax(0,1fr))}.contract-card{min-height:72px}}
