/*
 * REMENATRY overhaul / phase 01
 * Entry sequence only: safety notice, intro, boot, title and loading overlay.
 * No rules in this file intentionally target gameplay or facility screens.
 */

:root {
  --entry-void: #02060b;
  --entry-space: #071321;
  --entry-panel: #0a1724;
  --entry-panel-solid: #0c1b2a;
  --entry-ink: #e5f4f5;
  --entry-muted: #7896a1;
  --entry-cyan: #62d9e8;
  --entry-cyan-hot: #b7f7f4;
  --entry-magenta: #ca537b;
  --entry-gold: #d9b66b;
  --entry-alert: #e17969;
  --entry-line: rgba(108, 195, 210, .34);
  --entry-display: "MS Gothic", "Yu Gothic UI", "Noto Sans Mono CJK JP", monospace;
  --entry-body: "Yu Gothic UI", "Meiryo", sans-serif;
}

/* The entry layers must never participate in another screen's layout. */
#title-screen:not(.active),
#splash-screen:not(.active) {
  display: none !important;
}

.cosmos-intro:not(.active) {
  display: none !important;
  pointer-events: none !important;
}

/* ---------- Safety protocol ---------- */
.cosmos-intro.warning-phase {
  background: var(--entry-void) !important;
}

.cosmos-intro.warning-phase .intro-warning {
  display: grid !important;
}

.intro-warning {
  box-sizing: border-box;
  width: 100%;
  min-height: 100%;
  padding:
    max(28px, env(safe-area-inset-top))
    clamp(20px, 7vw, 34px)
    max(24px, env(safe-area-inset-bottom));
  align-content: center;
  justify-items: stretch;
  gap: 0;
  overflow: hidden;
  color: var(--entry-ink);
  text-align: left;
  background:
    linear-gradient(90deg, rgba(225, 121, 105, .44) 0 2px, transparent 2px) 18px 50% / 2px min(66vh, 500px) no-repeat,
    linear-gradient(180deg, rgba(98, 217, 232, .12), transparent 28%) top / 100% 1px no-repeat,
    radial-gradient(circle at 88% 12%, rgba(98, 217, 232, .08), transparent 34%),
    linear-gradient(145deg, #091019 0%, #03070c 58%, #090b0e 100%) !important;
}

.intro-warning::before,
.intro-warning::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.intro-warning::before {
  inset: 12px;
  border: 1px solid rgba(105, 145, 154, .2);
  clip-path: polygon(0 0, 74px 0, 74px 1px, 100% 1px, 100% calc(100% - 26px), calc(100% - 26px) 100%, 0 100%);
}

.intro-warning::after {
  right: 16px;
  top: max(18px, env(safe-area-inset-top));
  width: 78px;
  height: 3px;
  background: linear-gradient(90deg, var(--entry-alert) 0 22px, transparent 22px 30px, rgba(98,217,232,.38) 30px 100%);
}

.entry-warning-mark {
  position: relative;
  width: 62px;
  height: 62px;
  margin: 0 0 22px;
  display: grid;
  place-items: center;
  color: #190b09;
  font: 900 30px/1 var(--entry-display);
  background: var(--entry-alert);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  filter: none;
  justify-self: center;
}

.entry-warning-mark span { transform: translateY(9px); }

.entry-warning-kicker {
  width: min(100%, 520px);
  justify-self: center;
  margin: 0 0 10px !important;
  color: var(--entry-alert) !important;
  font: 700 9px/1.2 var(--entry-display) !important;
  letter-spacing: .15em;
}

.intro-warning h2 {
  width: min(100%, 520px);
  min-width: 0;
  justify-self: center;
  margin: 0 !important;
  color: var(--entry-ink) !important;
  font: 800 clamp(22px, 7vw, 30px)/1.28 var(--entry-body) !important;
  letter-spacing: .06em !important;
  text-shadow: none !important;
}

.entry-warning-copy {
  box-sizing: border-box;
  width: min(100%, 520px);
  min-width: 0;
  max-width: 100%;
  justify-self: center;
  position: relative;
  margin-top: 24px;
  padding: 18px 0 18px 16px;
  border-left: 1px solid rgba(225, 121, 105, .65);
}

.intro-warning .entry-warning-copy p {
  width: 100%;
  min-width: 0;
  max-width: 100% !important;
  margin: 0 0 13px !important;
  color: #b8c9cd !important;
  font: 500 clamp(12px, 3.25vw, 14px)/1.9 var(--entry-body) !important;
  letter-spacing: .025em;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.intro-warning .entry-warning-copy p:last-child { margin-bottom: 0 !important; }

#intro-warning-ok {
  position: relative;
  width: 100%;
  max-width: 520px !important;
  min-width: 0;
  min-height: 56px;
  margin: 22px 0 0 !important;
  padding: 0 54px 0 20px !important;
  overflow: hidden;
  border: 1px solid rgba(225, 121, 105, .72) !important;
  border-radius: 0 !important;
  color: #f2eeee !important;
  background:
    linear-gradient(90deg, rgba(225,121,105,.2), transparent 55%),
    #10171e !important;
  box-shadow: inset 4px 0 var(--entry-alert), 0 8px 26px rgba(0,0,0,.3) !important;
  font: 800 14px/1 var(--entry-body) !important;
  letter-spacing: .08em;
  text-align: left;
  justify-self: center;
}

#intro-warning-ok::after {
  content: ">";
  position: absolute;
  right: 20px;
  top: 50%;
  color: var(--entry-alert);
  font: 700 20px/1 var(--entry-display);
  transform: translateY(-50%);
}

#intro-warning-ok:active { transform: translateY(1px) !important; }

.entry-warning-foot {
  width: min(100%, 520px);
  justify-self: center;
  margin: 13px 0 0 !important;
  color: #50646c !important;
  font: 700 8px/1.3 var(--entry-display) !important;
  letter-spacing: .14em;
}

/* ---------- COSMOS PROJECT flight ---------- */
.cosmos-intro {
  isolation: isolate;
  color: var(--entry-ink);
  background: var(--entry-void) !important;
}

.cosmos-intro .rem-intro-bg {
  background:
    linear-gradient(180deg, transparent 62%, rgba(3,9,14,.84)),
    radial-gradient(ellipse at 76% 32%, rgba(71,133,151,.2), transparent 26%),
    radial-gradient(ellipse at 22% 76%, rgba(128,48,82,.12), transparent 28%),
    linear-gradient(160deg, #071522 0%, #02060b 68%) !important;
}

.cosmos-intro .rem-intro-nebula {
  opacity: .42 !important;
  background:
    linear-gradient(118deg, transparent 30%, rgba(66,132,147,.08) 42%, transparent 56%),
    radial-gradient(ellipse at 72% 28%, rgba(98,217,232,.12), transparent 42%) !important;
}

.cosmos-intro .rem-intro-grid {
  inset: 42% -22% -20% !important;
  opacity: .14 !important;
  background:
    linear-gradient(rgba(92,160,172,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(92,160,172,.12) 1px, transparent 1px) !important;
  background-size: 40px 28px !important;
  transform: perspective(320px) rotateX(63deg) scale(1.25);
  transform-origin: center bottom;
}

.cosmos-intro .rem-intro-scanline { opacity: .035 !important; }

.entry-intro-destination {
  position: absolute;
  z-index: 4;
  right: -20vmin;
  top: 8vh;
  width: min(78vmin, 460px);
  aspect-ratio: 1;
  opacity: .72;
  transform: rotate(-18deg);
}

.entry-intro-orbit,
.entry-title-orbit {
  position: absolute;
  border: solid rgba(98, 217, 232, .25);
  border-width: 9px 1px 1px 9px;
  border-radius: 50%;
}

.entry-intro-orbit--outer { inset: 0; }
.entry-intro-orbit--inner { inset: 19%; border-color: rgba(202, 83, 123, .22); border-width: 1px 5px 5px 1px; }

.entry-intro-rift,
.entry-title-rift {
  position: absolute;
  left: 48%;
  top: 12%;
  width: 3px;
  height: 76%;
  background: linear-gradient(180deg, transparent, var(--entry-cyan-hot) 28%, #fff 52%, var(--entry-cyan) 73%, transparent);
  box-shadow: 0 0 12px rgba(98,217,232,.48);
  transform: rotate(12deg);
}

.entry-intro-route {
  position: absolute;
  z-index: 5;
  inset: 0;
  opacity: .38;
}

.entry-intro-route i {
  position: absolute;
  left: 7%;
  bottom: 18%;
  width: 38%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(98,217,232,.75), transparent);
  transform: rotate(-29deg) translateY(calc(var(--route-y, 0) * 1px));
}
.entry-intro-route i:nth-child(2) { --route-y: 18; width: 29%; opacity: .6; }
.entry-intro-route i:nth-child(3) { --route-y: -24; width: 48%; opacity: .35; }
.entry-intro-route i:nth-child(4) { --route-y: 42; width: 21%; opacity: .28; }

.cosmos-intro .rem-intro-brand {
  inset: auto 8% 12% 8% !important;
  display: block !important;
  text-align: left;
}

.cosmos-intro .rem-intro-brand-logo {
  position: relative;
  margin: 0;
  padding: 14px 0 0 15px;
  color: #dcebed;
  font: 800 clamp(20px, 7vw, 34px)/1.08 var(--entry-display) !important;
  letter-spacing: .12em;
  text-shadow: 2px 2px 0 #173541, 0 0 16px rgba(98,217,232,.22) !important;
}

.cosmos-intro .rem-intro-brand-logo::before {
  content: "ORBITAL DEVELOPMENT DIVISION";
  position: absolute;
  left: 16px;
  top: 0;
  color: var(--entry-cyan);
  font: 700 7px/1 var(--entry-display);
  letter-spacing: .18em;
}

.cosmos-intro .rem-intro-ship {
  left: 8vw !important;
  top: 70vh !important;
  width: 92px;
  height: 58px;
  z-index: 11;
  opacity: 0;
  animation: none !important;
  transform: translate3d(-120px, 70px, 0) rotate(-24deg) scale(.72);
  transform-origin: 52% 50%;
}

.cosmos-intro.launch .rem-intro-ship {
  animation: entryIntroFlight 1.72s cubic-bezier(.2,.58,.12,1) forwards !important;
}

.cosmos-intro .rem-intro-ship-core {
  filter: none !important;
  box-shadow: 0 0 0 1px #bde9ec, 0 0 12px rgba(98,217,232,.42) !important;
}

.cosmos-intro .rem-intro-ship-wing {
  filter: none !important;
  background:
    linear-gradient(#a8e4e9 0 0) 0 7px / 32px 2px no-repeat,
    linear-gradient(#16384a 0 0) 3px 3px / 24px 10px no-repeat !important;
}

.cosmos-intro .rem-intro-ship-trail {
  left: -146px;
  width: 142px;
  height: 4px;
  border-radius: 0;
  filter: none;
  background: linear-gradient(90deg, transparent, rgba(98,217,232,.16) 24%, var(--entry-cyan-hot)) !important;
  box-shadow: 0 0 7px rgba(98,217,232,.36);
}

.cosmos-intro .rem-intro-ship-thruster { filter: none !important; }

.cosmos-intro .rem-intro-warp i {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(183,247,244,.7), transparent) !important;
}

.cosmos-intro .rem-intro-skip-hint {
  left: 18px;
  bottom: calc(16px + env(safe-area-inset-bottom));
  transform: none;
  color: rgba(135,164,171,.72);
  font: 700 7px/1 var(--entry-display);
  letter-spacing: .16em;
}

.cosmos-intro .cosmos-intro-skip {
  right: 14px !important;
  bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  min-width: 64px;
  min-height: 36px !important;
  border: 1px solid rgba(98,217,232,.34) !important;
  border-radius: 0 !important;
  color: #9fc0c5 !important;
  background: rgba(4,12,18,.82) !important;
  box-shadow: inset 2px 0 var(--entry-cyan) !important;
  font: 700 8px/1 var(--entry-display) !important;
  letter-spacing: .12em;
}

@keyframes entryIntroFlight {
  0% { opacity: 0; transform: translate3d(-120px, 70px, 0) rotate(-24deg) scale(.72); }
  10% { opacity: 1; }
  58% { opacity: 1; transform: translate3d(44vw, -27vh, 0) rotate(-24deg) scale(1.05); }
  78% { opacity: 1; transform: translate3d(64vw, -43vh, 0) rotate(-25deg) scale(.88); }
  100% { opacity: 0; transform: translate3d(112vw, -78vh, 0) rotate(-25deg) scale(.38); }
}

/* ---------- Boot bridge ---------- */
#splash-screen {
  position: fixed !important;
  inset: 0;
  z-index: 1100;
  padding: max(20px, env(safe-area-inset-top)) 22px max(20px, env(safe-area-inset-bottom));
  overflow: hidden !important;
  color: var(--entry-ink);
  background:
    linear-gradient(90deg, rgba(98,217,232,.045) 1px, transparent 1px),
    linear-gradient(rgba(98,217,232,.035) 1px, transparent 1px),
    radial-gradient(circle at 50% 42%, rgba(58,124,140,.16), transparent 34%),
    var(--entry-void) !important;
  background-size: 48px 48px, 48px 48px, auto, auto !important;
}

#splash-screen .neo-splash-wrap {
  position: relative;
  width: min(100%, 440px);
  min-height: min(72vh, 560px);
  margin: auto;
  padding: clamp(26px, 7vh, 58px) 20px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 0 !important;
  border-left: 1px solid rgba(98,217,232,.34) !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(8,23,34,.78), transparent 92%) !important;
  box-shadow: none !important;
  text-align: left;
}

#splash-screen .neo-splash-wrap::before {
  content: "BOOT SEQUENCE / LOCAL";
  position: absolute;
  top: 0;
  left: 20px;
  color: var(--entry-cyan);
  font: 700 8px/1 var(--entry-display);
  letter-spacing: .16em;
}

.entry-boot-emblem {
  position: relative;
  width: 74px;
  height: 74px;
  margin-bottom: 24px;
  border: 1px solid rgba(98,217,232,.48);
  transform: rotate(45deg);
}

.entry-boot-emblem::before,
.entry-boot-emblem::after,
.entry-loading-emblem::before,
.entry-loading-emblem::after {
  content: "";
  position: absolute;
  inset: 13px;
  border: 1px solid rgba(98,217,232,.25);
}

.entry-boot-emblem::after,
.entry-loading-emblem::after {
  inset: 27px;
  border: 0;
  background: var(--entry-cyan);
  box-shadow: 0 0 12px rgba(98,217,232,.5);
}

.entry-boot-emblem i,
.entry-loading-emblem i {
  position: absolute;
  background: var(--entry-cyan);
}
.entry-boot-emblem i:nth-child(1), .entry-loading-emblem i:nth-child(1) { left: -8px; top: 35px; width: 16px; height: 2px; }
.entry-boot-emblem i:nth-child(2), .entry-loading-emblem i:nth-child(2) { right: -8px; top: 35px; width: 16px; height: 2px; }
.entry-boot-emblem i:nth-child(3), .entry-loading-emblem i:nth-child(3) { left: 35px; bottom: -8px; width: 2px; height: 16px; }

#splash-screen .splash-sub {
  margin: 0;
  color: var(--entry-muted);
  font: 700 8px/1.4 var(--entry-display);
  letter-spacing: .13em;
}

#splash-screen .splash-logo {
  margin: 8px 0 28px;
  color: var(--entry-ink);
  font: 900 clamp(27px, 9vw, 44px)/1 var(--entry-display);
  letter-spacing: .08em;
  text-shadow: 3px 3px 0 #183c48;
}

.entry-boot-readout { display: grid; gap: 9px; }
#splash-screen .neo-splash-line {
  margin: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  color: #91a9af;
  font: 700 8px/1.4 var(--entry-display);
  letter-spacing: .08em;
}
#splash-screen .neo-splash-line span { color: var(--entry-cyan); }

#splash-screen .splash-line {
  height: 8px;
  margin-top: 25px;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 3px;
  overflow: visible;
  background: transparent !important;
}
#splash-screen .splash-line i { background: rgba(98,217,232,.14); }
#splash-screen .splash-line i:nth-child(-n+5) { background: var(--entry-cyan); }
#splash-screen .splash-line i:nth-child(6) { animation: entryBootStep .8s steps(2,end) infinite; }
.entry-boot-state {
  margin: 10px 0 0;
  color: #526b73;
  font: 700 7px/1.2 var(--entry-display);
  letter-spacing: .13em;
}
@keyframes entryBootStep { 50% { background: var(--entry-cyan); } }

/* ---------- Title / fractured orbit ---------- */
#title-screen.title-screen--premium {
  position: fixed !important;
  inset: 0;
  z-index: 10;
  padding: 0 !important;
  overflow: hidden !important;
  isolation: isolate;
  color: var(--entry-ink);
  background: var(--entry-void) !important;
}

#title-screen.title-screen--premium .title-premium-wrap {
  box-sizing: border-box;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  padding:
    max(18px, env(safe-area-inset-top))
    clamp(18px, 5.5vw, 28px)
    max(14px, env(safe-area-inset-bottom)) !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(152px, 1fr) auto auto auto !important;
  gap: clamp(9px, 1.7vh, 16px) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(ellipse at 71% 50%, rgba(49,110,126,.18), transparent 34%),
    linear-gradient(162deg, #091725 0%, #03080e 59%, #071018 100%) !important;
  box-shadow: none !important;
}

#title-screen .title-premium-wrap::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none;
  opacity: .54;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(98,217,232,.08) 50%, transparent 50.2%),
    linear-gradient(180deg, transparent 78%, rgba(202,83,123,.07));
}

#title-screen .title-premium-wrap::after {
  content: "" !important;
  position: absolute !important;
  inset: 9px !important;
  z-index: 20 !important;
  width: auto !important;
  height: auto !important;
  border: 1px solid rgba(110,157,167,.17) !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  clip-path: polygon(0 0, 58px 0, 58px 1px, 100% 1px, 100% calc(100% - 34px), calc(100% - 34px) 100%, 0 100%);
  pointer-events: none;
}

#title-screen .neo-title-bg {
  z-index: 0;
  opacity: .68 !important;
  background:
    radial-gradient(circle at 12% 20%, rgba(219,242,244,.8) 0 1px, transparent 1.4px),
    radial-gradient(circle at 78% 13%, rgba(98,217,232,.7) 0 1px, transparent 1.4px),
    radial-gradient(circle at 67% 62%, rgba(219,242,244,.48) 0 1px, transparent 1.4px),
    radial-gradient(circle at 24% 74%, rgba(202,83,123,.5) 0 1px, transparent 1.4px) !important;
  background-size: 157px 173px, 193px 211px, 223px 247px, 269px 283px !important;
}

#title-screen .neo-title-nebula {
  z-index: 0;
  opacity: .4 !important;
  filter: none !important;
  background:
    radial-gradient(ellipse at 76% 40%, rgba(70,145,159,.2), transparent 34%),
    radial-gradient(ellipse at 24% 80%, rgba(113,33,66,.16), transparent 32%) !important;
}

#title-screen .neo-title-grid {
  display: block !important;
  z-index: 0;
  inset: 56% -28% -28% !important;
  opacity: .13 !important;
  background:
    linear-gradient(rgba(98,217,232,.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(98,217,232,.1) 1px, transparent 1px) !important;
  background-size: 42px 28px !important;
  transform: perspective(330px) rotateX(66deg) scale(1.3) !important;
  transform-origin: center bottom;
}

#title-screen .title-premium-vignette {
  z-index: 4;
  background: linear-gradient(180deg, rgba(1,4,7,.12), transparent 25%, transparent 70%, rgba(1,4,7,.72)) !important;
}
#title-screen .title-premium-noise,
#title-screen .title-premium-scanline { opacity: .025 !important; }
#title-screen .title-premium-hudframe,
#title-screen .title-premium-stars,
#title-screen .neo-title-stars,
#title-screen .neo-title-comets,
#title-screen .neo-title-planet,
#title-screen .title-hud-lines,
#title-screen .neo-divider,
#title-screen .neo-balance-card,
#title-screen .title-ops-banner { display: none !important; }

.entry-title-world {
  position: absolute;
  z-index: 1;
  inset: 20% -28% 19% 12%;
  pointer-events: none;
}

.entry-title-horizon {
  position: absolute;
  left: -22%;
  right: 0;
  bottom: 4%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(98,217,232,.52) 38%, rgba(202,83,123,.3) 72%, transparent);
  box-shadow: 0 -7px 24px rgba(98,217,232,.11);
  transform: rotate(-5deg);
}

.entry-title-orbit--a {
  right: -2%;
  top: 2%;
  width: 76%;
  aspect-ratio: 1;
  transform: rotate(-21deg);
  border-width: 14px 1px 1px 14px;
  border-color: rgba(98,217,232,.22);
  box-shadow: inset 4px 3px 0 rgba(4,15,22,.8), -4px -3px 0 rgba(98,217,232,.06);
}

.entry-title-orbit--b {
  right: 14%;
  top: 19%;
  width: 46%;
  aspect-ratio: 1;
  transform: rotate(48deg);
  border-width: 1px 7px 7px 1px;
  border-color: rgba(202,83,123,.19);
}

.entry-title-rift {
  left: 64%;
  top: 5%;
  height: 76%;
  opacity: .78;
  transform: rotate(13deg);
}

.entry-title-signal {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(98,217,232,.5), transparent);
}
.entry-title-signal--a { left: 0; top: 36%; width: 48%; transform: rotate(-7deg); }
.entry-title-signal--b { right: 5%; bottom: 14%; width: 32%; transform: rotate(11deg); }

#title-screen .neo-title-top,
#title-screen .neo-title-main,
#title-screen .title-ship,
#title-screen .neo-event-card,
#title-screen .title-news-ticker,
#title-screen .neo-title-actions {
  position: relative !important;
  inset: auto !important;
  z-index: 8 !important;
  transform: none !important;
}

#title-screen .neo-title-top {
  width: 100%;
  margin: 0 !important;
  padding: 0 0 10px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid rgba(98,217,232,.24);
  color: #749098 !important;
  font: 700 7px/1 var(--entry-display) !important;
  letter-spacing: .12em !important;
  text-align: left !important;
  white-space: nowrap;
}
#title-screen .neo-title-top span { color: var(--entry-cyan); }
#title-screen .neo-title-top b { display: inline !important; flex: 0 0 auto; color: #789199; font-weight: 700; }

#title-screen .neo-title-main {
  align-self: start !important;
  text-align: left !important;
}

#title-screen .neo-logo {
  position: relative;
  display: inline-block;
  margin: 0 !important;
  padding: 0 4px 5px 0;
  color: #e8f4f3 !important;
  font: 900 clamp(35px, 11vw, 56px)/.93 var(--entry-display) !important;
  letter-spacing: .035em !important;
  text-align: left !important;
  text-shadow:
    3px 0 0 #245164,
    3px 3px 0 #132f3d,
    0 0 18px rgba(98,217,232,.2) !important;
  -webkit-text-stroke: 0 !important;
}

#title-screen .neo-logo::before {
  content: "" !important;
  position: absolute;
  left: 0;
  right: 12%;
  bottom: 0;
  height: 2px;
  opacity: 1 !important;
  background: linear-gradient(90deg, var(--entry-cyan), rgba(98,217,232,.2) 68%, transparent) !important;
  clip-path: none !important;
  transform: none !important;
}
#title-screen .neo-logo::after { display: none !important; }

#title-screen .neo-logo-jp {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: max-content;
  max-width: 100%;
  transform: none !important;
  margin: 9px 0 0 !important;
  color: #b1c7ca !important;
  font: 800 12px/1 var(--entry-body) !important;
  letter-spacing: .22em !important;
}
#title-screen .neo-logo-jp::before { content: "[ "; color: var(--entry-cyan); }
#title-screen .neo-logo-jp::after { content: " ]"; color: var(--entry-cyan); }

#title-screen .neo-sub-en {
  margin: 12px 0 0 !important;
  color: var(--entry-cyan) !important;
  font: 700 8px/1.25 var(--entry-display) !important;
  letter-spacing: .13em !important;
}
#title-screen .neo-sub-jp {
  margin: 5px 0 0 !important;
  color: #6f898f !important;
  font: 600 10px/1.4 var(--entry-body) !important;
  letter-spacing: .05em;
}

#title-screen .title-ship {
  align-self: center !important;
  justify-self: center;
  width: 112px !important;
  height: 74px !important;
  margin: 0 !important;
  opacity: .98 !important;
  filter: none !important;
  transform: translate(-5%, 14%) scale(1.12) !important;
}
#title-screen .title-ship::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 54%;
  width: 180px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(98,217,232,.42), transparent);
  transform: translateX(-50%);
}
#title-screen .title-ship::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 70%;
  width: 78px;
  height: 18px;
  border: 1px solid rgba(98,217,232,.22);
  border-top-color: rgba(183,247,244,.5);
  transform: translateX(-50%) perspective(60px) rotateX(68deg);
}
#title-screen .title-ship-core {
  box-shadow: 0 0 0 1px #b6edf0, 0 0 16px rgba(98,217,232,.35) !important;
}
#title-screen .title-ship-wing { filter: none !important; }
#title-screen .title-ship-thruster { filter: none !important; opacity: .78; }

#title-screen .neo-event-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 13px 12px 16px !important;
  overflow: visible !important;
  border: 0 !important;
  border-left: 3px solid var(--entry-magenta) !important;
  border-radius: 0 !important;
  background:
    linear-gradient(90deg, rgba(202,83,123,.16), rgba(9,24,34,.86) 42%, rgba(9,24,34,.58)) !important;
  box-shadow: inset 0 1px rgba(202,83,123,.18) !important;
}
#title-screen .neo-event-label {
  margin: 0 !important;
  display: flex;
  justify-content: space-between;
  color: var(--entry-magenta) !important;
  font: 700 7px/1 var(--entry-display) !important;
  letter-spacing: .14em;
}
#title-screen .neo-event-label span { color: #7f5664; }
#title-screen .neo-event-text {
  margin: 0 !important;
  color: #aebfc2 !important;
  font: 600 10px/1.55 var(--entry-body) !important;
  letter-spacing: .02em;
}
#title-screen .neo-event-text b { color: #e5d4d9; font-weight: 800; }

#title-screen .title-news-ticker {
  display: flex !important;
  width: 100%;
  min-height: 30px;
  margin: 0 !important;
  padding: 0 9px !important;
  align-items: center;
  gap: 9px;
  overflow: hidden !important;
  border: 1px solid rgba(98,217,232,.18) !important;
  border-radius: 0 !important;
  background: rgba(3,11,17,.66) !important;
  box-shadow: none !important;
}
#title-screen .title-news-tag {
  flex: 0 0 auto;
  color: var(--entry-cyan) !important;
  font: 700 7px/1 var(--entry-display) !important;
  letter-spacing: .12em;
}
#title-screen .title-news-text {
  min-width: 0;
  overflow: hidden !important;
  color: #738c92 !important;
  font: 600 8px/1 var(--entry-body) !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  animation: none !important;
}

#title-screen .neo-title-actions {
  width: 100% !important;
  margin: 0 !important;
  align-self: end;
}

#title-screen #tap-start-btn {
  position: relative;
  width: 100% !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 0 16px 0 0 !important;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 24px;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(217,182,107,.72) !important;
  border-radius: 0 !important;
  color: #f2e9d6 !important;
  background:
    linear-gradient(100deg, rgba(217,182,107,.22), transparent 46%),
    #172027 !important;
  box-shadow: inset 4px 0 var(--entry-gold), 0 10px 22px rgba(0,0,0,.24) !important;
  text-align: left;
}
#title-screen #tap-start-btn::before {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 2px;
  background: var(--entry-gold);
  transition: right .25s ease;
}
#title-screen #tap-start-btn::after { display: none !important; }
#title-screen #tap-start-btn:hover::before,
#title-screen #tap-start-btn:focus-visible::before { right: 0; }
#title-screen #tap-start-btn:active { transform: translateY(1px) !important; }
.entry-start-index {
  display: grid;
  align-self: stretch;
  place-items: center;
  color: #463c28;
  background: var(--entry-gold);
  font: 900 10px/1 var(--entry-display);
}
.entry-start-copy { display: grid; gap: 5px; padding-left: 14px; }
.entry-start-copy b { font: 900 14px/1 var(--entry-display); letter-spacing: .11em; }
.entry-start-copy small { color: #9e9481; font: 600 9px/1 var(--entry-body); letter-spacing: .06em; }
.entry-start-arrow { color: var(--entry-gold); font: 400 30px/1 var(--entry-display); }

#title-screen .title-start-note {
  margin: 7px 0 0 !important;
  color: #6f858a !important;
  font: 600 9px/1.3 var(--entry-body) !important;
  text-align: left !important;
}
#title-screen .title-footer-row {
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: #4e666d !important;
  font: 700 7px/1 var(--entry-display) !important;
  letter-spacing: .1em;
}
#title-screen #title-update-btn {
  min-height: 30px !important;
  padding: 0 8px !important;
  color: #718e94 !important;
  font: 700 8px/1 var(--entry-body) !important;
  letter-spacing: .06em;
}

/* ---------- Shared loading ---------- */
.global-loading-overlay {
  isolation: isolate;
  background:
    linear-gradient(rgba(98,217,232,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(98,217,232,.035) 1px, transparent 1px),
    rgba(2,6,11,.94) !important;
  background-size: 36px 36px, 36px 36px, auto !important;
  backdrop-filter: none !important;
}

.global-loading-card {
  position: relative;
  width: min(82vw, 330px) !important;
  padding: 26px 22px 20px !important;
  border: 0 !important;
  border-left: 1px solid rgba(98,217,232,.5) !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(10,27,40,.94), rgba(5,13,20,.9)) !important;
  box-shadow: 14px 14px 0 rgba(0,0,0,.15) !important;
}

.global-loading-card::before {
  content: "SYSTEM TRANSIT";
  position: absolute;
  top: 9px;
  right: 12px;
  color: #456168;
  font: 700 6px/1 var(--entry-display);
  letter-spacing: .14em;
}

.entry-loading-emblem {
  position: relative;
  width: 38px;
  height: 38px;
  margin: 0 0 18px 7px;
  border: 1px solid rgba(98,217,232,.44);
  transform: rotate(45deg);
}
.entry-loading-emblem::before { inset: 7px; }
.entry-loading-emblem::after { inset: 15px; }
.entry-loading-emblem i:nth-child(1) { left: -5px; top: 18px; width: 10px; }
.entry-loading-emblem i:nth-child(2) { right: -5px; top: 18px; width: 10px; }
.entry-loading-emblem i:nth-child(3) { left: 18px; bottom: -5px; height: 10px; }

.global-loading-label {
  margin: 0 !important;
  color: #d8e9e9 !important;
  font: 900 13px/1 var(--entry-display) !important;
  letter-spacing: .14em !important;
  text-align: left !important;
  text-shadow: none !important;
}

.global-loading-bar {
  height: 7px !important;
  margin-top: 17px !important;
  padding: 1px;
  overflow: hidden;
  border: 1px solid rgba(98,217,232,.3) !important;
  background:
    repeating-linear-gradient(90deg, rgba(98,217,232,.1) 0 16px, transparent 16px 19px),
    #030a10 !important;
}

.global-loading-fill {
  width: 34% !important;
  background: linear-gradient(90deg, transparent, var(--entry-cyan), var(--entry-cyan-hot), transparent) !important;
  box-shadow: none !important;
  animation: entryLoadingSweep 1s cubic-bezier(.5,0,.5,1) infinite !important;
}

.global-loading-sub {
  margin: 10px 0 0 !important;
  color: #769097 !important;
  font: 600 10px/1.4 var(--entry-body) !important;
  text-align: left !important;
}
.entry-loading-code {
  margin: 15px 0 0;
  color: #3f5961;
  font: 700 7px/1 var(--entry-display);
  letter-spacing: .12em;
}
@keyframes entryLoadingSweep {
  from { transform: translateX(-125%); }
  to { transform: translateX(390%); }
}

@media (max-width: 370px) {
  .intro-warning { padding-inline: 20px; }
  .entry-warning-mark { width: 54px; height: 54px; margin-bottom: 17px; }
  .entry-warning-copy { margin-top: 18px; padding-block: 12px; }
  #intro-warning-ok { min-height: 52px; margin-top: 17px !important; }
  #title-screen.title-screen--premium .title-premium-wrap {
    padding-inline: 16px !important;
    gap: 8px !important;
  }
  #title-screen .neo-logo { font-size: clamp(32px, 10.5vw, 40px) !important; }
  #title-screen .neo-sub-jp { font-size: 9px !important; }
  #title-screen .neo-event-card { padding-block: 9px !important; }
  #title-screen #tap-start-btn { min-height: 58px !important; }
}

@media (max-height: 700px) and (orientation: portrait) {
  .intro-warning { padding-block: max(16px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-bottom)); }
  .entry-warning-mark { width: 46px; height: 46px; margin-bottom: 12px; font-size: 22px; }
  .entry-warning-mark span { transform: translateY(7px); }
  .entry-warning-kicker { margin-bottom: 6px !important; }
  .intro-warning h2 { font-size: 20px !important; }
  .entry-warning-copy { margin-top: 13px; padding-block: 8px; }
  .intro-warning .entry-warning-copy p { margin-bottom: 7px !important; font-size: 11px !important; line-height: 1.65 !important; }
  #intro-warning-ok { min-height: 48px; margin-top: 12px !important; }
  .entry-warning-foot { margin-top: 8px !important; }

  #title-screen.title-screen--premium .title-premium-wrap {
    grid-template-rows: auto auto minmax(96px, 1fr) auto auto auto !important;
    gap: 6px !important;
    padding-top: max(12px, env(safe-area-inset-top)) !important;
    padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
  }
  #title-screen .neo-logo { font-size: clamp(30px, 9.8vw, 40px) !important; }
  #title-screen .neo-logo-jp { margin-top: 6px !important; font-size: 10px !important; }
  #title-screen .neo-sub-en { margin-top: 7px !important; }
  #title-screen .neo-sub-jp { margin-top: 3px !important; font-size: 8px !important; }
  #title-screen .title-ship { transform: translate(-5%, 10%) scale(.88) !important; }
  #title-screen.title-screen--premium .neo-event-card {
    display: grid !important;
    padding: 8px 10px 8px 13px !important;
  }
  #title-screen .neo-event-label { display: flex !important; }
  #title-screen .neo-event-text { font-size: 9px !important; line-height: 1.35 !important; }
  #title-screen.title-screen--premium .title-news-ticker { display: none !important; }
  #title-screen #tap-start-btn { min-height: 54px !important; }
  .entry-start-copy small { display: none; }
  #title-screen .title-start-note { margin-top: 4px !important; }
  #title-screen .title-footer-row { margin-top: 4px !important; }
}

@media (orientation: landscape) and (max-height: 560px) {
  #title-screen.title-screen--premium .title-premium-wrap {
    max-width: 900px !important;
    grid-template-columns: minmax(250px, .9fr) minmax(280px, 1fr);
    grid-template-rows: auto 1fr auto auto !important;
    column-gap: 26px !important;
  }
  #title-screen .neo-title-top { grid-column: 1 / -1; }
  #title-screen .neo-title-main { grid-column: 1; grid-row: 2; }
  #title-screen .title-ship { grid-column: 2; grid-row: 2; }
  #title-screen .neo-event-card { grid-column: 1; grid-row: 3; }
  #title-screen .title-news-ticker { display: none !important; }
  #title-screen .neo-title-actions { grid-column: 2; grid-row: 3 / 5; align-self: end; }
}

@media (prefers-reduced-motion: reduce) {
  .cosmos-intro.launch .rem-intro-ship {
    animation: entryIntroFlightReduced .36s ease-out forwards !important;
  }
  #splash-screen .splash-line i,
  .global-loading-fill { animation: none !important; }
  .global-loading-fill { width: 68% !important; transform: none !important; }
}

@keyframes entryIntroFlightReduced {
  from { opacity: 0; transform: translate3d(5vw, 2vh, 0) rotate(-24deg) scale(.85); }
  to { opacity: 0; transform: translate3d(65vw, -38vh, 0) rotate(-24deg) scale(.55); }
}
