/* Web-only briefing. Native preparation retains its own layout. */
.web-clean-briefing .mission-history{margin:20px 0 28px}
.web-clean-briefing .briefing-controls-toggle{border-top:1px solid #c7d4ad30;border-bottom:1px solid #c7d4ad30;margin:18px 0}
.web-clean-briefing .briefing-controls-toggle summary{min-height:44px;box-sizing:border-box;padding:12px 0;cursor:pointer;font:700 14px/1.4 Arial;color:#d3e1bf;list-style-position:inside}
.briefing-controls-toggle summary>span{float:right;font:12px/1.6 Arial;color:#a9bda4}
.web-clean-briefing .briefing-controls{margin:4px 0 14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font:13px/1.4 Arial}
.web-clean-briefing .briefing-controls small{grid-column:1/-1;color:#b9cbb0;font:12px/1.5 Arial}

.web-clean-briefing .loadout-card .loadout-slot-name{letter-spacing:.7px}
.web-clean-briefing .briefing-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;margin-top:22px}
.web-clean-briefing .briefing-actions #mission-start{margin:0;min-width:0;min-height:56px}
.web-clean-briefing .briefing-actions .briefing-hangar{justify-content:center;min-height:56px;box-sizing:border-box;padding:12px 18px;font:700 12px/1.3 Arial;white-space:nowrap}
.web-clean-briefing .briefing-audio{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid #c7d4ad30;padding-top:14px;margin:18px 0 0}
.web-clean-briefing .briefing-audio .web-settings{margin-left:auto;order:1}
.web-clean-briefing #briefing-audio-status{flex-basis:100%;order:2;min-height:0}
.web-clean-briefing #briefing-audio-status:empty{display:none}
.web-clean-briefing .briefing-audio button{min-height:44px}
.web-signin-prompt{box-sizing:border-box;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 18px;padding:15px;border:1px solid #fff2a2;border-radius:12px;background:linear-gradient(135deg,#fff2a1,#f5ce59);color:#203027;box-shadow:0 6px 24px #d9bd2730;font:14px/1.4 Arial;letter-spacing:0}
.web-signin-prompt>strong,.web-signin-prompt>p,.web-signin-prompt>.signin-primary,.web-signin-prompt>small,.web-signin-prompt>.signin-status{grid-column:1/-1}
.web-signin-prompt strong{font:800 19px/1.2 Arial;color:#203027;text-align:left}
.web-signin-prompt p{margin:0 0 3px;font:14px/1.4 Arial;color:#34432d}
.web-signin-prompt button{appearance:none;min-height:44px;border:1px solid #243a2c50;border-radius:8px;background:#fff9dc;color:#203027;padding:10px;font:700 14px/1.3 Arial;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.web-signin-prompt .signin-primary{background:#163e2b;color:#fffbe5;border-color:#163e2b;box-shadow:0 3px 8px #15352625}
.signin-google{display:grid;place-items:center;width:24px;height:24px;background:white;color:#3367d6;border-radius:50%;font:800 17px/1 Arial}
.web-signin-prompt .signin-email{background:transparent;border:0;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.web-signin-prompt button:focus-visible{outline:3px solid #204f9e;outline-offset:3px}
.web-signin-prompt button:hover{filter:brightness(.96)}
.web-signin-prompt button:disabled{opacity:.65;cursor:wait}
.web-signin-prompt .signin-bonus{border-top:1px solid #3f4b2935;padding-top:8px;text-align:center;font:800 13px/1.4 Arial;color:#263d29}
.signin-bonus span{display:block;font:12px/1.4 Arial;font-weight:400}
.web-signin-prompt .signin-status{font:13px/1.4 Arial;overflow-wrap:anywhere;color:#7b2a15}
.signin-status:empty{display:none}
.ability-controls-help{padding:12px 14px;margin:12px 0;border:1px solid #bacc9955;border-radius:8px;background:#0c261b55;font:14px/1.5 Arial;color:#dbe6cf}
.ability-controls-help p{margin:3px 0}.ability-controls-help kbd{display:inline-grid;place-items:center;min-width:24px;margin-right:7px;border:1px solid #cedbae77;border-radius:4px;font:700 13px/1.6 monospace;color:#ffe6a8}
.web-briefing-heading h2{margin:16px 0}.web-briefing-tabs,.web-story-pager{display:none}.web-briefing-panels{display:contents}
.web-controls-dialog{box-sizing:border-box;width:min(580px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;background:#19372c;color:#e8eddb;border:1px solid #d3ddae77;border-radius:16px;padding:22px}
.web-controls-dialog::backdrop{background:#071a12ba;backdrop-filter:blur(6px)}.web-controls-dialog .briefing-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;font:14px/1.5 Arial}.web-controls-dialog .briefing-controls small{grid-column:1/-1}
.web-controls-dialog>button{min-height:44px;width:100%;margin-top:16px;background:#d6e6b0;color:#203025;border:0;border-radius:8px;font:700 14px Arial}
@media(min-width:1431px){.briefing-service-mobile .web-signin-prompt{display:none}}
/* Phones keep every real equipment card in a one-screen tabbed dashboard. */
body.touch-game:has(.web-clean-briefing) #touch-briefing-footer{display:none!important}
body.touch-game #mission-overlay.briefing .web-clean-briefing.campaign-briefing{position:fixed;inset:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));width:auto;max-width:none;height:auto;max-height:none;padding:16px;border-radius:18px;overflow:hidden;display:grid;grid-template-rows:auto auto 44px minmax(0,1fr) 48px 44px;gap:8px;touch-action:manipulation}
body.touch-game .web-clean-briefing .web-briefing-heading{min-width:0}body.touch-game .web-clean-briefing .mission-kicker{font:700 12px/1.2 Arial;letter-spacing:.7px}body.touch-game .web-clean-briefing h2{font:700 32px/1.05 Georgia;letter-spacing:-.8px;margin:6px 0 0}
body.touch-game .web-clean-briefing .briefing-service-mobile{display:grid;grid-template-columns:1fr auto;gap:4px;margin:0!important;font:700 11px/1.2 Arial}body.touch-game .web-clean-briefing .briefing-service-mobile>i{grid-column:1/-1;height:5px;margin:0}
body.touch-game .web-clean-briefing .web-signin-prompt{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:4px 0 0;padding:8px}body.touch-game .web-clean-briefing .web-signin-prompt strong{font-size:16px;line-height:1.15}
body.touch-game .web-clean-briefing .web-signin-prompt p,body.touch-game .web-clean-briefing .signin-provider-prefix{display:none}body.touch-game .web-clean-briefing .web-signin-prompt button{grid-column:auto;font-size:13px;padding:5px;min-height:44px;gap:4px}body.touch-game .web-clean-briefing .signin-google{width:20px;height:20px;font-size:15px}
body.touch-game .web-clean-briefing .web-signin-prompt .signin-email{font-size:0;background:#fff9dc;border:1px solid #243a2c50;text-decoration:none}body.touch-game .web-clean-briefing .signin-email:after{content:'Email';font:700 13px Arial}
body.touch-game .web-clean-briefing .signin-bonus{font-size:12px;padding-top:4px}body.touch-game .web-clean-briefing .signin-bonus span{display:none}body.touch-game .web-clean-briefing .signin-status{font-size:12px;line-height:1.2;max-height:30px;overflow:auto}
body.touch-game .web-clean-briefing .web-briefing-tabs{display:flex;gap:5px;min-width:0}.web-briefing-tabs button{flex:1;min-width:0;min-height:44px;border:1px solid #b4c99b55;border-radius:8px;background:#173a2c;color:#d8e4bf;font:700 13px Arial;cursor:pointer}.web-briefing-tabs button[aria-pressed=true]{background:#d9e7b5;color:#203426}
body.touch-game .web-clean-briefing .web-briefing-panels{display:block;min-height:0;overflow:hidden}body.touch-game .web-clean-briefing .web-briefing-story{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 44px;gap:4px;min-height:0}
body.touch-game .web-clean-briefing .mission-history{display:block;margin:0!important;min-height:0;overflow:hidden;font:15px/1.4 Arial!important}body.touch-game .web-clean-briefing .web-story-pager{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px}
.web-story-pager button{min-height:44px;min-width:44px;padding:6px 10px;border-radius:7px;border:1px solid #cbd6a855;background:#183b2b;color:#e0e8c7;font:700 12px Arial;cursor:pointer}.web-story-pager span{font:12px Arial;color:#c7d7b9}.web-story-pager.single-page{visibility:hidden}
body.touch-game .web-clean-briefing .briefing-loadout{display:none;height:100%;min-height:0;margin:0!important;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
body.touch-game .web-clean-briefing[data-page=weapons] .briefing-loadout,body.touch-game .web-clean-briefing[data-page=abilities] .briefing-loadout{display:grid}body.touch-game .web-clean-briefing[data-page=weapons] .web-briefing-story,body.touch-game .web-clean-briefing[data-page=abilities] .web-briefing-story{display:none}
body.touch-game .web-clean-briefing[data-page=weapons] [data-ability-slot],body.touch-game .web-clean-briefing[data-page=abilities] [data-slot],body.touch-game .web-clean-briefing .loadout-abilities{display:none!important}body.touch-game .web-clean-briefing[data-page=abilities] .briefing-loadout{grid-template-columns:repeat(3,minmax(0,1fr))}
body.touch-game .web-clean-briefing .briefing-loadout .loadout-card{min-height:0;padding:8px;justify-content:space-between;gap:4px}body.touch-game .web-clean-briefing .loadout-weapon-name{font-size:14px;min-height:0;line-height:1.2}body.touch-game .web-clean-briefing .loadout-slot-name{font-size:11px;letter-spacing:0}
body.touch-game .web-clean-briefing .ability-slot-empty{min-height:0;font-size:12px}body.touch-game .web-clean-briefing .loadout-change{display:none}body.touch-game .web-clean-briefing .loadout-ammunition b{font-size:24px}body.touch-game .web-clean-briefing .loadout-ammunition small{font-size:10px!important;letter-spacing:0}body.touch-game .web-clean-briefing .briefing-loadout .weapon-art{height:38px;min-height:0;margin:0}
body.touch-game .web-clean-briefing #mission-ammo-check{display:none!important}body.touch-game .web-clean-briefing .briefing-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:0;gap:8px!important}body.touch-game .web-clean-briefing #mission-start{display:flex;min-height:48px;font-size:12px;letter-spacing:.5px}body.touch-game .web-clean-briefing .briefing-hangar{font-size:12px!important;min-height:48px;padding:10px!important}body.touch-game .web-clean-briefing .briefing-hangar:after{display:none}
body.touch-game .web-clean-briefing .briefing-audio{padding:0 0 0 92px;border:0;display:flex;flex-wrap:nowrap;gap:6px;margin:0;align-items:center;min-width:0}body.touch-game .web-clean-briefing .briefing-audio button{width:44px;min-width:44px;padding:0;font-size:0}body.touch-game .web-clean-briefing #briefing-mute:after{content:'♫';font:23px Arial}body.touch-game .web-clean-briefing #briefing-replay:after{content:'↻';font:25px Arial}body.touch-game .web-clean-briefing #briefing-audio-status{display:none}
body.touch-game .web-clean-briefing .briefing-controls-toggle{position:absolute;bottom:16px;left:16px;margin:0;border:0;width:84px;height:44px}body.touch-game .web-clean-briefing .briefing-controls-toggle summary{padding:12px 6px;border:1px solid #bdd0a455;border-radius:8px;font-size:12px}body.touch-game .web-clean-briefing .briefing-controls-toggle summary>span{display:none}
body.touch-game .web-clean-briefing.web-compact{padding:10px;gap:5px;grid-template-rows:auto auto 44px minmax(0,1fr) 44px 44px}body.touch-game .web-clean-briefing.web-compact h2{font-size:27px;margin-top:3px}body.touch-game .web-clean-briefing.web-compact .web-briefing-tabs button{min-height:44px}body.touch-game .web-clean-briefing.web-compact #mission-start,body.touch-game .web-clean-briefing.web-compact .briefing-hangar{min-height:44px}body.touch-game .web-clean-briefing.web-compact .briefing-controls-toggle{bottom:10px;left:10px}
body.touch-game .web-clean-briefing.web-short-panel .briefing-loadout .weapon-art{display:none}body.touch-game .web-clean-briefing.web-short-panel .briefing-loadout .loadout-card{padding:6px;gap:2px}body.touch-game .web-clean-briefing.web-short-panel .loadout-weapon-name{font-size:12px}body.touch-game .web-clean-briefing.web-short-panel .loadout-ammunition small,body.touch-game .web-clean-briefing.web-short-panel .tier-pips{display:none}
@media(orientation:landscape){
 body.touch-game #mission-overlay.briefing .web-clean-briefing.campaign-briefing{grid-template-columns:minmax(170px,37%) minmax(0,1fr);grid-template-rows:auto 36px minmax(0,1fr) 44px;grid-template-areas:'header tabs' 'account content' 'account content' 'audio actions';gap:6px 12px;padding:10px;inset:calc(8px + var(--safe-top)) calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left))}
 body.touch-game .web-clean-briefing .web-briefing-heading{grid-area:header}body.touch-game .web-clean-briefing h2{font-size:24px}body.touch-game .web-clean-briefing .mission-kicker{font-size:11px}body.touch-game .web-clean-briefing .briefing-service-mobile{grid-area:account;align-content:start}body.touch-game .web-clean-briefing .web-briefing-tabs{grid-area:tabs}body.touch-game .web-clean-briefing .web-briefing-panels{grid-area:content}body.touch-game .web-clean-briefing .briefing-actions{grid-area:actions}body.touch-game .web-clean-briefing .briefing-audio{grid-area:audio;padding-left:0;justify-content:flex-end}
 body.touch-game .web-clean-briefing .briefing-controls-toggle{left:10px;bottom:10px;width:66px}body.touch-game .web-clean-briefing .briefing-controls-toggle summary{font-size:11px;padding-left:3px;padding-right:3px}body.touch-game .web-clean-briefing .briefing-audio button{width:34px;min-width:34px}body.touch-game .web-clean-briefing .briefing-audio .web-settings{min-width:34px;width:34px;margin-left:0}body.touch-game .web-clean-briefing .briefing-audio .web-settings-label{display:none}body.touch-game .web-clean-briefing .web-signin-prompt{grid-template-columns:1fr 1fr}body.touch-game .web-clean-briefing .signin-email{grid-column:1/-1}
}
/* Existing legibility rules mark these fonts important; icon buttons stay icons. */
body.touch-game .web-clean-briefing .briefing-audio button{font-size:0!important;padding:0!important;min-height:44px!important}
body.touch-game .web-clean-briefing #mission-start{padding:8px 10px;font-size:12px;white-space:normal;gap:6px}
body.touch-game .web-clean-briefing #mission-start span{flex:none}
@media(orientation:landscape){
 body.touch-game #mission-overlay.briefing .web-clean-briefing.campaign-briefing{grid-template-columns:minmax(230px,37%) minmax(0,1fr)}
 body.touch-game .web-clean-briefing .web-signin-prompt{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.touch-game .web-clean-briefing .briefing-audio button,body.touch-game .web-clean-briefing .briefing-audio .web-settings{width:44px;min-width:44px}
}
body.touch-game .web-clean-briefing.web-compact h2{font-size:clamp(21px,6vw,27px);white-space:nowrap}
body.touch-game .web-clean-briefing.web-short-panel .loadout-ammunition{padding-top:2px;margin-top:0}
body.touch-game .web-clean-briefing.web-short-panel .loadout-ammunition b{font-size:22px;line-height:1}
.web-controls-dialog[open]{display:flex;flex-direction:column}.web-controls-dialog .briefing-controls{min-height:0;overflow:auto}.web-controls-dialog>button{flex:none}
.loadout-key{display:inline-grid;place-items:center;min-width:21px;min-height:20px;padding:0 3px;border:1px solid #bdd0a475;border-radius:4px;background:#102b20;color:#e4eccb;font:700 12px/1 monospace;letter-spacing:0}
body.touch-game .web-clean-briefing .ability-slot .loadout-slot-name{align-items:center;gap:3px}
body.touch-game .web-clean-briefing .loadout-ability-label{font:700 11px/1.2 Arial;white-space:nowrap}
body.touch-game .web-clean-briefing .ability-slot .loadout-slot-name>i{display:none}
body.touch-game .web-clean-briefing.web-list-abilities[data-page=abilities] .briefing-loadout{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr))}
body.touch-game .web-clean-briefing.web-list-abilities[data-page=abilities] .ability-slot{display:grid;grid-template-columns:52px minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:4px 10px}
body.touch-game .web-clean-briefing.web-list-abilities[data-page=abilities] .loadout-slot-name{grid-column:1/-1;justify-content:flex-start}
body.touch-game .web-clean-briefing.web-list-abilities[data-page=abilities] .loadout-ability-label{font-size:12px;margin-right:4px}
body.touch-game .web-clean-briefing.web-list-abilities[data-page=abilities] .weapon-art{grid-column:1;grid-row:2;height:44px}
body.touch-game .web-clean-briefing.web-list-abilities[data-page=abilities] .loadout-weapon-name{grid-column:2;grid-row:2;align-self:center}
body.touch-game .web-clean-briefing.web-list-abilities[data-page=abilities] .loadout-ammunition{grid-column:3;grid-row:2;align-self:center;display:flex;flex-direction:column;gap:3px;border:0;padding:0;margin:0;max-width:95px}
body.touch-game .web-clean-briefing.web-list-abilities[data-page=abilities] .ability-slot-empty{grid-column:1/-1;grid-row:2;align-self:center}
/* A short landscape phone has room for rows, not three narrow cards. */
@media(orientation:landscape) and (max-width:700px){
 body.touch-game .web-clean-briefing[data-page=abilities] .briefing-loadout{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr))}
 body.touch-game .web-clean-briefing .briefing-loadout .ability-slot{display:grid;grid-template-columns:92px minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-items:center;gap:6px;padding:6px}
 body.touch-game .web-clean-briefing .ability-slot .loadout-slot-name{justify-content:flex-start;gap:4px}
 body.touch-game .web-clean-briefing .ability-slot .weapon-art,body.touch-game .web-clean-briefing .ability-slot .tier-pips,body.touch-game .web-clean-briefing .ability-slot .loadout-ammunition small{display:none}
 body.touch-game .web-clean-briefing .ability-slot .loadout-weapon-name{font-size:12px;line-height:1.15;overflow-wrap:anywhere}
 body.touch-game .web-clean-briefing .ability-slot .loadout-ammunition{border:0;margin:0;padding:0}
 body.touch-game .web-clean-briefing .ability-slot-empty{grid-column:2/-1;min-width:0;font-size:11px;letter-spacing:0}
}
