/* Entry and home polish. Shapes decorate controls; labels remain unclipped. */
#title-screen.title-screen--premium { background:#020711 !important; }
#title-screen.title-screen--premium .title-premium-wrap {
  isolation:isolate; width:100% !important; height:100svh !important;
  min-height:100svh !important; max-height:none !important;
  background:radial-gradient(ellipse at 50% 47%,#102b42 0, #060f20 36%,#02050d 73%) !important;
}
#title-screen.title-screen--premium .title-premium-wrap::before {
  z-index:0; inset:-8%; opacity:.72; animation:rem-entry-drift 32s linear infinite !important;
}
#title-screen.title-screen--premium .title-premium-wrap::after { display:none !important; }
#title-screen.title-screen--premium .neo-title-nebula {
  z-index:0; inset:0; opacity:.7; animation:rem-entry-breath 16s ease-in-out infinite;
  background:radial-gradient(ellipse at 18% 40%,rgba(22,96,134,.26),transparent 40%),
    radial-gradient(ellipse at 90% 60%,rgba(58,73,129,.22),transparent 46%) !important;
}
#title-screen.title-screen--premium .neo-title-stars { z-index:1; animation:rem-entry-breath 9s ease-in-out infinite; }
#title-screen.title-screen--premium .neo-title-planet {
  display:block !important; position:absolute; z-index:1;
  top:76%; left:50%; width:max(145vw,900px); height:max(90vw,700px);
  border-radius:50%; transform:translateX(-50%); pointer-events:none;
  border-top:1px solid rgba(157,226,255,.7);
  background:radial-gradient(ellipse at 50% 0,rgba(61,135,177,.24),#030a16 28%,#01030a 63%);
  box-shadow:0 -8px 34px rgba(54,164,212,.16),inset 0 10px 25px rgba(99,199,229,.08);
}
#title-screen.title-screen--premium .neo-title-comets {
  z-index:1; top:16%; left:-30%; width:140px; height:1px;
  animation:rem-entry-meteor 11s ease-in infinite 1s !important;
}
#title-screen.title-screen--premium .neo-title-main {
  z-index:3; top:46% !important; width:min(94%,780px) !important;
  animation:none !important; transform:translate(-50%,-50%) !important;
}
#title-screen.title-screen--premium .neo-title-main::before {
  inset:-100% -10%; opacity:.55;
  background:radial-gradient(ellipse,rgba(58,176,216,.16),transparent 65%) !important;
}
#title-screen.title-screen--premium.active .title-logo-art {
  animation:rem-entry-reveal 1.8s cubic-bezier(.16,1,.3,1) both;
}
#title-screen.title-screen--premium .title-logo-art {
  filter:drop-shadow(0 0 8px rgba(101,226,255,.18)) !important;
  mix-blend-mode:screen !important;
}
#title-screen.title-screen--premium .title-bottom-ui {
  bottom:calc(13% + env(safe-area-inset-bottom)) !important;
  width:min(66%,280px) !important;
}
#title-screen.title-screen--premium #tap-start-btn {
  position:relative !important; display:grid !important; place-items:center !important;
  height:56px !important; min-height:56px !important; max-height:56px !important;
  padding:0 16px !important; clip-path:none !important;
  border:0 !important; border-block:1px solid rgba(162,226,244,.55) !important;
  background:linear-gradient(90deg,transparent,rgba(42,101,132,.25),transparent) !important;
  box-shadow:none !important; color:#edfaff !important;
  grid-template-columns:1fr !important; text-align:center !important;
}
#title-screen.title-screen--premium #tap-start-btn::before,
#title-screen.title-screen--premium #tap-start-btn::after { display:none !important; }
#title-screen.title-screen--premium .entry-start-copy,
#title-screen.title-screen--premium .entry-start-copy b {
  position:static !important; margin:0 !important; transform:none !important;
  color:#edfaff !important; font:600 18px/1.2 "Bahnschrift",monospace !important;
  letter-spacing:.28em !important; text-align:center !important;
  padding:0 !important; width:auto !important; justify-self:center !important;
}
#title-screen.title-screen--premium.active .title-bottom-ui { animation:rem-entry-reveal 1s .35s both; }
#title-screen.title-screen--premium .title-start-warp .title-logo-art { opacity:.25; transition:opacity .24s; }

/* One stable portrait layout instead of legacy fixed offsets. */
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-shell { min-height:0 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .rem-menu {
  max-width:500px !important; padding:calc(12px + env(safe-area-inset-top)) 16px calc(94px + env(safe-area-inset-bottom)) !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-command-deck { min-height:64px !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .rem-menu-header {
  height:64px !important; padding:10px 146px 9px 12px !important;
  border:0 !important; border-bottom:1px solid rgba(138,213,234,.3) !important;
  clip-path:none !important; box-shadow:none !important;
  background:linear-gradient(90deg,rgba(11,30,48,.8),rgba(5,15,28,.4)) !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-header__label { font:600 10px/1.3 "Bahnschrift",sans-serif !important; letter-spacing:.13em !important; color:#a0bccb !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-header__value { font-size:18px !important; line-height:1.5 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-credit-resource { height:50px !important; min-height:50px !important; border:0 !important; background:transparent !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-credit-resource .menu-home-resource-label { font-size:10px !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-credit-resource .menu-home-resource-value { font:700 16px/1.4 "Bahnschrift",sans-serif !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-home-topbar { height:50px !important; overflow:visible !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-hangar-visual {
  height:clamp(290px,48svh,400px) !important; min-height:290px !important; max-height:400px !important;
  border:0 !important; box-shadow:none !important;
  background:radial-gradient(ellipse at 50% 64%,rgba(48,135,173,.12),transparent 65%) !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .rem-menu-hangar {
  width:min(62vw,260px) !important; height:280px !important; min-height:280px !important;
  background:transparent !important; border:0 !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-active-ship-art,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-active-ship-canvas {
  top:24px !important; left:0 !important; width:100% !important; height:210px !important;
  object-fit:contain !important; transform:none !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-hangar-stage__pad { width:95% !important; bottom:22px !important; opacity:.7; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-hangar-reticle {
  inset:28px 0 !important; opacity:.28; animation:none !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-active-frame {
  max-width:100% !important; width:100% !important; margin:-20px auto 0 !important;
  padding:8px 0 !important; gap:8px !important; flex-wrap:wrap;
  border:0 !important; background:transparent !important; clip-path:none !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-active-frame strong {
  font-size:clamp(18px,5vw,24px) !important; white-space:normal !important; text-align:center; overflow-wrap:anywhere;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-active-frame span { font-size:17px !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-loadout-strip {
  width:100% !important; max-width:100% !important; padding:3px 8px !important;
  background:transparent !important; margin:0 auto !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-hangar-info { font-size:11px !important; line-height:1.5 !important; color:#aac3cf !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions {
  top:126px !important; left:0 !important; right:0 !important; height:180px !important; pointer-events:none !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions .menu-home-dock { pointer-events:none !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions .menu-home-dock .menu-dock-btn {
  width:64px !important; min-width:64px !important; max-width:64px !important;
  inline-size:64px !important; min-inline-size:64px !important; max-inline-size:64px !important;
  height:78px !important; min-height:78px !important; max-height:78px !important;
  block-size:78px !important; min-block-size:78px !important; max-block-size:78px !important;
  pointer-events:auto !important; opacity:1 !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions .menu-dock-btn:nth-child(1),
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions .menu-dock-btn:nth-child(2) { top:0 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions .menu-dock-btn:nth-child(3),
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions .menu-dock-btn:nth-child(4) { top:108px !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions .menu-dock-btn:nth-child(3) { left:0 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions .menu-dock-btn > i {
  width:50px !important; height:50px !important; top:0 !important;
  clip-path:none !important; border-radius:12px 2px 12px 2px !important;
  border:1px solid rgba(var(--facility-rgb),.48) !important;
  background:linear-gradient(145deg,rgba(var(--facility-rgb),.1),rgba(3,12,24,.5)) !important;
  box-shadow:none !important; filter:none !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions .menu-dock-btn:nth-child(3) > i { border-radius:50% !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-side-actions .menu-dock-btn > strong {
  top:55px !important; min-width:0 !important; width:76px !important; max-width:76px !important;
  padding:0 !important; border:0 !important; background:transparent !important;
  font-size:11px !important; line-height:1.4 !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-hero-card {
  margin:24px auto 0 !important; width:100% !important; min-height:72px !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-hero-play {
  width:100% !important; height:72px !important; min-height:72px !important; max-height:72px !important;
  grid-template-columns:28px 1fr 28px !important; padding:0 20px !important;
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px) !important;
  background:linear-gradient(110deg,#4bb8ce,#b0f1eb 55%,#66cada) !important; animation:none !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-sortie-index {
  position:static !important; width:auto !important; height:auto !important; min-height:0 !important;
  padding:0 !important; background:transparent !important; color:#164456 !important; font-size:12px !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-sortie-copy { display:block !important; text-align:center !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-sortie-copy strong { font:900 26px/1.15 "Yu Gothic UI",sans-serif !important; color:#062b38 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-sortie-copy small { display:block; margin-top:5px; font:700 10px/1.2 "Bahnschrift",sans-serif !important; letter-spacing:.2em; color:#275b69 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-sortie-arrow { color:#123d4b !important; font-size:26px !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-tabbar { max-width:500px !important; padding:8px 4px calc(8px + env(safe-area-inset-bottom)) !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-tabbar__item { min-height:54px !important; gap:5px !important; font-size:10px !important; line-height:1.4 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-tabbar__item i { border:0 !important; width:26px !important; height:26px !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-tabbar__item svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; stroke-linecap:round; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-tabbar__item.is-active { color:#a0f0ef !important; background:linear-gradient(180deg,rgba(64,168,188,.14),transparent) !important; }

/* Constellation motifs live behind a readable content area. */
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck { min-height:0 !important; overflow:visible !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .rem-mode-grid-main,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .rem-mode-grid-sub {
  display:grid !important; grid-template-columns:1fr !important; gap:16px !important;
  border:0 !important; background:transparent !important; box-shadow:none !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .rem-mode-grid-main { margin-bottom:16px !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .menu-btn {
  position:relative !important; isolation:isolate; width:94% !important; height:auto !important;
  min-height:142px !important; max-height:none !important; margin:0 !important;
  padding:24px 18px 18px 82px !important; border-radius:0 !important; clip-path:none !important;
  text-align:left !important; align-items:stretch !important;
  border:0 !important; border-bottom:1px solid rgba(var(--mode-rgb),.4) !important;
  background:linear-gradient(110deg,rgba(var(--mode-rgb),.1),rgba(3,11,23,.8) 60%) !important;
  box-shadow:none !important; opacity:1 !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .btn-endless,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .btn-cosmo { margin-left:auto !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .menu-btn::before {
  content:attr(data-icon) !important; top:28px !important; left:14px !important; width:48px !important; height:48px !important;
  transform:none !important; border:1px solid rgba(var(--mode-rgb),.6) !important; font-size:17px !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .btn-genkyo::before { transform:rotate(45deg) !important; font-size:0 !important; box-shadow:inset 0 0 0 8px rgba(var(--mode-rgb),.07) !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .btn-cosmo::before { border-radius:50% !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .btn-abyss::before { clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%); background:rgba(var(--mode-rgb),.4) !important; font-size:0 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .menu-btn strong {
  font-size:17px !important; line-height:1.4 !important; text-align:left !important;
  white-space:normal !important; overflow-wrap:anywhere; max-width:none !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .menu-btn > span {
  white-space:normal !important; max-width:100% !important; font-size:12px !important;
  line-height:1.6 !important; color:#b9cbd4 !important; overflow:visible !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .menu-mode-meta,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .menu-abyss-unlock {
  position:static !important; height:auto !important; max-height:none !important; width:auto !important;
  margin:8px 0 0 !important; padding:0 !important; font-size:10px !important; line-height:1.6 !important;
  white-space:normal !important; overflow:visible !important; color:#9eacba !important; background:transparent !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .menu-abyss-unlock > * { white-space:normal !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-facility-deck .menu-btn,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-personnel-deck .menu-btn {
  height:auto !important; min-height:100px !important; max-height:none !important; padding:18px 12px 16px 46px !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-facility-deck .menu-btn strong,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-personnel-deck .menu-btn strong { white-space:normal !important; font-size:14px !important; line-height:1.5 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-facility-deck .menu-btn > span,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-personnel-deck .menu-btn > span { white-space:normal !important; font-size:11px !important; line-height:1.5 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-facility-deck .menu-btn.locked-item {
  opacity:.82 !important; border-style:dashed !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-facility-deck .menu-btn.locked-item > span { color:#bbc9d1 !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .menu-btn.locked-item::after {
  display:block !important; content:"LOCK" !important; position:absolute !important; top:9px !important; right:12px !important;
  font:700 10px/1.3 "Bahnschrift",sans-serif !important; color:#bdabb8 !important;
}
#title-screen.title-screen--premium:not(.active) *,
#title-screen.title-screen--premium:not(.active) *::before { animation-play-state:paused !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-btn:focus-visible,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-tabbar__item:focus-visible,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .menu-hero-play:focus-visible,
#title-screen.title-screen--premium .title-start-btn:focus-visible { outline:2px solid #e4ffff !important; outline-offset:3px !important; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-shell[data-home-tab="home"] .home-hangar-deck,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-shell[data-home-tab="end"] .home-operation-deck,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-shell[data-home-tab="develop"] .home-facility-deck,
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-shell[data-home-tab="profile"] .home-personnel-deck { animation:rem-deck-arrive .28s ease-out both; }
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul[data-design-pack]:not([data-design-pack="standard"]) .home-side-actions .menu-dock-btn > i {
  border-color:var(--pack-line) !important; color:var(--pack-text) !important;
  background:linear-gradient(145deg,var(--pack-panel-hi),var(--pack-bg)) !important;
}
#menu-screen.main-menu--premium.rem-menu-v3.home-overhaul[data-design-pack]:not([data-design-pack="standard"]) .menu-hero-play {
  background:linear-gradient(110deg,var(--pack-line),var(--pack-accent)) !important;
}
@keyframes rem-entry-drift { from{transform:translate3d(0,0,0)} to{transform:translate3d(2%,5%,0)} }
@keyframes rem-entry-breath { 0%,100%{opacity:.45} 50%{opacity:.8} }
@keyframes rem-entry-reveal { from{opacity:0;transform:translateY(12px) scale(.97)} to{opacity:1;transform:none} }
@keyframes rem-entry-meteor { 0%,65%{opacity:0;transform:translate(0,0) rotate(28deg)} 68%{opacity:.9} 79%,100%{opacity:0;transform:translate(130vw,38vh) rotate(28deg)} }
@keyframes rem-deck-arrive { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }
@media(max-width:380px) {
  #menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .rem-menu { padding-inline:12px !important; }
  #menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-tabbar__item { font-size:9px !important; }
  #menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-operation-deck .menu-btn { width:98% !important; }
}
@media(max-height:620px) {
  #menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-hangar-visual { height:290px !important; }
  #title-screen.title-screen--premium .neo-title-planet { top:80%; }
  #title-screen.title-screen--premium .title-bottom-ui { bottom:8% !important; }
}
@media(prefers-reduced-motion:reduce) {
  #title-screen.title-screen--premium *, #title-screen.title-screen--premium *::before,
  #menu-screen.main-menu--premium.rem-menu-v3.home-overhaul .home-shell [data-home-panel] {
    animation:none !important; transition:none !important;
  }
}
