/* iPhone preparation is a fixed dashboard. Desktop and other phone layouts
   keep their existing markup and presentation. No tiny type or clipped story. */
body.iphone-briefing-active{overflow:hidden}
body.touch-game #mission-overlay.briefing .briefing-card.campaign-briefing.iphone-briefing-card{
 position:fixed;inset:calc(12px + var(--safe-top)) calc(16px + var(--safe-right)) calc(102px + var(--safe-bottom)) calc(16px + var(--safe-left));
 width:auto;max-width:none;height:auto;max-height:none;transform:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:hidden;touch-action:manipulation;
 display:grid;grid-template-rows:38px minmax(24px,1fr) 44px minmax(0,min(43dvh,340px)) 48px;gap:8px;background:none;
}
.iphone-briefing-card>p,.iphone-briefing-card>.briefing-service-mobile,.iphone-briefing-card>.briefing-controls,.iphone-briefing-card>.completion-record{display:none!important}
.iphone-briefing-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;color:#f3f1db;background:#10271ed9;border-radius:8px;padding:0 8px}
body.touch-game .iphone-briefing-header .mission-kicker{font:700 13px/1.3 Arial;letter-spacing:1px;max-width:75%;overflow-wrap:anywhere}
.iphone-funds{font:700 16px/1.2 ui-monospace,monospace;color:#f1d995;white-space:nowrap}
.iphone-map-space{min-height:0;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none;padding:12px 2px;color:#aec7b2;font:700 11px/1 Arial;letter-spacing:2px}
.iphone-map-space i{width:5px;height:5px;background:#d8ecb2;border-radius:50%;box-shadow:0 0 12px #d8ecb2}
.iphone-briefing-tabs{display:flex;gap:4px;padding:4px;border:1px solid #a8c8ad33;background:#10281ff2;border-radius:12px;min-width:0;box-shadow:0 5px 25px #0002}
.iphone-briefing-tabs button{flex:1;min-width:0;border:0;border-radius:8px;background:transparent;color:#bbcfba;font:700 14px/1 Arial;min-height:34px;cursor:pointer}
.iphone-briefing-tabs button[aria-selected=true]{color:#172c20;background:linear-gradient(120deg,#e3edbf,#bdcf94);box-shadow:0 2px 6px #0003}
.iphone-briefing-tabs button:focus-visible{outline:2px solid #f6da88;outline-offset:2px}
.iphone-briefing-panels{min-height:0;border:1px solid #a3c29b45;border-radius:18px;background:linear-gradient(145deg,#263e30f7,#102a23fc);padding:18px 18px 14px;box-shadow:0 12px 32px #0003;overflow:hidden}
.iphone-briefing-panels>section{height:100%;min-height:0;overflow:hidden;box-sizing:border-box;animation:iphone-panel-in .2s ease both}
.iphone-briefing-panels>[hidden]{display:none!important}
#iphone-panel-mission{display:flex;flex-direction:column;gap:10px}
body.touch-game .iphone-briefing-card h2{font:700 clamp(27px,8.2vw,39px)/1.03 Georgia;margin:0!important;letter-spacing:-1px}
body.touch-game .iphone-briefing-card .briefing-tags{margin:0;gap:5px!important;display:flex;flex-wrap:wrap}
body.touch-game .iphone-briefing-card .briefing-tags span{font:700 11px/1.2 Arial!important;padding:5px 6px!important;border-radius:4px;letter-spacing:.2px}
.iphone-mission-objective strong{display:block;font:700 18px/1.2 Arial;color:#e0edc1}
.iphone-mission-objective p{display:block;font:15px/1.35 Arial;margin:5px 0 0;color:#dfebd8}
body.touch-game .iphone-briefing-card .iphone-mission-summary{font:14px/1.45 Arial!important;margin:0!important;color:#aebfac}
.iphone-sensor-status{font:700 11px/1.35 Arial;letter-spacing:.5px;color:#b4c6aa;margin-top:auto}
.iphone-mission-rating{font:700 11px/1.4 Arial;letter-spacing:.4px;color:#e8cf8b;padding-top:9px;border-top:1px solid #d5dbaf26}
.iphone-briefing-card.iphone-tight .iphone-mission-summary,.iphone-briefing-card.iphone-dense .iphone-mission-rating{display:none!important}
#iphone-panel-intel{display:grid;grid-template-rows:20px minmax(0,1fr) 44px;gap:8px}
.iphone-panel-heading{font:700 12px/1.3 Arial;letter-spacing:1.5px;color:#e5d090}
body.touch-game .iphone-briefing-card .iphone-intel-copy{display:block;font:16px/1.47 Arial!important;margin:0!important;min-height:0;height:100%;overflow:hidden;color:#e1e9d8}
.iphone-intel-paging{display:flex;align-items:center;justify-content:space-between;gap:12px}
.iphone-intel-paging button{min-width:50px;min-height:44px;border:1px solid #b8cdb33d;border-radius:7px;background:#b9ceab0b;color:#dfedca;font:700 13px Arial;padding:0 12px}
.iphone-intel-paging button:disabled{opacity:.25}.iphone-intel-paging span{font:12px ui-monospace,monospace;letter-spacing:1px;color:#b3c8ae}
#iphone-panel-loadout{display:flex;flex-direction:column;justify-content:center;gap:12px}
body.touch-game .iphone-briefing-card .briefing-loadout{margin:0!important;min-height:0;gap:6px!important}
body.touch-game .iphone-briefing-card .briefing-loadout .loadout-card{padding:10px 8px 9px;min-height:0}
.iphone-briefing-card .loadout-slot-name{font-size:11px;letter-spacing:.5px}.iphone-briefing-card .loadout-slot-name i{font-size:14px}
.iphone-briefing-card .loadout-card .weapon-art{height:48px}
.iphone-briefing-card .loadout-weapon-name{font-size:14px;line-height:1.2;min-height:34px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.iphone-briefing-card .loadout-ammunition b{font-size:26px}.iphone-briefing-card .loadout-ammunition small{display:none!important}
.iphone-briefing-card .loadout-change{font:700 11px Arial;letter-spacing:.4px}.iphone-briefing-card .loadout-upgrade{font-size:10px;right:3px;padding:4px;top:29px}
body.touch-game .iphone-briefing-card .ammo-minimum{font-size:11px!important;margin:5px 0 0}
.iphone-loadout-hint{font:14px/1.3 Arial;margin:0;text-align:center;color:#bdcbb4}
.iphone-briefing-card #mission-ammo-check{display:none!important}
.iphone-briefing-tools{display:flex;align-items:center;gap:8px;min-width:0}
body.touch-game .iphone-briefing-card .briefing-links{display:flex;flex:1;flex-wrap:nowrap!important;align-items:center;gap:6px!important;justify-content:flex-start;margin:0}
body.touch-game .iphone-briefing-card .briefing-links a{min-height:44px;white-space:nowrap;padding:0 10px;font:700 12px/1 Arial!important;letter-spacing:.5px;border-radius:9px;background:#1c382ac9;border:1px solid #c6d6af33}
.iphone-briefing-card .editor-link{display:none!important}
body.touch-game .iphone-briefing-card .briefing-audio{display:flex;gap:6px;margin:0;padding:0;border:0;flex-wrap:nowrap}
body.touch-game .iphone-briefing-card .briefing-audio button{position:relative;width:44px;height:44px;padding:0;min-height:44px;border:1px solid #c6d6af33;border-radius:9px;font-size:0!important;background:#1c382ac9;color:#d7e5bf}
.iphone-briefing-card #briefing-mute::before{content:'';display:block;margin:auto;width:22px;height:22px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9H4Z' fill='white'/%3E%3Cpath d='M16 8c3 2 3 6 0 8m3-11c5 4 5 10 0 14' stroke='white' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
.iphone-briefing-card #briefing-mute[aria-pressed=true]{color:#f0b6a1}.iphone-briefing-card #briefing-mute[aria-pressed=true]::after{content:'';position:absolute;left:11px;top:21px;width:23px;height:2px;background:currentColor;transform:rotate(-45deg)}.iphone-briefing-card #briefing-replay::before{content:'↻';font:24px Arial}
body.touch-game .iphone-briefing-card #guardian-pass{font-size:0!important;min-height:44px;margin:0;padding:0 10px;border-radius:9px;box-shadow:none}.iphone-briefing-card #guardian-pass::after{content:'✦ PASS';font:700 11px Arial;white-space:nowrap}
body.iphone-briefing-active #touch-briefing-footer{left:calc(16px + var(--safe-left));right:calc(16px + var(--safe-right));width:auto;bottom:calc(12px + var(--safe-bottom))}
body.iphone-briefing-active #touch-controls #touch-begin{min-height:60px;font-size:14px;border-radius:14px;box-shadow:0 6px 30px #c5e79c20,inset 0 1px 0 #ffffff99}
body.iphone-briefing-active #touch-briefing-footer>small{font:11px/1.3 Arial;letter-spacing:.5px;margin-top:9px}
body.iphone-briefing-active #deployment-map.overview{left:0!important;right:0;border:0}
body.iphone-briefing-active #deployment-map.overview .deployment-atlas{top:calc(-22px + var(--safe-top));width:min(390px,100vw);height:auto;left:50%;right:auto;transform:translateX(-50%);opacity:.9}
body.iphone-briefing-active .deployment-legend{display:none!important}
body.iphone-briefing-active #deployment-map.overview .deployment-pin>span{font-size:14px;padding:5px 9px}
body.iphone-briefing-active .native-preview-badge{display:none}
@keyframes iphone-panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-height:700px) and (orientation:portrait){
 body.touch-game #mission-overlay.briefing .briefing-card.campaign-briefing.iphone-briefing-card{gap:6px;grid-template-rows:32px minmax(12px,1fr) 42px minmax(0,min(46dvh,290px)) 44px}
 .iphone-briefing-panels{padding:14px}#iphone-panel-mission{gap:8px}.iphone-mission-objective strong{font-size:17px}.iphone-mission-objective p{font-size:14px}
 body.touch-game .iphone-briefing-card h2{font-size:29px}.iphone-mission-summary{display:none}
 .iphone-briefing-card .loadout-card .weapon-art{height:34px}.iphone-briefing-card .loadout-change{margin-top:6px}
}
@media(orientation:landscape){
 body.touch-game #mission-overlay.briefing .briefing-card.campaign-briefing.iphone-briefing-card{inset:calc(8px + var(--safe-top)) calc(14px + var(--safe-right)) calc(86px + var(--safe-bottom)) calc(14px + var(--safe-left));grid-template-columns:minmax(130px,32%) minmax(0,1fr);grid-template-rows:30px 38px minmax(0,1fr) 44px;gap:6px 18px;grid-template-areas:'header header' 'map tabs' 'map panels' 'map tools'}
 .iphone-briefing-header{grid-area:header}.iphone-map-space{grid-area:map}.iphone-briefing-tabs{grid-area:tabs}.iphone-briefing-panels{grid-area:panels;padding:12px;border-radius:12px}.iphone-briefing-tools{grid-area:tools}
 #iphone-panel-mission{gap:6px}.iphone-briefing-card .iphone-mission-summary{display:none}
 body.touch-game .iphone-briefing-card h2{font-size:27px}.iphone-mission-objective strong{font-size:17px}.iphone-mission-objective p{font-size:14px;line-height:1.3}
 .iphone-sensor-status,.iphone-mission-rating,.iphone-mission-objective strong{display:none}.iphone-briefing-card .briefing-tags span{font-size:11px!important;padding:4px 5px!important}
 body.touch-game .iphone-briefing-card .iphone-intel-copy{font-size:15px!important;line-height:1.4!important}#iphone-panel-intel{grid-template-rows:16px minmax(0,1fr) 44px;gap:5px}.iphone-intel-paging button{min-height:44px}
 .iphone-briefing-card .loadout-card .weapon-art{position:absolute;right:5px;top:5px;width:30px;height:20px;margin:0}.iphone-briefing-card .loadout-weapon-name{font-size:13px;min-height:0;align-self:center}.iphone-briefing-card .loadout-change,.iphone-loadout-hint{display:none}
 body.touch-game .iphone-briefing-card .briefing-loadout{height:100%}
 body.touch-game .iphone-briefing-card .briefing-loadout .loadout-card{padding:7px 6px;display:grid;grid-template-rows:14px minmax(0,1fr) auto;gap:3px}.iphone-briefing-card .loadout-slot-name{padding-right:26px}.iphone-briefing-card .loadout-slot-name i{display:none}.iphone-briefing-card .loadout-ammunition{padding-top:4px;margin-top:0}.iphone-briefing-card .loadout-ammunition b{font-size:23px}.iphone-briefing-card .loadout-upgrade{font-size:0;right:2px;top:2px;padding:3px}.iphone-briefing-card .loadout-upgrade svg{width:12px;height:12px}
 body.iphone-briefing-active #touch-briefing-footer{left:var(--iphone-launch-left,calc(32vw + 26px + var(--safe-left)));right:var(--iphone-launch-right,calc(14px + var(--safe-right)));bottom:calc(8px + var(--safe-bottom));width:auto}
 body.iphone-briefing-active #touch-controls #touch-begin{min-height:48px;font-size:13px}body.iphone-briefing-active #touch-briefing-footer>small{margin-top:5px;font-size:11px}
 body.iphone-briefing-active #deployment-map.overview .deployment-atlas{width:360px;left:17%;top:48%;transform:translate(-50%,-50%)}
}
@media(max-height:350px) and (orientation:landscape){
 body.touch-game #mission-overlay.briefing .briefing-card.campaign-briefing.iphone-briefing-card{grid-template-rows:25px 34px minmax(0,1fr) 44px;gap:4px 12px;bottom:calc(82px + var(--safe-bottom))}
 .iphone-briefing-panels{padding:5px 8px}.iphone-sensor-status,.iphone-mission-rating{display:none}.iphone-mission-objective strong{font-size:15px}.iphone-mission-objective p{font-size:13px}
 body.touch-game .iphone-briefing-card h2{display:none}.iphone-briefing-card .loadout-card .weapon-art{height:17px}.iphone-briefing-card .loadout-ammunition b{font-size:20px}.iphone-briefing-card .loadout-weapon-name{font-size:12px;min-height:26px}
 body.touch-game .iphone-briefing-card .briefing-loadout .loadout-card{padding:5px}.iphone-briefing-card .loadout-slot-name{font-size:11px}.iphone-briefing-tools{gap:4px}
 body.touch-game .iphone-briefing-card .briefing-links a{padding:0 7px;font-size:11px!important}.iphone-briefing-card .briefing-audio button{width:44px!important;min-height:44px!important;height:44px!important}
 body.touch-game .iphone-briefing-card #guardian-pass{padding:0 6px;min-height:44px}
}
body.reduce-motion .iphone-briefing-panels>section{animation:none}
.iphone-result-actions{position:fixed;z-index:13;left:calc(16px + env(safe-area-inset-left));right:calc(16px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));padding-top:14px;background:linear-gradient(transparent,#10271ee8 40%);display:block}
.iphone-result-actions .mission-primary{width:100%;min-height:60px;border-radius:14px;font-size:15px!important;justify-content:center}
body.touch-game.iphone-game #scenario-status:has(>.site-integrity:only-child){display:none}
body.touch-game.iphone-game:has(#rescue-bearing[data-mode=track]) #target-world-label{visibility:hidden}
@media(orientation:portrait){body.touch-game.iphone-game #combat-toast{top:calc(90px + var(--safe-top));bottom:auto;left:50%;transform:translateX(-50%);width:280px;max-width:calc(100vw - 128px)}}
body.touch-game #mission-overlay.result:has(~.iphone-result-actions){padding-bottom:105px!important}
@media(prefers-reduced-motion:reduce){.iphone-briefing-panels>section{animation:none}}
