body.game-page{overflow:hidden;overscroll-behavior:none}
.game-shell.is-viewport{position:fixed;inset:8px;width:calc(100% - 16px);height:calc(100dvh - 16px);max-width:none;margin:0;z-index:50;display:flex;flex-direction:column;transform:none!important;overflow:hidden;background:#173f49}
.game-shell.is-viewport .game-top{flex-shrink:0;min-height:46px}
.game-shell.is-viewport .game-layout{flex:1;min-height:0;overflow:hidden;grid-template-columns:minmax(0,1fr) clamp(300px,25vw,380px)}
.game-shell.is-viewport .battle-column{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.game-shell.is-viewport .hud,.game-shell.is-viewport .battle-footer,.game-shell.is-viewport .mission-tip,.game-shell.is-viewport .defense-readout{flex-shrink:0}
.game-shell.is-viewport .board{flex:1;min-height:0;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;background:#123c4f;overflow:hidden}
.game-shell.is-viewport canvas{flex:none;max-width:100%;max-height:100%;touch-action:none}
.game-shell.is-viewport .hud{height:54px}.game-shell.is-viewport .battle-footer{min-height:34px;padding:5px 12px}
.game-shell.is-viewport .command{position:relative;display:flex;flex-direction:column;min-height:0;padding:12px;gap:10px;overflow:visible}
.game-shell.is-viewport .command-heading{display:none}
.control-tabs,.inspect-tabs{display:flex;gap:5px;flex-shrink:0}
.control-tabs button,.inspect-tabs button{flex:1;border:1px solid #bacbb0;border-radius:5px;background:#eef0e2;color:#57735b;min-height:36px;padding:6px;font-size:12px;font-weight:650}
.control-tabs button[aria-selected=true],.inspect-tabs button[aria-selected=true]{background:#26665b;color:#fff5d9;border-color:#26665b}
.game-shell.is-viewport .tower-shop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex-shrink:0}
.game-shell.is-viewport .tower-card{min-height:72px;padding:7px;display:grid;grid-template-columns:25px 1fr;gap:5px;align-content:center}
.game-shell.is-viewport .tower-icon{width:25px;height:27px;font-size:23px;border-radius:5px}
.game-shell.is-viewport .tower-copy{min-width:0}.game-shell.is-viewport .tower-copy strong{font-size:11px;line-height:1.3;margin:0}.game-shell.is-viewport .tower-copy small{display:none}
.game-shell.is-viewport .tower-card .price{position:static;grid-column:2;font-size:11px;line-height:1}
.control-panel{min-height:0;flex:1}.control-panel[hidden],.inspect [data-inspect-panel][hidden]{display:none!important}
.game-shell.is-viewport .inspect{padding:0;min-height:0;font-size:12px;line-height:1.55}
.game-shell.is-viewport .inspect .eyebrow{font-size:10px;letter-spacing:.4px;margin:0 0 6px}
.game-shell.is-viewport .tower-actions{margin:0 0 8px}.game-shell.is-viewport .tower-actions button{font-size:12px;min-height:40px;padding:8px}
.inspect-tabs{margin:0 0 10px}.inspect-tabs button{font-size:10px;min-height:32px}
.game-shell.is-viewport .relocation-controls{margin:0}.game-shell.is-viewport .relocate-button{min-height:36px;font-size:11px;padding:6px}.game-shell.is-viewport #relocate-state{font-size:9px;line-height:1.4}
.game-shell.is-viewport .priority-controls{margin:8px 0}.game-shell.is-viewport .priority-controls>span{font-size:10px}.game-shell.is-viewport .priority-controls>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.game-shell.is-viewport .priority-controls button{font-size:11px;min-height:34px;padding:5px}
.game-shell.is-viewport .overdrive-button{min-height:38px}.game-shell.is-viewport .overdrive-hint{font-size:10px!important;line-height:1.4!important}
.game-shell.is-viewport .command-status{margin:8px 0}.game-shell.is-viewport .command-status p{font-size:11px!important}.game-shell.is-viewport .command-nudge{display:none}
.game-shell.is-viewport .upgrade-comparison{margin:8px 0}.game-shell.is-viewport .tower-live{padding:8px 0}.game-shell.is-viewport .tower-live small{font-size:10px}
.game-shell.is-viewport .spec-options{margin:0;border:0}.game-shell.is-viewport .spec-options>summary{display:none}.game-shell.is-viewport .spec-options>p{font-size:11px;line-height:1.4;margin:0 0 8px}.game-shell.is-viewport .spec-options button{width:100%;margin:0 0 8px;padding:10px;min-height:80px}.game-shell.is-viewport .spec-options small{font-size:11px;line-height:1.45}.game-shell.is-viewport .branch-stats{font-size:10px!important}
.game-shell.is-viewport .wave-control{position:relative;display:grid;grid-template-columns:90px 1fr;gap:6px;flex-shrink:0;margin:0;padding:0;border:0}
.game-shell.is-viewport .site-selector{grid-column:1/-1;position:relative;margin:0;padding:0;border:0}.game-shell.is-viewport .site-selector summary{font-size:10px;min-height:28px;padding:5px}
.game-shell.is-viewport .site-grid{position:absolute;bottom:100%;left:0;right:0;z-index:10;background:#f6f4e6;border:1px solid #b2c4a6;border-radius:5px;padding:8px;box-shadow:0 -4px 15px #153a4533}
.game-shell.is-viewport .prep-clock{display:flex;flex-direction:column;justify-content:center;margin:0;padding:6px;border-radius:5px;min-height:44px}.game-shell.is-viewport .prep-clock strong{font-size:20px}.game-shell.is-viewport .prep-clock span{font-size:8px}
.game-shell.is-viewport #send-wave{font-size:12px;min-height:44px;margin:0;padding:10px}.game-shell.is-viewport .next-wave,.game-shell.is-viewport .wave-control>p,.game-shell.is-viewport .wave-progress,.game-shell.is-viewport .action-hint{display:none}
.game-shell.is-viewport .wave-intel{margin:0;border:0}.game-shell.is-viewport .wave-intel>summary{display:none}.game-shell.is-viewport .intel-body{padding:0}.game-shell.is-viewport .enemy-roster{gap:5px}.game-shell.is-viewport .enemy-chip{font-size:10px}.game-shell.is-viewport .intel-advice{font-size:11px;margin:8px 0;line-height:1.5}
.forecast-details{border-top:1px solid #c8d3b9;margin-top:8px}.forecast-details>summary{font-size:11px;min-height:30px;cursor:pointer;padding:7px 0}.game-shell.is-viewport .spawn-forecast-group{margin:0;padding:0;border:0}.game-shell.is-viewport .forecast-enemy{font-size:10px}.game-shell.is-viewport .forecast-enemy strong{font-size:10px}
.game-shell.is-viewport .target-intel{padding:8px;margin:0 0 8px}.game-shell.is-viewport .target-intel p{font-size:10px}.game-shell.is-viewport .focus-healer{min-height:32px;margin-bottom:8px}
.intro-overlay.expanded{inset:46px 0 0;padding:16px;z-index:100}
.intro-overlay.expanded .modal{width:min(920px,100%);max-width:920px;max-height:100%;padding:22px;overflow:visible;display:flex;flex-direction:column;gap:16px;text-align:left}
.intro-head .eyebrow{margin-bottom:5px}.intro-overlay.expanded .intro-head h2{font-size:30px;margin:0 0 6px}.intro-overlay.expanded .intro-head p{margin:0;font-size:12px}
.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.intro-overlay .map-choice{margin:0;padding:14px;height:100%}.intro-overlay .island-preview{display:block}.intro-overlay .island-preview svg{width:100%;height:auto;max-height:175px;object-fit:cover}.intro-overlay .island-preview p{font-size:12px!important;margin:9px 0!important}.intro-overlay .island-medals{font-size:10px;gap:8px}.intro-overlay .island-medals>span:first-child{flex-basis:auto}
.intro-settings{display:flex;flex-direction:column;gap:12px}.intro-overlay .difficulty-choice,.intro-overlay .contract-choice{margin:0;padding:12px}.intro-overlay .difficulty-choice p{font-size:12px!important;margin:6px 0 0}.intro-overlay .practice-entry{margin:0;min-height:60px;text-align:left;padding:12px}.intro-overlay .practice-entry small{margin:4px 0 0!important;font-size:11px!important}
.intro-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #d6ddc8;padding-top:14px}.intro-overlay.expanded .intro-actions .primary,.intro-overlay .intro-fullscreen{margin:0;min-height:46px;font-size:13px}.intro-overlay .intro-fullscreen{width:100%;border:1px solid #9bb58b;border-radius:5px;background:#edf0df;color:#3f6b50}.intro-overlay .intro-actions .text-button{grid-column:1/-1;margin:0;min-height:30px;text-align:center}.intro-overlay .intro-footnote{margin:0!important;text-align:center;font-size:10px!important}
.game-logbook{display:grid;gap:10px;margin:14px 0}.game-logbook button,.game-logbook a{width:100%;min-height:44px;padding:12px;font-size:13px;border:1px solid #b4c6a4;border-radius:5px;background:#edf0e0;color:#315d4d;text-align:center}
@media(min-width:900px) and (min-height:800px){.game-shell.is-viewport .command{padding:18px;gap:14px}.game-shell.is-viewport .tower-card{min-height:88px}.game-shell.is-viewport .tower-actions button{min-height:44px}.game-shell.is-viewport .inspect-tabs button{min-height:36px}.game-shell.is-viewport .priority-controls button{min-height:40px}.game-shell.is-viewport .relocate-button,.game-shell.is-viewport .overdrive-button{min-height:44px}}
@media(max-height:700px){.game-shell.is-viewport .command{padding:8px;gap:6px}.game-shell.is-viewport .game-top{min-height:40px;padding-top:5px;padding-bottom:5px}.game-shell.is-viewport .tower-card{min-height:58px;padding:5px}.game-shell.is-viewport .control-tabs button{min-height:30px;font-size:11px}.game-shell.is-viewport .inspect-tabs{margin-bottom:6px}.game-shell.is-viewport .inspect-tabs button{min-height:28px}.game-shell.is-viewport .tower-actions{margin-bottom:6px}.game-shell.is-viewport .tower-actions button{min-height:34px;padding:5px;font-size:11px}.game-shell.is-viewport .inspect-heading .eyebrow{font-size:9px;margin-bottom:4px}.game-shell.is-viewport [data-inspect-panel=orders]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.game-shell.is-viewport .command-status{grid-column:1/-1;grid-row:1;margin:0;display:flex;flex-wrap:wrap;column-gap:8px;align-items:center}.game-shell.is-viewport .command-status p{margin:0!important;font-size:10px!important}.game-shell.is-viewport .command-meter{flex-basis:100%;margin-top:3px}.game-shell.is-viewport .relocation-controls{grid-column:1;grid-row:3}.game-shell.is-viewport #relocate-state{font-size:8px}.game-shell.is-viewport .priority-controls{grid-column:1/-1;grid-row:2;margin:0}.game-shell.is-viewport .priority-controls>span{display:none}.game-shell.is-viewport .priority-controls button{min-height:30px;font-size:10px}.game-shell.is-viewport .overdrive-button{grid-column:2;grid-row:3;align-self:start;min-height:36px;padding:5px}.game-shell.is-viewport .overdrive-button strong{font-size:10px}.game-shell.is-viewport .overdrive-button small{display:none}.game-shell.is-viewport .overdrive-hint{grid-column:1/-1;font-size:9px!important;margin:0!important}.game-shell.is-viewport .relocate-button{min-height:36px;font-size:10px}.game-shell.is-viewport .target-advice{font-size:9px}.intro-overlay.expanded{padding:12px}.intro-overlay.expanded .modal{padding:16px;gap:10px}.intro-overlay.expanded .intro-head h2{font-size:26px}.intro-overlay .island-preview svg{max-height:125px}.intro-overlay .intro-actions{padding-top:10px}.intro-overlay .intro-footnote{display:none}}
@media(max-width:700px) and (orientation:portrait){.game-shell.is-viewport{inset:0;width:100%;height:100dvh;border:0;border-radius:0}.game-shell.is-viewport .game-layout{display:flex;flex-direction:column}.game-shell.is-viewport .battle-column{flex:1}.game-shell.is-viewport .command{height:310px;max-height:none;flex-shrink:0;gap:5px;padding:8px}.game-shell.is-viewport .command:has(.inspect[data-occupied=true]){height:390px}.game-shell.is-viewport .tower-shop{gap:5px}.game-shell.is-viewport .tower-card{min-height:56px;grid-template-columns:24px 1fr;padding:5px}.game-shell.is-viewport .tower-copy strong{font-size:10px}.game-shell.is-viewport .control-tabs button{min-height:30px;font-size:11px}.game-shell.is-viewport .inspect-tabs{margin-bottom:6px}.game-shell.is-viewport .tower-actions button{min-height:36px}.game-shell.is-viewport .inspect-tabs button{min-height:28px;font-size:10px}.game-shell.is-viewport [data-inspect-panel=orders]{display:grid;grid-template-columns:1fr 1fr;gap:5px}.game-shell.is-viewport .priority-controls{grid-column:1/-1;grid-row:2;margin:0}.game-shell.is-viewport .priority-controls>span{display:none}.game-shell.is-viewport .priority-controls button{min-height:32px;font-size:10px}.game-shell.is-viewport .command-status{grid-column:1/-1;grid-row:1;margin:0;display:flex;flex-wrap:wrap;align-items:center;column-gap:8px}.game-shell.is-viewport .command-status p{margin:0!important;font-size:10px!important}.game-shell.is-viewport .command-meter{flex-basis:100%;margin-top:3px}.game-shell.is-viewport .relocation-controls{grid-column:1;grid-row:3}.game-shell.is-viewport .overdrive-button{grid-column:2;grid-row:3;align-self:start;min-height:36px}.game-shell.is-viewport .overdrive-hint{grid-column:1/-1;margin:0!important;font-size:9px!important}.game-shell.is-viewport #relocate-state{font-size:8px}.game-shell.is-viewport .wave-control{grid-template-columns:80px 1fr;gap:4px}.game-shell.is-viewport .site-selector summary{min-height:24px;padding:3px}.game-shell.is-viewport .prep-clock,.game-shell.is-viewport #send-wave{min-height:38px}.game-shell.is-viewport .prep-clock strong{font-size:18px}.game-shell.is-viewport .hud{height:44px}.game-shell.is-viewport .battle-footer{min-height:30px;font-size:8px}.game-shell.is-viewport .spec-options>p{font-size:10px}.game-shell.is-viewport .spec-options button{min-height:0;padding:7px;margin-bottom:5px}.game-shell.is-viewport .spec-options small{font-size:10px}.game-shell.is-viewport .branch-stats{font-size:9px!important}
.intro-overlay.expanded{inset:42px 0 0;padding:10px}.intro-overlay.expanded .modal{padding:14px;gap:10px}.intro-overlay.expanded .intro-head h2{font-size:25px}.intro-overlay.expanded .intro-head p{font-size:11px;line-height:1.5}.intro-grid{grid-template-columns:1fr;gap:10px}.intro-overlay .map-choice{padding:10px}.intro-overlay .island-preview{display:flex;gap:10px;margin-top:7px}.intro-overlay .island-preview svg{width:105px;max-height:76px}.intro-overlay .island-preview p{font-size:10px!important;margin:0 0 4px!important}.intro-overlay .island-medals{font-size:8px;margin-top:6px;gap:6px}.intro-overlay .island-preview small{font-size:9px!important}.intro-settings{gap:8px}.intro-overlay .difficulty-choice,.intro-overlay .contract-choice{padding:8px 10px}.intro-overlay .difficulty-choice p{font-size:10px!important}.intro-overlay .practice-entry{min-height:46px;padding:8px;font-size:11px}.intro-overlay .practice-entry small{font-size:9px!important}.intro-overlay .intro-actions{padding-top:10px;gap:6px}.intro-overlay.expanded .intro-actions .primary,.intro-overlay .intro-fullscreen{min-height:40px;font-size:11px}.intro-overlay .intro-actions .text-button{min-height:25px;font-size:10px}.intro-overlay .intro-footnote{display:none}}
@media(max-height:500px) and (orientation:landscape){.game-shell.is-viewport .game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px}.game-shell.is-viewport .command{height:auto;max-height:none;display:flex;padding:6px;gap:4px}.game-shell.is-viewport .tower-card{min-height:44px;grid-template-columns:22px 1fr}.game-shell.is-viewport .tower-icon{width:22px;height:22px;font-size:19px}.game-shell.is-viewport .tower-copy strong,.game-shell.is-viewport .tower-card .price{font-size:9px}.game-shell.is-viewport .wave-control{grid-template-columns:64px 1fr;gap:2px}.game-shell.is-viewport .site-selector summary{min-height:20px;padding:2px}.game-shell.is-viewport .prep-clock,.game-shell.is-viewport #send-wave{min-height:32px;padding:4px}.game-shell.is-viewport .prep-clock span{display:none}.game-shell.is-viewport .prep-clock strong{font-size:17px}.game-shell.is-viewport .control-tabs button{min-height:25px;padding:3px;font-size:10px}.game-shell.is-viewport .inspect-tabs button{min-height:25px;padding:3px;font-size:9px}.game-shell.is-viewport .tower-actions button{min-height:30px}.game-shell.is-viewport .tower-actions{margin-bottom:4px}.game-shell.is-viewport .inspect .eyebrow{font-size:8px}.game-shell.is-viewport .overdrive-hint{display:none}.game-shell.is-viewport #relocate-state{display:none}.game-shell.is-viewport .relocate-button,.game-shell.is-viewport .overdrive-button{min-height:30px}.game-shell.is-viewport .priority-controls button{min-height:28px}.game-shell.is-viewport .hud{height:38px}.game-shell.is-viewport .battle-footer{min-height:26px}.game-shell.is-viewport .spec-options>p{display:none}.game-shell.is-viewport .spec-options button{padding:6px;margin-bottom:4px;min-height:0}.game-shell.is-viewport .spec-options small{font-size:9px;line-height:1.3}.game-shell.is-viewport .spec-options button>span{display:none}.game-shell.is-viewport .branch-stats{font-size:8px!important}.game-shell.is-viewport .spec-options b{margin-top:3px}.game-shell.is-viewport .target-intel p{display:none}.game-shell.is-viewport .target-intel{padding:5px;margin-bottom:4px}.game-shell.is-viewport .intel-advice{font-size:9px;margin:4px 0}.game-shell.is-viewport .enemy-chip{font-size:8px}.game-shell.is-viewport .forecast-details{margin-top:4px}.game-shell.is-viewport .forecast-enemy{font-size:8px;padding:3px}.game-shell.is-viewport .forecast-enemy strong{font-size:8px}.game-shell.is-viewport .spawn-forecast-group>p{display:none}.intro-overlay.expanded{inset:40px 0 0;padding:8px}.intro-overlay.expanded .modal{padding:12px;gap:8px;width:min(900px,100%)}.intro-grid{grid-template-columns:1fr 1fr;gap:12px}.intro-overlay.expanded .intro-head h2{font-size:23px}.intro-overlay .intro-head .eyebrow,.intro-overlay .intro-head p{display:none}.intro-overlay .map-choice{padding:8px}.intro-overlay .island-preview{display:flex;margin-top:6px;gap:8px}.intro-overlay .island-preview svg{width:96px;height:70px}.intro-overlay .island-preview p{font-size:10px!important;margin:0!important}.intro-overlay .island-preview small{font-size:8px!important}.intro-overlay .island-medals{margin-top:5px;font-size:8px}.intro-settings{gap:6px}.intro-overlay .difficulty-choice,.intro-overlay .contract-choice{padding:6px 8px}.intro-overlay .difficulty-choice select,.intro-overlay .map-choice select{min-height:32px;font-size:11px;padding:5px}.intro-overlay .difficulty-choice p{font-size:9px!important;margin-top:4px}.intro-overlay .practice-entry{min-height:36px;padding:6px;font-size:10px}.intro-overlay .practice-entry small{font-size:8px!important;margin:2px 0 0!important}.intro-overlay .intro-actions{padding-top:8px;grid-template-columns:1fr 1fr auto}.intro-overlay.expanded .intro-actions .primary,.intro-overlay .intro-fullscreen{min-height:34px;font-size:11px}.intro-overlay .intro-actions .text-button{grid-column:auto;min-height:34px;font-size:10px}.intro-overlay .contract-choice summary{min-height:25px;padding:3px}.intro-overlay .intro-footnote{display:none}}

.game-shell.is-viewport .site-selector{grid-row:1}.game-shell.is-viewport .prep-clock{grid-row:2;grid-column:1}.game-shell.is-viewport #send-wave{grid-row:2;grid-column:2}.game-shell.is-viewport .wave-control:has(.prep-clock[hidden]) #send-wave{grid-column:1/-1}
@media(max-width:700px) and (orientation:portrait){.game-shell.is-viewport .tower-card{min-height:42px;padding:4px;gap:3px}.game-shell.is-viewport .tower-icon{height:23px;width:22px;font-size:20px}.game-shell.is-viewport .tower-copy strong,.game-shell.is-viewport .tower-card .price{font-size:9px}.game-shell.is-viewport .command:has(.inspect[data-occupied=true]){height:400px}.game-shell.is-viewport:has(.inspect[data-occupied=true]) .mission-tip{display:none}.game-shell.is-viewport .inspect:not([data-occupied=true])>p:not(.eyebrow):not(.inspect-tip){display:none}}

@media(max-width:700px) and (orientation:portrait),(max-height:700px){.game-shell.is-viewport .command:has(.inspect[data-view=stats][data-occupied=true]) .tower-shop,.game-shell.is-viewport .command:has(.inspect[data-view=branches][data-occupied=true]) .tower-shop{display:none}.game-shell.is-viewport .inspect[data-view=stats] .tower-actions,.game-shell.is-viewport .inspect[data-view=branches] .tower-actions{display:none}.game-shell.is-viewport .spec-options[open]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.game-shell.is-viewport .spec-options>p{grid-column:1/-1}.game-shell.is-viewport .spec-options button{margin:0;width:100%;display:block}.game-shell.is-viewport .spec-options button>span{display:none}}

.intro-overlay.expanded .intro-actions .primary,.intro-overlay .intro-fullscreen{padding:10px 14px;line-height:1.3}.game-shell.is-viewport #game-logbook.save-warning{border-color:#e4b36e;color:#ffe2a8}
@media(max-height:500px) and (orientation:landscape){.intro-settings:has(.contract-choice[open])>.difficulty-choice,.intro-settings:has(.contract-choice[open])>.practice-entry{display:none}.intro-overlay.expanded .intro-actions .primary,.intro-overlay .intro-fullscreen{padding:7px 10px;line-height:1.2}}
@media(max-width:700px) and (orientation:portrait){.game-shell.is-viewport .command:has(.inspect[data-occupied=true]){height:410px}}
@media(max-width:700px) and (orientation:portrait),(max-height:700px){.game-shell.is-viewport [data-inspect-panel=stats]>p:not(.overdrive-hint){display:none}.game-shell.is-viewport .tower-live{padding:4px 0;margin-bottom:4px}.game-shell.is-viewport .upgrade-comparison{margin:6px 0;padding:6px}}

.branch-grid{display:grid;gap:6px}.branch-grid button{background:#edf0e3;border:1px solid #b9c6ac;border-radius:5px;text-align:left}
@media(max-width:700px) and (orientation:portrait),(max-height:700px){.branch-grid{grid-template-columns:1fr 1fr}.game-shell.is-viewport .spec-options[open]{display:block}.game-shell.is-viewport .spec-options button{height:100%}}
@media(max-height:500px) and (orientation:landscape){.game-shell.is-viewport .command:has(.inspect[data-view=stats][data-occupied=true]) .site-selector,.game-shell.is-viewport .command:has(.inspect[data-view=branches][data-occupied=true]) .site-selector{display:none}}

.control-heading{display:flex;gap:5px;flex-shrink:0}.control-heading .control-tabs{flex:1}#catalog-next{min-width:50px;border:1px solid #b3c7a4;border-radius:5px;background:#e3eacf;color:#426b50;font-size:11px;font-weight:650;padding:4px}.game-shell.is-viewport .tower-card[hidden]{display:none!important}.tower-icon.storm{background:#e5daf4;color:#76559f;border-color:#c4afd6}.tower-icon.venom{background:#e0e9bd;color:#607f36;border-color:#acbe85}.tower-icon.ballista{background:#ead5b4;color:#875f3a;border-color:#c3a577}.weapon-note{font-size:10px!important;line-height:1.4!important;color:#627654;margin:5px 0!important}
@media(max-width:700px) and (orientation:portrait){.game-shell.is-viewport .inspect:not([data-occupied=true]) .weapon-note{font-size:9px!important}.game-shell.is-viewport .inspect:not([data-occupied=true]) .inspect-tip{display:none}.game-shell.is-viewport .inspect:not([data-occupied=true]) .stat-line{font-size:8px}.game-shell.is-viewport .inspect:not([data-occupied=true]) .build-here{min-height:34px;padding:6px;font-size:11px}}

#open-catalog{min-width:30px;padding:4px;border:1px solid #b3c7a4;border-radius:5px;background:#e3eacf;color:#426b50;font-size:17px;font-weight:650}.game-shell.is-viewport .inspect[data-view=stats] .tower-actions,.game-shell.is-viewport .inspect[data-view=branches] .tower-actions{display:none}
@media(max-width:700px) and (orientation:portrait){.game-shell.is-viewport .command,.game-shell.is-viewport .command:has(.inspect[data-occupied=true]){height:360px}.game-shell.is-viewport .command:has(.inspect[data-occupied=true]) .tower-shop{display:none}.game-shell.is-viewport .command:has(.inspect[data-occupied=true][data-view=stats]),.game-shell.is-viewport .command:has(.inspect[data-occupied=true][data-view=branches]){height:410px}.game-shell.is-viewport .control-tabs button{font-size:10px;padding:4px}.game-shell.is-viewport #catalog-next{min-width:44px;font-size:10px}}
@media(max-height:850px){.game-shell.is-viewport .branch-grid{grid-template-columns:1fr 1fr}.game-shell.is-viewport .spec-options button{display:block}.game-shell.is-viewport .spec-options button>span{display:none}}
.game-shell.is-viewport.is-practicing .command{height:auto}.game-shell.is-viewport.is-practicing .inspect-tabs,.game-shell.is-viewport.is-practicing [data-inspect-panel]{display:none!important}.game-shell.is-viewport.is-practicing .control-heading{display:none}.game-shell.is-viewport.is-practicing .tower-shop{display:grid!important}
@media(max-width:700px) and (orientation:portrait){.game-shell.is-viewport.is-practicing .command:has(.inspect){height:240px!important}}

.game-shell.is-viewport{inset:0;width:100%;height:100dvh;border:0;border-radius:0}

@media(max-width:700px) and (orientation:portrait){.intro-settings:has(.contract-choice[open]) .difficulty-choice p{display:none}.intro-overlay.expanded .intro-actions .primary{padding:8px 6px;gap:4px}.intro-overlay.expanded .intro-actions .primary span{font-size:16px}.intro-overlay .intro-fullscreen{padding:8px 6px}}

@media(max-width:700px) and (orientation:portrait){.game-shell.is-viewport .forecast-details>summary{min-height:26px;padding:5px 0}.game-shell.is-viewport .intel-advice{margin:6px 0}}
