/* Shared game language: a fixed scene, an aircraft briefing and direct departure controls. */
#app-shell #select-screen{display:flex;flex-direction:column;gap:0;height:100%;min-height:0;padding:0 max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#0b131c;overflow:hidden}
#app-shell #select-screen.hidden{display:none}
.hangar-environment,#aircraft-grid{display:none!important}
#select-screen::before,#select-screen::after,#aircraft-preview::before,#aircraft-preview::after,#aircraft-detail::before,#aircraft-detail::after,#select-header::after{display:none}
#select-screen #select-header{position:relative;z-index:12;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;flex:0 0 88px;min-height:88px;padding:0;border:0;border-bottom:1px solid #2f4558}
#select-header .hangar-brand{display:flex;align-items:center;gap:12px;font:500 25px/1 var(--font-display);margin:0;white-space:nowrap;letter-spacing:-.02em}
.hfs-logo{width:64px;height:48px;object-fit:contain;flex-shrink:0}
#select-header .brand-wordmark{display:flex;align-items:baseline;gap:6px;font-size:20px;line-height:1.2}
#select-header .brand-wordmark>span{display:inline;font:inherit;color:var(--text);margin:0;letter-spacing:0}
#select-header .brand-wordmark>.brand-initials{color:var(--accent)}
#hangar-mode-tabs{display:flex;align-self:stretch;gap:4px;align-items:stretch}
#hangar-mode-tabs button{position:relative;min-width:112px;padding:0 24px;border:0;border-bottom:3px solid transparent;background:transparent;color:#aec1d2;font-size:16px;clip-path:none;white-space:nowrap}
#hangar-mode-tabs button:hover{background:#152838;color:var(--text)}
#hangar-mode-tabs button[aria-selected="true"]{color:#effaff;background:#1b3549;border-bottom-color:var(--accent)}
#select-screen .pilot-menu{position:relative;justify-self:end;min-width:0;max-width:100%}
#select-screen .pilot-menu summary{display:flex;align-items:center;gap:16px;min-height:48px;max-width:220px;padding:8px 16px;list-style:none;cursor:pointer;border:1px solid #40576a;background:#142332}
#select-screen .pilot-menu summary::-webkit-details-marker{display:none}
#select-pilot-name{font:500 14px var(--font-ui);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pilot-menu summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
#select-screen .pilot-menu summary:focus{outline:2px solid var(--accent);outline-offset:2px}
#select-screen .pilot-menu[open] summary{border-color:var(--accent)}
#select-screen #select-header .select-account{position:absolute;top:56px;right:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:220px;padding:8px;background:#132333;border:1px solid #40576a;z-index:20}
#select-screen .pilot-menu:not([open]) .select-account{display:none!important}
#select-screen #select-header .select-account .account-action{display:flex;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-height:48px;margin:0;padding:12px;border:0;background:transparent;clip-path:none}
#select-screen #select-header .select-account .account-action:hover{background:#243f55}
#select-screen #select-header .account-action-label{display:inline;font-size:14px}
#select-header .select-account-icon{width:20px;height:20px}
#app-shell #select-screen #aircraft-detail{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 336px;grid-template-rows:minmax(0,1fr);flex:1;min-height:0;width:100%;max-width:none;gap:32px;margin:0;padding:20px 0 0;background:none;border:0;clip-path:none;box-shadow:none;overflow:hidden}
.aircraft-showcase{display:grid;grid-template-rows:minmax(160px,1fr) auto;min-width:0;min-height:0;overflow:hidden}
#app-shell #select-screen #aircraft-detail-visual{position:relative;display:block;min-width:0;min-height:0;height:100%;background:none;border:0;clip-path:none;border-radius:0;overflow:hidden;touch-action:pan-y;cursor:grab;isolation:isolate}
#aircraft-detail-visual:active{cursor:grabbing}
#select-screen #aircraft-preview{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;margin:0;border:0;background:none;transform:none}
#aircraft-preview canvas{width:100%;height:100%;display:block}
#select-screen #aircraft-preview[data-has-model="true"] canvas{opacity:1;filter:none}
#select-screen #aircraft-preview{cursor:grab}
#select-screen #aircraft-preview[data-dragging="true"]{cursor:grabbing}
#select-screen #aircraft-preview-status{position:absolute;top:auto;bottom:24px;left:64px;right:64px;width:auto;text-align:center;padding:0;border:0;background:none;box-shadow:none;transform:none;color:var(--muted)}
#aircraft-preview[data-preview-state="ready"] #aircraft-preview-status{display:none}
#select-screen #aircraft-detail-visual::before,#select-screen #aircraft-detail-visual::after{content:"";display:block;position:absolute;top:12%;bottom:12%;width:20%;height:auto;border:0;border-radius:0;box-shadow:none;pointer-events:none;z-index:2;opacity:0;transition:opacity 220ms ease-out;-webkit-mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}
#select-screen #aircraft-detail-visual::before{left:0;background:linear-gradient(90deg,#248bdb52 0%,#248bdb12 55%,transparent 100%);border-left:1px solid #70b6ff}
#select-screen #aircraft-detail-visual::after{right:0;background:linear-gradient(270deg,#248bdb52 0%,#248bdb12 55%,transparent 100%);border-right:1px solid #70b6ff}
#select-screen #aircraft-detail-visual[data-hover-side="left"]::before,#select-screen #aircraft-detail-visual[data-hover-side="right"]::after{opacity:1}
#select-screen .aircraft-navigation{position:absolute;top:0;bottom:0;width:64px;height:100%;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0;box-shadow:none;z-index:3;clip-path:none;color:#dbe9f4}
.aircraft-navigation.previous{left:0}.aircraft-navigation.next{right:0}
.aircraft-navigation svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}
#select-screen .aircraft-navigation:hover{background:transparent;color:var(--accent)}
#app-shell #select-screen .aircraft-navigation:focus{outline:none}
#select-screen .aircraft-navigation::after{content:"";position:absolute;left:50%;top:50%;width:44px;height:48px;transform:translate(-50%,-50%);border:1px solid transparent;background:none;pointer-events:none}
#select-screen .aircraft-navigation:focus::after{border-color:var(--accent)}
@supports selector(:focus-visible){#select-screen .aircraft-navigation:focus:not(:focus-visible)::after{border-color:transparent}}
#select-screen .aircraft-identity{position:relative;display:block;min-height:0;max-height:270px;overflow:auto;padding:20px 0 4px;border-top:1px solid #2f4558;pointer-events:auto}
.aircraft-title-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
#select-screen #selected-aircraft-name{max-width:none;font:500 clamp(24px,2.6vw,38px)/1.15 var(--font-display);letter-spacing:-.02em;margin:0;color:var(--text);overflow-wrap:break-word}
#select-screen #selected-aircraft-role{font:400 13px/1.5 var(--font-ui);color:#aec1d2;margin:0;padding:0;border:0}
#select-screen .aircraft-description{font:400 14px/1.7 var(--font-ui);color:#c3d3df;max-width:72ch;margin:12px 0 16px}
#select-screen .aircraft-capability-grid,#select-screen .aircraft-reference-facts{position:static;display:flex;flex-wrap:wrap;gap:12px 28px;background:none;border:0;border-radius:0;padding:0;margin:0 0 12px}
#select-screen .aircraft-capability-grid>div,#select-screen .aircraft-reference-facts>div{display:flex;align-items:center;gap:8px;min-width:0;padding:0;background:none;border:0}
#select-screen .aircraft-capability-grid>div[hidden]{display:none}
.ui-icon{display:inline-block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;color:#85bce7}
#select-screen .aircraft-capability-grid span,#select-screen .aircraft-reference-facts span{font:400 12px/1.5 var(--font-ui);color:#aec1d2;letter-spacing:0}
#select-screen .aircraft-capability-grid strong,#select-screen .aircraft-reference-facts strong{display:inline;font:500 14px/1.5 var(--font-ui);font-variant-numeric:tabular-nums;color:var(--text);margin:0;white-space:nowrap}
#select-screen .aircraft-reference-source{display:inline-flex;align-items:center;gap:6px;color:#96b4cb;font:400 11px/1.5 var(--font-ui);text-decoration:none;min-height:44px}
.aircraft-reference-source .ui-icon{width:13px;height:13px}
#select-screen .aircraft-reference-source:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
#app-shell #select-screen #aircraft-detail .aircraft-detail-copy{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;gap:20px;padding:24px;min-height:0;min-width:0;overflow:hidden;background:#101f2d;border:1px solid #314b60;border-top:2px solid var(--accent);clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%)}
.hangar-departure-heading h2{font:500 28px/1.15 var(--font-display);margin:0;color:var(--text)}
.hangar-departure-heading p{font:400 13px/1.7 var(--font-ui);color:#aec1d2;margin:10px 0 0}
.hangar-setup{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 2px 2px}
#select-screen .flight-ops-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin:0;padding:0}
#select-screen .flight-ops-field{display:flex;flex-direction:column;gap:8px;min-width:0;font:400 12px/1.4 var(--font-ui);color:#aec1d2}
#select-screen .flight-ops-field:first-child{grid-column:1/-1}
#select-screen .flight-ops-field select{display:block;width:100%;height:48px;min-height:48px;padding:8px 28px 8px 12px;border:1px solid #40576a;background-color:#0b1722;color:var(--text);font:400 13px/1.4 var(--font-ui);border-radius:0;box-shadow:none;text-overflow:ellipsis}
#select-screen .flight-ops-field select:focus{outline:2px solid var(--accent);outline-offset:1px}
#select-screen .solo-mode-field,#select-screen #flight-ops-button{display:none}
#select-screen #selected-aircraft-status{font:400 12px/1.65 var(--font-ui);color:#ffbd75;margin:0}
#select-screen #aircraft-detail .button-row{display:flex;flex-direction:column;gap:8px;margin:0;flex-shrink:0}
#app-shell #select-screen #aircraft-detail .select-action-card{min-height:52px;width:100%;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:0}
#select-screen .select-action-card small{display:none}
#select-screen .select-action-icon{width:20px;height:20px}
#select-screen #select-join-button{background:transparent;border:1px solid #40576a;box-shadow:none}
#app-shell #select-screen:not([data-mode="free-flight"]) #aircraft-detail #select-join-button{display:none}
#select-screen #select-message{font-size:12px;line-height:1.5;margin:0}
#select-message:empty,#select-screen #selected-aircraft-status:empty{display:none}
/* This must outrank the old direct-child positioning rule: the page stays fixed. */
#app-shell #select-screen>#changelog-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));overflow:hidden}
#app-shell #select-screen>#changelog-modal.hidden{display:none}
#app-shell #changelog-dialog{position:relative;inset:auto;transform:none;width:min(720px,100%);max-height:100%;min-height:0;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid #40576a;border-radius:0;background:#132333;clip-path:none;overflow:hidden}
#app-shell #changelog-header{flex-shrink:0;align-items:center;padding:20px 24px}
#app-shell #changelog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 24px 24px}
#app-shell .changelog-entry{grid-template-columns:100px minmax(0,1fr)}
#app-shell .changelog-date{white-space:nowrap;font:400 12px/1.6 var(--hfs-mono)}
#changelog-close-button{min-width:44px;min-height:44px}
@media(max-width:1100px){#select-screen #select-header{gap:16px}#hangar-mode-tabs button{min-width:96px;padding:0 16px}#app-shell #select-screen #aircraft-detail{grid-template-columns:minmax(0,1fr) 300px;gap:24px}#select-header .hangar-brand{font-size:23px}.hfs-logo{width:52px;height:44px}#app-shell #select-screen #aircraft-detail .aircraft-detail-copy{padding:20px}.aircraft-title-row{gap:8px 16px}#select-screen .aircraft-capability-grid,#select-screen .aircraft-reference-facts{gap:10px 20px}}
@media(max-height:550px) and (orientation:landscape){#app-shell #select-screen{padding:0 max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))}#select-screen #select-header{min-height:56px;flex-basis:56px;gap:12px}#select-header .hangar-brand{font-size:20px;gap:8px}#select-header .brand-wordmark{font-size:16px}#select-header .brand-wordmark>span:not(.brand-initials){display:none}.hfs-logo{width:40px;height:36px}#hangar-mode-tabs button{font-size:14px;min-width:76px;padding:0 12px}#select-screen .pilot-menu summary{min-height:44px;padding:8px;max-width:120px;gap:8px}#app-shell #select-screen #aircraft-detail{grid-template-columns:minmax(0,1fr) 240px;gap:16px;padding-top:12px}.aircraft-showcase{grid-template-rows:minmax(100px,1fr) auto}#select-screen .aircraft-identity{padding-top:10px;max-height:144px}#select-screen #selected-aircraft-name{font-size:21px}#select-screen #selected-aircraft-role{font-size:11px}#select-screen .aircraft-description{font-size:12px;line-height:1.6;margin:8px 0}#select-screen .aircraft-capability-grid,#select-screen .aircraft-reference-facts{gap:8px 14px;margin-bottom:8px}#select-screen .aircraft-capability-grid span,#select-screen .aircraft-reference-facts span{font-size:11px}#select-screen .aircraft-capability-grid strong,#select-screen .aircraft-reference-facts strong{font-size:12px}#select-screen .aircraft-navigation{width:48px}#app-shell #select-screen #aircraft-detail .aircraft-detail-copy{padding:12px;gap:12px}.hangar-departure-heading h2{font-size:21px}.hangar-departure-heading p{display:none}#select-screen .flight-ops-fields{gap:10px 8px}#select-screen .flight-ops-field{font-size:11px;gap:4px}#select-screen .flight-ops-field select{height:44px;min-height:44px;padding-left:8px;font-size:12px}#select-screen #aircraft-detail .button-row{flex-direction:row}#app-shell #select-screen #aircraft-detail .select-action-card{min-height:48px;padding:8px;gap:6px}#select-screen #select-join-button{width:72px;flex-shrink:0}#select-screen #select-join-button .select-action-icon{display:none}#app-shell #select-screen>#changelog-modal{padding:12px}#app-shell #changelog-header{padding:12px 16px}}
@media(max-width:600px) and (orientation:portrait){#select-screen #select-header{grid-template-columns:1fr auto;gap:8px;padding:12px 0;min-height:112px;flex-basis:112px}#hangar-mode-tabs{grid-row:2;grid-column:1/-1;justify-content:stretch}#hangar-mode-tabs button{flex:1;min-height:44px;padding:0 12px}#select-screen .pilot-menu{grid-column:2;grid-row:1}#app-shell #select-screen #aircraft-detail{display:flex;flex-direction:column;gap:16px;overflow-y:auto}.aircraft-showcase{flex-shrink:0;grid-template-rows:220px auto}#select-screen .aircraft-identity{max-height:none}#app-shell #select-screen #aircraft-detail .aircraft-detail-copy{min-height:460px;flex-shrink:0;width:100%}}
@media(prefers-reduced-motion:reduce){#select-screen #aircraft-detail-visual::before,#select-screen #aircraft-detail-visual::after{transition:none}}

#app-shell #select-screen #aircraft-detail.hidden{display:none}
#select-screen #hangar-development-panel{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
#select-screen #hangar-development-panel.hidden{display:none}
#hangar-development-panel h2{font:500 clamp(24px,3vw,36px) var(--font-ui);color:var(--text);margin:0}
@media(max-width:1100px){#select-header .brand-wordmark{font-size:18px}}
@media(max-height:550px) and (orientation:landscape){#select-header .brand-wordmark{font-size:18px}}

/* Keep legacy descendant rules from shrinking the current departure controls. */
#select-screen .flight-ops-field > span { font: 400 12px/1.4 var(--font-ui); }
#app-shell #select-screen #aircraft-detail .select-action-label { font: 500 14px/1.4 var(--font-ui); }
@media (max-height: 550px) and (orientation: landscape) {
  #select-screen .flight-ops-field > span { font-size: 11px; }
  #app-shell #select-screen #aircraft-detail #fly-practice-button { flex: 1 1 0; width: auto; min-width: 0; }
  #app-shell #select-screen #aircraft-detail #select-join-button { flex: 0 0 72px; width: 72px; min-width: 72px; }
  #app-shell #select-screen #aircraft-detail .select-action-label { font-size: 12px; }
}

/* Optional friend invitation stays inside the existing flight configuration. */
#app-shell .friend-flight { width: 100%; flex-shrink: 0; border: 0; border-top: 1px solid #40576a; padding-top: 8px; min-width: 0; }
#app-shell .friend-flight > summary { min-height: 44px; padding: 12px 0; display: list-item; cursor: pointer; color: var(--text); font: 500 13px/1.4 var(--font-ui); }
#app-shell .friend-flight-actions, #app-shell .friend-flight-share, #app-shell .friend-flight-entry { display: flex; gap: 6px; min-width: 0; margin: 6px 0; }
#app-shell .friend-flight input { min-width: 0; width: 0; flex: 1 1 0; min-height: 44px; border: 1px solid #40576a; background: #0b1722; padding: 8px; color: #edf6ff; font: 400 16px/1.4 var(--font-ui); }
#app-shell .friend-flight input[aria-invalid="true"] { border-color: #ff8b82; }
#app-shell .friend-flight button { min-width: 64px; min-height: 44px; width: auto; padding: 8px; flex: 0 0 auto; font: 500 12px/1.4 var(--font-ui); }
#app-shell .friend-flight [hidden] { display: none; }
#app-shell .friend-flight p { font: 400 12px/1.5 var(--font-ui); margin: 6px 0; color: #dce9f5; }
#app-shell .friend-flight p:empty, #app-shell .friend-flight-share.is-empty { display: none; }
#app-shell #select-screen:not([data-mode="free-flight"]) .friend-flight { display: none; }
