/* A full first viewport for phone and handheld entry. Device identity is
   supplied by main, so resizing a desktop window does not enable this UI. */
#compactEntrySurface,#compactEntryFeedback{display:none}
:is(.phone-ui,.compact-entry) #hangar{
 --entry-height:var(--compact-entry-height,var(--phone-viewport-height,100dvh));
 --entry-top:max(12px,env(safe-area-inset-top));
 --entry-bottom:max(16px,env(safe-area-inset-bottom));
 --entry-left:max(16px,env(safe-area-inset-left));
 --entry-right:max(16px,env(safe-area-inset-right));
 --entry-gap:12px;
 --entry-action-height:80px;
 position:fixed;inset:auto;top:var(--compact-entry-top,var(--phone-viewport-top,0px));left:0;right:0;
 display:flex;flex-direction:column;width:100%;height:var(--entry-height);
 padding:0;gap:16px;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;
 touch-action:pan-y;scroll-padding-top:16px;scroll-padding-bottom:20px;
}
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface{
 display:block;position:relative;order:0;flex:none;width:100%;
 height:var(--entry-height);min-height:var(--entry-height);margin:0;padding:0;
}
:is(.phone-ui,.compact-entry) #hangar #landingLiveStats{
 position:absolute;top:var(--entry-top);left:var(--entry-left);right:var(--entry-right);
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
 height:60px;margin:0;padding:7px 8px;border:1px solid #c9dfdb24;
 border-radius:12px;background:#0b202acb;pointer-events:none;
 font-family:var(--mono);text-align:center;
}
:is(.phone-ui,.compact-entry) #hangar #landingLiveStats>div{
 display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;
}
:is(.phone-ui,.compact-entry) #hangar #landingLiveStats b{
 font:600 24px/1 var(--mono);color:#f4ffdf;white-space:nowrap;font-variant-numeric:tabular-nums;
}
:is(.phone-ui,.compact-entry) #hangar #landingLiveStats span{
 font:10px/1.2 var(--mono);letter-spacing:.05em;color:#edf5ef;white-space:nowrap;
}
.landing-stats-status{
 position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
 clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #mobilePlayActions{
 position:absolute;top:auto;bottom:var(--entry-bottom);left:var(--entry-left);right:var(--entry-right);
 display:grid;grid-template-columns:repeat(1,minmax(0,1fr));
 grid-template-rows:repeat(3,var(--entry-action-height));gap:var(--entry-gap);
 width:auto;height:calc(var(--entry-action-height) * 3 + var(--entry-gap) * 2);
 margin:0;padding:0;order:0;pointer-events:auto;
}
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #matchmakingHangar,
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface .matchmaking-split{
 display:contents;width:auto;height:auto;margin:0;padding:0;border:0;
}
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface :is(.matchmaking-split>button,#landingChallengesButton){
 display:flex;align-items:center;justify-content:center;position:static;
 width:100%;height:var(--entry-action-height);min-height:var(--entry-action-height);
 min-width:0;margin:0;padding:12px 16px;box-sizing:border-box;
 border:1px solid #d3eda570;border-radius:12px;
 background:#dcff97;color:#162821;box-shadow:none;text-align:center;
 font:600 18px/1.3 var(--mono);letter-spacing:.01em;text-transform:uppercase;
 white-space:normal;touch-action:manipulation;pointer-events:auto;
}
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #joinFreeMode{grid-column:1;grid-row:1}
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #joinPublicSoloBR{grid-column:1;grid-row:2;background:#cdefb0}
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #landingChallengesButton{grid-column:1;grid-row:3;background:#153c45ed;color:#e5f3d6}
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #landingChallengesButton :is(small,b){display:none}
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface :is(.matchmaking-split>button,#landingChallengesButton):is(:focus-visible,[data-controller-focus=true]){
 outline:3px solid #17241b!important;outline-offset:-6px!important;box-shadow:none!important;
}
:is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #landingChallengesButton:is(:focus-visible,[data-controller-focus=true]){outline-color:#dcff97!important}

/* Optional settings, aircraft choice and recovery remain available below the
   full entry surface. Nothing from this section intrudes into its viewport. */
:is(.phone-ui,.compact-entry) #hangar #compactEntryFeedback{
 display:block;order:1;flex:none;margin:0 var(--entry-right) 0 var(--entry-left);
 padding:0;width:auto;font:12px/1.5 var(--mono);
}
:is(.phone-ui,.compact-entry) #hangar #compactEntryFeedback>:is(.micro,h3,.matchmaking-count){display:none}
:is(.phone-ui,.compact-entry) #hangar #compactEntryFeedback .matchmaking-message{margin:0 0 12px;color:#c5d8cd}
:is(.phone-ui,.compact-entry) #hangar #compactEntryFeedback .matchmaking-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
:is(.phone-ui,.compact-entry) #hangar #compactEntryFeedback .matchmaking-actions button{min-height:44px;flex:1;min-width:140px;padding:12px;margin:0;touch-action:manipulation}
:is(.phone-ui,.compact-entry) #hangar .hangar-overview{display:contents}
:is(.phone-ui,.compact-entry) #hangar>:is(header,.sortie-config,.deployment,.aircraft-label,#phoneHomeGuide,footer),
:is(.phone-ui,.compact-entry) #hangar .hangar-overview>:is(.hero,.pilot-card){
 position:static;inset:auto;flex:none;width:auto;max-width:none;
 margin:0 var(--entry-right) 0 var(--entry-left);
}
:is(.phone-ui,.compact-entry) #hangar>header{order:2;height:auto;min-height:56px;gap:12px;padding:0 0 12px}
:is(.phone-ui,.compact-entry) #hangar>header .system{display:none}
:is(.phone-ui,.compact-entry) #hangar>header nav{height:auto;min-height:44px;flex:1;margin:0;gap:8px;display:flex;justify-content:flex-end;flex-wrap:wrap}
:is(.phone-ui,.compact-entry) #hangar>header .navlink{min-height:44px;padding:10px 8px;font-size:11px;white-space:normal}
:is(.phone-ui,.compact-entry) #hangar .hero{order:3;padding:0}
:is(.phone-ui,.compact-entry) #hangar .hero h1{font-size:34px;margin:0 0 8px}
:is(.phone-ui,.compact-entry) #hangar .sortie-config{order:4;display:flex;flex-direction:column;min-height:0;gap:0}
:is(.phone-ui,.compact-entry) #hangar .sortie-config .mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
:is(.phone-ui,.compact-entry) #hangar .sortie-config .mode-tab{min-width:0;min-height:56px;font-size:12px;padding:12px 8px}
:is(.phone-ui,.compact-entry) #hangar .sortie-config .mode-tab small{font-size:10px;white-space:normal}
:is(.phone-ui,.compact-entry) #hangar .sortie-config .aircraft-select{min-width:0;min-height:60px;padding:12px;font-size:11px}
:is(.phone-ui,.compact-entry) #hangar .deployment{order:5;min-height:0;padding:12px;gap:12px}
:is(.phone-ui,.compact-entry) #hangar .aircraft-label{order:6;align-self:stretch;padding:16px}
:is(.phone-ui,.compact-entry) #hangar .pilot-card{order:7;padding:16px;border:1px solid #c9dfdb26;border-radius:9px}
:is(.phone-ui,.compact-entry) #hangar #phoneHomeGuide{order:8}
:is(.phone-ui,.compact-entry) #hangar footer{order:9;margin-bottom:var(--entry-bottom);min-height:48px}
:is(.phone-ui,.compact-entry) #hangar :is(.coordinates,#phoneHomeDisplay){display:none!important}
:is(.phone-ui,.compact-entry):not(.inflight) .cinema{background:linear-gradient(0deg,#06192372,transparent 48%,#06192345)}

@media(orientation:landscape){
 :is(.phone-ui,.compact-entry) #hangar{--entry-action-height:clamp(72px,14vh,112px)}
 :is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #mobilePlayActions{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:var(--entry-action-height);height:var(--entry-action-height)}
 :is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #joinFreeMode{grid-column:1;grid-row:1}
 :is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #joinPublicSoloBR{grid-column:2;grid-row:1}
 :is(.phone-ui,.compact-entry) #hangar #compactEntrySurface #landingChallengesButton{grid-column:3;grid-row:1}
 :is(.phone-ui,.compact-entry) #hangar #compactEntrySurface :is(.matchmaking-split>button,#landingChallengesButton){font-size:clamp(14px,1.6vw,21px);padding:10px 12px}
}
@media(max-width:360px) and (orientation:portrait){
 :is(.phone-ui,.compact-entry) #hangar{--entry-action-height:72px}
 :is(.phone-ui,.compact-entry) #hangar #landingLiveStats b{font-size:22px}
 :is(.phone-ui,.compact-entry) #hangar #landingLiveStats span{font-size:9px}
 :is(.phone-ui,.compact-entry) #hangar #compactEntrySurface :is(.matchmaking-split>button,#landingChallengesButton){font-size:16px}
}
@media(max-height:330px) and (orientation:landscape){
 :is(.phone-ui,.compact-entry) #hangar{--entry-gap:8px;--entry-action-height:64px}
 :is(.phone-ui,.compact-entry) #hangar #landingLiveStats{height:48px;padding:5px 8px}
 :is(.phone-ui,.compact-entry) #hangar #landingLiveStats b{font-size:20px}
 :is(.phone-ui,.compact-entry) #hangar #landingLiveStats span{font-size:9px}
}

/* Static identity in the existing open band: counts and play actions retain
   their positions, and the hangar stays visible behind lightweight text. */
#landingIdentity{display:none}
:is(.phone-ui,.compact-entry) #hangar #landingIdentity{
 position:absolute;top:calc(var(--entry-top) + 76px);
 bottom:calc(var(--entry-bottom) + var(--entry-action-height) * 3 + var(--entry-gap) * 2 + 16px);
 left:var(--entry-left);right:var(--entry-right);display:flex;flex-direction:column;
 align-items:center;justify-content:center;gap:18px;min-height:0;margin:0;padding:0;
 text-align:center;pointer-events:none;color:#fffdf4;
}
#landingGameTitle{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;font-style:normal;font-weight:600;line-height:1;text-transform:none}
/* Apply contrast to the text itself: the older #hangar h1 shadow otherwise
   overrides a shadow inherited from the identity container. */
#hangar #landingGameTitle,#landingIdentity .landing-tagline{text-shadow:0 1px 2px #02090df2,0 2px 5px #02090de6,0 0 18px #02090dcc}
#landingGameTitle .landing-title-name{font:600 clamp(52px,14vw,104px)/.95 var(--display);letter-spacing:-.025em;color:#fffdf4}
#landingGameTitle .landing-title-descriptor{font:500 14px/1.25 var(--mono);letter-spacing:.18em;color:#fff8df}
#landingIdentity .landing-tagline{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .6em;max-width:640px;margin:0;padding:0;font:400 13px/1.8 var(--mono);letter-spacing:.015em;color:#fcfff4;text-wrap:balance}
#landingIdentity .landing-tagline span{white-space:nowrap}
.compact-entry #hangar .hero .legacy-game-title{margin:0 0 8px;font:600 30px/1.15 var(--display);letter-spacing:0}
@media(orientation:landscape){
 :is(.phone-ui,.compact-entry) #hangar #landingIdentity{bottom:calc(var(--entry-bottom) + var(--entry-action-height) + 16px);gap:12px}
 #landingGameTitle .landing-title-name{font-size:clamp(48px,10vh,104px)}
 #landingIdentity .landing-tagline{font-size:12px;line-height:1.65}
}
@media(max-width:360px) and (orientation:portrait){
 :is(.phone-ui,.compact-entry) #hangar #landingIdentity{gap:14px}
 #landingGameTitle .landing-title-name{font-size:52px}
 #landingGameTitle .landing-title-descriptor{font-size:12px}
 #landingIdentity .landing-tagline{font-size:11px;line-height:1.75}
}
@media(max-height:330px) and (orientation:landscape){
 :is(.phone-ui,.compact-entry) #hangar #landingIdentity{top:calc(var(--entry-top) + 68px);bottom:calc(var(--entry-bottom) + var(--entry-action-height) + 4px);gap:5px}
 #landingGameTitle{gap:3px}
 #landingGameTitle .landing-title-name{font-size:28px}
 #landingGameTitle .landing-title-descriptor{font-size:10px;letter-spacing:.12em}
 #landingIdentity .landing-tagline{font-size:9px;line-height:1.5;gap:0 .4em}
}
