@import url('./launch/launch.css');
@import url('./adventure/adventure.css');
/* Android's native root owns system/cutout/keyboard insets. Keep this final
   stylesheet outside the legacy cascade so menu geometry has one owner. */
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app main.app-shell {
  box-sizing:border-box;
  width:100%;max-width:1040px;
  margin:0 auto!important;
  padding:8px 12px 92px!important;
  min-height:100dvh;
}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app main.app-shell > header.topbar {
  position:static!important;inset:auto!important;transform:none!important;
  margin:0 0 16px!important;padding:7px 8px!important;
  min-height:62px!important;height:auto!important;max-height:none!important;
  display:flex!important;align-items:center;gap:8px!important;
}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .topbar .v5-pilot {min-width:0;flex:1;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .topbar .v5-pilot-line b {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .topbar .top-actions {flex:none;gap:4px!important;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .topbar #settings-open {width:44px!important;min-width:44px!important;height:44px!important;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .bottom-nav.pixel-dock {
  box-sizing:border-box;position:fixed!important;
  inset:auto 0 0!important;transform:none!important;translate:none!important;
  width:100%!important;max-width:none!important;height:74px!important;min-height:0!important;
  margin:0!important;padding:6px 8px!important;gap:4px!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  background:#082333;border-top:1px solid #397c92;
}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .bottom-nav.pixel-dock button {
  min-width:0;min-height:56px!important;height:60px!important;
  padding:4px 2px!important;gap:3px!important;grid-template-rows:28px auto!important;
  align-content:center!important;justify-content:center!important;line-height:1.2;
}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .bottom-nav.pixel-dock b {font-size:11px!important;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .bottom-nav.pixel-dock .nav-icon {
  width:28px!important;height:28px!important;min-height:28px!important;animation:none!important;
}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .screen {scroll-margin-top:12px;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app :is(.coin-market-hero,.v3-profile-banner) {margin-top:0!important;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .skin-studio-feature {margin-bottom:16px;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .skin-stage {aspect-ratio:16/9;min-height:0;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .shop-catalog-controls {scroll-margin-top:12px;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app .ff-collection-tools {
  display:grid;gap:10px;margin:0 0 14px;padding:14px;border:1px solid #367389;border-radius:10px;background:#0a2b3b;
}
.ff-collection-tools h3 {margin:0;color:#ffe29a;font:700 15px/1.4 monospace;}
.ff-collection-filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.ff-collection-filters button {min-height:44px;padding:8px 4px;border:1px solid #418099;border-radius:7px;background:#0b2434;color:#d7e8ed;font:600 12px/1.3 monospace;}
.ff-collection-filters button[aria-pressed="true"] {color:#ffedb1;background:#4b4425;border-color:#f3d77b;}
.ff-collection-tools p {margin:0;color:#b9d2db;font:12px/1.5 monospace;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app #skin-grid .ff-favorite {
  position:relative;inset:auto;order:9;grid-column:1/-1;
  min-height:44px;width:100%;margin:8px 0 0;padding:9px 8px;
  border:1px solid #478296;border-radius:6px;background:#0a2838;color:#d9e9ed;font:12px/1.4 monospace;
}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app #skin-grid .ff-favorite[aria-pressed="true"] {color:#ffe49a;border-color:#c8aa5c;background:#3a3824;}
html.flyingfriends-android[data-ui-version][data-ui-v5] body #app #skin-grid .skin-card[data-ff-hidden="true"] {display:none!important;}
.ff-collection-empty {padding:16px;color:#c5dae3;border:1px dashed #3a7085;border-radius:8px;font:13px/1.6 monospace;}
.ff-release-note {padding:14px;border:1px solid #3d7886;border-radius:10px;background:#0d2e3c;margin:12px 0;color:#d9ebed;font:13px/1.6 monospace;}
.ff-release-note h3 {font-size:15px;color:#ffe39b;margin:0 0 6px;}
.ff-release-note p {margin:0;}
/* The same immersive state is used for running, pause and resume. */
html.flyingfriends-android[data-ui-version][data-ui-v5][data-screen="play"]:is([data-game-state="running"],[data-game-state="paused"],[data-game-state="resuming"]) body #app main.app-shell {padding:6px!important;}
html.flyingfriends-android[data-ui-version][data-ui-v5][data-screen="play"]:is([data-game-state="running"],[data-game-state="paused"],[data-game-state="resuming"]) body #app main.app-shell > header.topbar,
html.flyingfriends-android[data-ui-version][data-ui-v5][data-screen="play"]:is([data-game-state="running"],[data-game-state="paused"],[data-game-state="resuming"]) body #app .bottom-nav.pixel-dock {display:none!important;}
@media(max-width:359px){
 html.flyingfriends-android[data-ui-version][data-ui-v5] body #app main.app-shell {padding-inline:8px!important;}
 .ff-collection-filters button {font-size:10px;}
}
@media(prefers-reduced-motion:reduce){.ff-collection-tools *{animation:none!important;transition:none!important;}}

/* 1.3: remove the obsolete block silhouette next to the Shop heading. */
html[data-ui-version] body #app #screen-skins .coin-market-hero::after {content:none!important;display:none!important;}
/* Ownership still controls purchases; unowned artwork has no LOCKED overlay. */
html[data-ui-version] body #app #skin-grid .skin-card[data-skin-state="locked"] .skin-state-chip {display:none!important;}

/* Keep desktop telemetry beside the playfield instead of above it. The shared
   shell also uses the native class on desktop, so its mobile flex rule needs
   an explicit wide-screen layout for running, pause and resume. */
@media(min-width:900px){
 html[data-world-game=flying].flyingfriends-android[data-ui-version][data-ui-v5][data-screen=play]:is([data-game-state=running],[data-game-state=paused],[data-game-state=resuming]) body #app #screen-play .game-stage{
  display:grid!important;grid-template:"head head" auto "canvas hud" 1fr/minmax(0,430px) minmax(220px,245px)!important;
  justify-content:center;align-items:start!important;gap:6px 18px!important;
 }
}

/* 1.0.53: legacy cards had fixed night colors even when the shared theme was light.
   Scope this to interface surfaces; flight canvases and biome art keep their colors. */
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app :is(#screen-home,#screen-skins,#screen-profile,#screen-play) :is(.v3-thirty-glyph,.reference-showcase-caption,.v3-shop-currency-note,.skin-studio-feature,.skin-price,.hub-profile-hero,.hub-career-badge,.cycle07-profile-next,.cycle08-profile-average,.cycle10-profile-xp,.hub-empty,.v4-poster-caption,.canvas-tip,.flight-hud-top,.flight-hud-bottom,.flight-hud-details,.journey-strip,.journey-next,.journey-goal-card,.v5-flight-details,.v4-flight-summary){background:#f3f7fa!important;background-image:none!important;color:#203b50!important;border-color:#b4c8d5!important;box-shadow:none!important;text-shadow:none!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #screen-skins #skin-grid .skin-card{background:#fff!important;background-image:none!important;border-color:#b4c8d5!important;box-shadow:0 3px 12px #315a6f12!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #screen-skins #skin-grid .skin-card.is-selected{border-color:#1977ae!important;box-shadow:0 0 0 2px #1977ae!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #screen-skins :is(.skin-studio-feature span,.skin-details span,.skin-feature-info span,.skin-studio-feature .eyebrow),
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #screen-profile :is(li,.hub-profile-hero span),
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #screen-play :is(.journey-goal-card span,.v4-poster-meta span){background:#e8f0f5!important;background-image:none!important;color:#203b50!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app :is(.v5-xp,.v3-passport-xp-track,.flight-meter,.goal-track,.v3-flight-milestone-track){background:#dbe8ee!important;background-image:none!important;box-shadow:none!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app :is(.v5-xp,.v3-passport-xp-track,.flight-meter,.goal-track,.v3-flight-milestone-track)>i{background:#237fad!important;background-image:none!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #screen-play :is(.flight-hud,.flight-hud-details) :is(small,b,strong,span,em){color:#203b50!important;text-shadow:none!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app .reference-showcase-caption{border-radius:6px;padding:6px 10px!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #settings-open{color:#155d8c!important;background:#fff!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #settings-open svg{fill:currentColor!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app :is(#screen-skins,#screen-profile,#screen-play) :is(.coin-market-hero,.coin-market-tabs button,.skin-sound-button,.section-heading .eyebrow,.skin-compare-metrics span,.v3-profile-banner,.hub-passport-metrics>span,.profile-summary>span,.hub-career-flags>span,.journey-core,.local-coin-value,.v3-flight-guide,.v3-flight-milestone,.v4-poster-score>span){background:#edf4f7!important;background-image:none!important;color:#203b50!important;border-color:#b4c8d5!important;box-shadow:none!important;text-shadow:none!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #screen-skins .coin-market-tabs button[aria-selected=true]{background:#dceef8!important;border-color:#1977ae!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #screen-profile :is(.hub-passport-metrics>span,.profile-summary>span,.hub-career-flags>span) :is(b,strong,small){color:#203b50!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #settings-open svg{display:none!important}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app #settings-open::before{content:'';display:block;width:26px;height:26px;background:url('/art/items/gear.svg') center/contain no-repeat}
html[data-ui-theme=light][data-world-game=flying][data-ui-version][data-ui-v5] body #app .local-coin-value{background:#edf4f7!important;background-image:none!important;color:#203b50!important;border-color:#b4c8d5!important;box-shadow:none!important}
