:root {
  color-scheme:dark;
  --ink:#eaf1ff;
  --dim:#9dacc5;
  --border:rgba(196,219,255,.14);
  --glass:rgba(9,17,33,.82)
}
* {
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent
}
html,body {
  margin:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#080c14;
  color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif
}
button,input {
  font:inherit
}
button {
  cursor:pointer;
  touch-action:manipulation
}
#app {
  position:fixed;
  inset:0;
  overflow:hidden;
  background:#080c14
}
#space {
  display:block;
  width:100%;
  height:100%;
  touch-action:none;
  cursor:crosshair
}
#hud {
  position:absolute;
  inset:0;
  pointer-events:none
}
#hud::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:126px;
  background:linear-gradient(180deg,rgba(3,8,18,.75),transparent);
  pointer-events:none
}
.top {
  position:absolute;
  left:0;
  right:0;
  top:0;
  padding:calc(18px + env(safe-area-inset-top)) clamp(16px,3.4vw,40px) 0;
  display:flex;
  justify-content:space-between;
  align-items:start;
  gap:12px
}

.score {
  display:flex;
  gap:24px;
  align-items:start
}
.kicker {
  font-size:9px;
  letter-spacing:.16em;
  color:#829ab8;
  font-weight:700;
  margin-bottom:4px
}
.number {
  font-size:25px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
  line-height:1.1;
  display:inline-block;
  transform-origin:center bottom
}
.score-pop {
  animation:scoreBurst .28s cubic-bezier(.16,1.5,.5,1)
}
@keyframes scoreBurst {
  0% {
    transform:scale(1);
    filter:brightness(1)
  }
  38% {
    transform:scale(1.33);
    filter:brightness(1.5)
  }
  100% {
    transform:scale(1);
    filter:brightness(1)
  }
}
#recordBadge {
  position:absolute;
  left:clamp(16px,3.4vw,40px);
  top:calc(130px + env(safe-area-inset-top));
  font-size:10px;
  letter-spacing:.16em;
  font-weight:750;
  color:#ffe2a3;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .18s,transform .18s;
  pointer-events:none;
  text-shadow:0 0 14px rgba(255,207,120,.5)
}
#recordBadge.shown {
  opacity:1;
  transform:translateY(0)
}
#recordBadge {
  left:clamp(215px,51vw,680px);
  top:calc(128px + env(safe-area-inset-top))
}
.fuel-bar.refill {
  animation:refillGlow .34s ease-out
}
@keyframes refillGlow {
  0%,100% {
    box-shadow:none
  }
  38% {
    box-shadow:0 0 17px rgba(132,241,198,.8)
  }
}
.fuel-wrap {
  margin-top:13px;
  max-width:190px
}
.fuel-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:5px
}
.fuel-head .kicker {
  margin:0
}
.fuel-value {
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  color:#dce9fa;
  font-variant-numeric:tabular-nums
}
.fuel-bar {
  height:9px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(196,219,255,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)
}
#fuelFill {
  height:100%;
  width:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#82e9c8,#b7f1a5);
  transform-origin:left center;
  transition:transform .08s linear, background .16s linear
}
.overlay {
  position:absolute;
  inset:0;
  z-index:5;
  display:grid;
  place-items:center;
  padding:calc(24px + env(safe-area-inset-top)) 16px calc(25px + env(safe-area-inset-bottom));
  background:rgba(2,6,16,.36);
  backdrop-filter:blur(3px);
  pointer-events:auto
}
.overlay[hidden],.poster-overlay[hidden] {
  display:none!important
}
.panel {
  width:min(100%,390px);
  max-height:calc(100dvh - 50px);
  overflow-y:auto;
  border-radius:19px;
  border:1px solid rgba(196,219,255,.18);
  background:rgba(8,15,30,.92);
  box-shadow:0 24px 90px rgba(0,0,0,.4);
  padding:27px 24px 23px;
  text-align:center
}
.eyebrow {
  font-size:10px;
  letter-spacing:.24em;
  color:#8daacb;
  font-weight:650
}
.panel h1 {
  font-size:29px;
  line-height:1.2;
  letter-spacing:.16em;
  margin:13px 0 9px;
  font-weight:750
}
.panel p {
  font-size:13px;
  line-height:1.85;
  color:#b9c9df;
  margin:8px 0 19px
}
.field {
  display:flex;
  margin:0 0 9px;
  gap:8px
}
.field input {
  min-width:0;
  flex:1;
  border:1px solid rgba(174,206,245,.18);
  background:rgba(255,255,255,.05);
  border-radius:11px;
  color:#eff6ff;
  font-size:13px;
  padding:12px;
  text-align:center;
  letter-spacing:.1em;
  outline:none;
  text-transform:uppercase
}
.field input:focus {
  border-color:#91cfe3
}
.field input::placeholder {
  color:#8194b0;
  text-transform:none;
  letter-spacing:0
}

button.primary,button.secondary {
  width:100%;
  border-radius:11px;
  min-height:44px;
  border:1px solid transparent;
  font-size:13px;
  font-weight:650;
  letter-spacing:.03em;
  padding:10px 14px
}
button.primary {
  background:#e0effc;
  color:#132338
}
button.primary:active {
  background:#bcd5e8
}
button.secondary {
  color:#dbe8f5;
  background:rgba(255,255,255,.065);
  border-color:rgba(196,219,255,.15)
}
button.secondary:active {
  background:rgba(255,255,255,.12)
}
.button-stack {
  display:grid;
  gap:9px
}
#formError {
  min-height:16px;
  color:#ffaaa7;
  font-size:11px;
  margin-top:8px
}

.resultScore {
  font-size:12px;
  color:#c5d4e9;
  margin-bottom:20px
}
.resultScore strong {
  font-size:28px;
  color:#fff;
  font-weight:650;
  display:block;
  margin:4px 0
}

#notice {
  position:absolute;
  z-index:10;
  left:50%;
  bottom:calc(22px + env(safe-area-inset-bottom));
  transform:translateX(-50%);
  background:#d9eefe;
  color:#12304c;
  border-radius:999px;
  padding:7px 15px;
  font-size:11px;
  font-weight:650;
  pointer-events:none;
  opacity:0;
  transition:opacity .2s;
  white-space:nowrap
}
#notice.visible {
  opacity:1
}
.poster-overlay {
  position:absolute;
  z-index:20;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(2,7,17,.85);
  backdrop-filter:blur(12px);
  padding:16px;
  pointer-events:auto
}
.poster-card {
  width:min(92vw,370px);
  max-height:94dvh;
  display:flex;
  flex-direction:column;
  gap:10px
}

#posterCanvas {
  width:100%;
  height:auto;
  min-height:0;
  max-height:calc(94dvh - 112px);
  object-fit:contain;
  border:1px solid rgba(192,216,246,.2);
  border-radius:9px;
  background:#0a1222;
  box-shadow:0 16px 55px rgba(0,0,0,.4)
}
.poster-buttons {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px
}

#result .resultScore {
  margin-bottom:11px
}
#posterCanvas {
  aspect-ratio:4/5
}

.assist-hud {
  margin-top:12px;
  display:flex;
  gap:8px;
  align-items:center;
  font-size:9px;
  letter-spacing:.12em;
  font-weight:700;
  color:#a4b7d3;
  min-height:14px
}
.assist-hud[hidden] {
  display:none!important
}
.assist-lamp {
  height:7px;
  width:7px;
  border-radius:50%;
  background:#8dedc9;
  box-shadow:0 0 8px rgba(133,238,197,.5)
}
.assist-hud.used {
  color:#6d839f
}
.assist-hud.used .assist-lamp {
  background:#4a5c70;
  box-shadow:none
}
.assist-hud.ready {
  color:#bbfbe8
}
.assist-hud.ready .assist-lamp {
  background:#a3ffe1;
  box-shadow:0 0 13px rgba(133,238,197,.8)
}
@media(min-width:850px) {
  .top {
    padding-top:31px
  }
  
  .number {
    font-size:30px
  }
  .panel {
    width:410px
  }
  .overlay {
    background:rgba(2,6,16,.22)
  }
}
@media(max-height:640px) {
  .panel {
    padding:16px 19px
  }
  .panel h1 {
    font-size:23px;
    margin:8px
  }
  .panel p {
    margin:6px 0 12px
  }
  
  .resultScore {
    margin-bottom:9px
  }
}
@media(prefers-reduced-motion:reduce) {
  #app {
    scroll-behavior:auto
  }
}
.score {
  gap:clamp(16px,3.2vw,27px)
}
.number {
  font-size:clamp(21px,4.4vw,29px)
}

@media(max-width:400px) {
  .top {
    gap:6px;
    padding-inline:14px
  }
  .score {
    gap:16px
  }
  
  .fuel-wrap {
    max-width:175px
  }
}
.top {
  display:block;
  pointer-events:none;
  padding:calc(13px + env(safe-area-inset-top)) 0 0 clamp(14px,3.4vw,34px);
  width:min(280px,calc(100vw - 40px));
  right:auto;
  left:0
}

.hud-main {
  display:block;
  max-width:none;
  margin-top:11px
}
.hud-left {
  min-width:0
}
.score {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px
}
.discovered-row {
  display:flex;
  align-items:center;
  gap:10px
}

.stat-inline {
  display:flex;
  align-items:baseline;
  gap:10px
}
.stat-inline .number {
  font-size:25px;
  line-height:1.02
}
.fuel-wrap {
  display:block;
  margin-top:10px;
  margin-left:0;
  max-width:174px
}
.fuel-head {
  margin-bottom:4px
}
.fuel-head .kicker {
  margin:0
}
.fuel-value {
  font-size:10px
}
.fuel-bar {
  height:7px
}
.assist-hud {
  margin-top:8px;
  margin-left:0;
  font-size:8px;
  min-height:11px
}
#hud::before {
  height:195px
}
#recordBadge {
  left:clamp(15px,3.4vw,34px);
  top:calc(180px + env(safe-area-inset-top))
}

.ghost-hud {
  margin-top:11px;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:10px;
  letter-spacing:.05em;
  color:#f4c6e9;
  pointer-events:none
}
.ghost-hud[hidden],.ghost-result[hidden] {
  display:none!important
}
.ghost-chip {
  height:7px;
  width:7px;
  background:#f4a9df;
  border-radius:50%;
  box-shadow:0 0 9px #ec96d8
}
.ghost-hud .ghost-count {
  font-size:12px;
  color:#ffe5f7;
  font-weight:750;
  font-variant-numeric:tabular-nums
}
.ghost-hud button {
  pointer-events:auto;
  min-height:30px;
  margin-left:2px;
  padding:3px 9px;
  border:1px solid rgba(234,180,219,.25);
  border-radius:7px;
  background:rgba(10,18,37,.65);
  color:#d5accb;
  font-size:9px;
  letter-spacing:0
}
.ghost-hud.ended {
  color:#e7d5db
}
.ghost-hud.ended .ghost-chip {
  background:#e7a4a9;
  box-shadow:0 0 7px rgba(249,140,150,.45)
}
.ghost-lost-badge {
  display:inline-flex;
  align-items:center;
  padding:2px 6px;
  border:1px solid rgba(255,157,164,.65);
  border-radius:5px;
  background:rgba(105,24,40,.78);
  color:#ffd4d8;
  font-size:10px;
  font-weight:800;
  letter-spacing:.085em;
  line-height:1.2
}
.ghost-lost-badge[hidden] {
  display:none!important
}
.ghost-result {
  font-size:11px;
  color:#e6c3db;
  border:1px solid rgba(241,178,225,.18);
  background:rgba(231,147,205,.06);
  padding:9px 10px;
  border-radius:10px;
  margin:4px 0 13px;
  line-height:1.5
}
@media(max-width:400px) {
  .ghost-hud {
    margin-top:8px;
    font-size:9px;
    gap:6px
  }
  .ghost-hud button {
    padding:3px 7px
  }
}
@media(min-width:850px) {
  .top {
    padding-top:calc(23px + env(safe-area-inset-top));
    width:300px
  }
  .hud-main {
    margin-top:13px
  }
  .stat-inline .number {
    font-size:28px
  }
  
}
@media(max-width:400px) {
  .top {
    padding-left:14px;
    width:min(264px,calc(100vw - 26px))
  }
  .score {
    gap:7px
  }
  .discovered-row {
    gap:9px
  }
  .fuel-wrap,.assist-hud {
    margin-left:0
  }
  
  
  .stat-inline .number {
    font-size:24px
  }
  .stat-inline {
    gap:8px
  }
}
.top {
  width:min(272px,calc(100vw - 32px))
}
.hud-main {
  margin-top:13px
}
.score {
  gap:0
}
.discovered-row {
  gap:0
}
.stat-block .kicker {
  margin-bottom:5px;
  font-size:10px;
  letter-spacing:.14em
}
.stat-inline .number {
  font-size:34px;
  line-height:1.02
}
.stat-inline {
  gap:12px;
  align-items:baseline
}
.fuel-wrap {
  margin-top:17px;
  max-width:190px
}
.assist-hud {
  margin-top:9px
}
.ghost-hud {
  margin-top:12px;
  flex-wrap:wrap;
  row-gap:4px
}
#hud::before {
  height:185px
}
#recordBadge {
  left:clamp(170px,47vw,270px);
  top:calc(58px + env(safe-area-inset-top))
}
.result-score-main {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:8px 0 9px
}
.result-score-main>span {
  font-size:11px;
  letter-spacing:.17em;
  color:#9caec9;
  font-weight:700
}
.result-score-main>strong {
  font-size:52px;
  line-height:1.08;
  color:#f2f8ff;
  font-weight:750;
  font-variant-numeric:tabular-nums
}
.result-score-main>small {
  font-size:11px;
  color:#96afc8;
  letter-spacing:.08em
}

@media(max-width:400px) {
  .top {
    width:min(264px,calc(100vw - 26px))
  }
  .stat-inline .number {
    font-size:32px
  }
  .fuel-wrap {
    max-width:175px
  }
}
.rocket-custom {
  margin:0 0 15px;
  text-align:left;
  border:1px solid rgba(177,211,244,.16);
  background:rgba(151,197,240,.035);
  border-radius:12px;
  overflow:hidden
}
.rocket-custom summary {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:66px;
  padding:8px 12px;
  cursor:pointer;
  list-style:none;
  user-select:none;
  touch-action:manipulation
}
.rocket-custom summary::-webkit-details-marker {
  display:none
}
.rocket-custom summary:focus-visible {
  outline:2px solid #95dcd1;
  outline-offset:-3px
}
.rocket-custom-text {
  flex:1;
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0
}
.rocket-custom-text strong {
  font-size:12px;
  letter-spacing:.035em;
  color:#e4f2fc
}
.rocket-custom-text small {
  font-size:10px;
  color:#93abc6;
  line-height:1.35
}
#shipPreview {
  width:82px;
  height:46px;
  flex:none;
  border-radius:8px;
  background:rgba(11,23,42,.65)
}
.rocket-custom .skin-chevron {
  font-size:14px;
  color:#8da8c6;
  transform:rotate(0);
  transition:transform .18s
}
.rocket-custom[open] .skin-chevron {
  transform:rotate(180deg)
}
.skin-panel {
  border-top:1px solid rgba(179,212,246,.11);
  padding:12px 12px 14px
}
.skin-label {
  display:block;
  font-size:10px;
  font-weight:700;
  color:#a0bad6;
  margin:0 0 8px;
  letter-spacing:.05em
}
.skin-presets {
  display:flex;
  gap:7px;
  margin-bottom:12px;
  flex-wrap:wrap
}
.skin-preset {
  display:block;
  width:29px;
  height:29px;
  min-height:29px;
  padding:3px;
  border:2px solid transparent;
  border-radius:50%;
  background:transparent
}
.skin-preset span {
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(255,255,255,.17)
}
.skin-preset.active {
  border-color:#dafbea
}
.skin-shapes {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-bottom:12px
}
.skin-shape {
  border:1px solid rgba(195,218,244,.22);
  border-radius:8px;
  color:#a9bfd6;
  background:rgba(255,255,255,.04);
  min-height:44px;
  font-size:12px;
  padding:9px 4px;
  touch-action:manipulation;
  display:flex;
  align-items:center;
  justify-content:center
}
.skin-shape[hidden] { display:none }
.skin-shape-mystery {
  color:#718397;
  opacity:.65;
  pointer-events:none;
  cursor:default
}
.skin-mystery-name { white-space:nowrap; font-size:12px }
.skin-shape.active {
  border-color:#9ce8ce;
  background:rgba(106,209,174,.12);
  color:#e5fff5
}
.skin-colors {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px
}
.skin-color {
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
  font-size:10px;
  color:#b0c2d8;
  text-align:center
}
.skin-color input {
  display:block;
  width:100%;
  height:34px;
  min-width:0;
  padding:2px;
  border:1px solid rgba(195,218,244,.22);
  border-radius:7px;
  background:#17243a;
  cursor:pointer
}
.skin-reset {
  display:block;
  margin:11px 0 0 auto;
  border:0;
  background:none;
  color:#92a9c6;
  text-decoration:underline;
  font-size:10px;
  padding:5px
}
@media(max-height:650px) {
  .rocket-custom {
    margin-bottom:11px
  }
  .rocket-custom summary {
    min-height:57px
  }
}
.discovery-box {
  display:none;
  margin:9px 0 13px;
  padding:13px;
  border:1px solid rgba(146,231,202,.33);
  border-radius:12px;
  background:rgba(95,194,164,.07);
  text-align:left
}
.discovery-box.visible {
  display:block
}
.discovery-box .discovery-title {
  font-size:12px;
  color:#d9fcee;
  font-weight:750;
  margin-bottom:5px
}
.discovery-box .discovery-desc {
  font-size:10px;
  color:#adc8c1;
  line-height:1.6;
  margin-bottom:10px
}
.discovery-box label {
  display:block;
  font-size:10px;
  color:#b7dacf;
  margin-bottom:6px
}
.discovery-box input[type=text] {
  width:100%;
  height:41px;
  padding:9px 11px;
  border-radius:9px;
  border:1px solid rgba(171,225,210,.4);
  color:#f1fffa;
  background:#101f2a;
  font-size:13px;
  outline:none;
  margin-bottom:9px
}
.discovery-box button {
  font-size:11px;
  min-height:39px
}
.discovery-status {
  min-height:14px;
  color:#b2dccf;
  font-size:10px;
  margin-top:7px;
  line-height:1.5
}
.share-link-actions {
  margin-top:10px
}
.share-link-actions[hidden] {
  display:none!important
}
.share-link-actions input {
  font-size:10px!important;
  text-align:left!important;
  letter-spacing:0!important;
  margin-bottom:8px!important;
  cursor:text
}
.share-link-actions button {
  min-height:37px
}

#intro .panel {
  scrollbar-width:thin
}
@media(max-height:660px) {
  .discovery-box {
    padding:10px
  }
}
.cinematic-overlay {
  z-index:14;
  background:rgba(2,7,17,.70);
  backdrop-filter:blur(9px)
}

.invite-panel h2 {
  font-size:20px;
  letter-spacing:.08em;
  margin:17px 0 10px;
  color:#ecf7ff
}
.invite-panel p {
  font-size:12px;
  line-height:1.8;
  color:#afc8dc;
  margin:10px 0 20px
}

.invite-banner[hidden],.death-overlay[hidden] {
  display:none!important
}
.invite-panel {
  width:min(100%,360px)
}
.invite-mark {
  font-size:35px;
  color:#e9b6d8;
  text-shadow:0 0 20px rgba(237,183,223,.4);
  margin:14px auto 5px
}
.invite-options {
  display:grid;
  gap:9px;
  margin-top:21px
}
.invite-banner {
  border:1px solid rgba(230,171,215,.3);
  border-radius:10px;
  background:rgba(210,133,192,.09);
  color:#eacbe4;
  font-size:11px;
  padding:10px 12px;
  margin:9px 0;
  text-align:left;
  line-height:1.6
}
.death-overlay {
  position:absolute;
  inset:0;
  z-index:9;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(73,35,48,.10),rgba(2,5,13,.35) 74%)
}
.death-overlay span {
  font-size:22px;
  letter-spacing:.23em;
  font-weight:850;
  color:#ffe1d3;
  text-shadow:0 0 27px rgba(255,126,91,.7);
  animation:deathText .7s ease-out both
}
.death-overlay small {
  font-size:10px;
  letter-spacing:.12em;
  color:#d7aeb3;
  animation:deathText .6s .13s ease-out both
}
@keyframes deathText {
  0% {
    opacity:0;
    transform:scale(1.12)
  }
  30% {
    opacity:1
  }
  100% {
    opacity:1;
    transform:scale(1)
  }
}
#result .panel {
  max-height:calc(100dvh - 28px)
}
@media(prefers-reduced-motion:reduce) {
  .death-overlay span,.death-overlay small {
    animation:none
  }
}
.sector-name-field {
  margin:10px 0 13px;
  text-align:left
}
.sector-name-field label {
  display:block;
  font-size:11px;
  color:#b7d3e9;
  margin-bottom:7px
}
.sector-name-field input {
  display:block;
  width:100%;
  height:43px;
  padding:9px 11px;
  border-radius:9px;
  border:1px solid rgba(171,203,235,.35);
  background:#121f32;
  color:#f1f7ff;
  font-size:13px;
  outline:none
}
.sector-name-field input:focus {
  border-color:#9adacb
}
.sector-name-hint {
  font-size:10px!important;
  color:#8fa7bf!important;
  line-height:1.5!important;
  margin:7px 0 0!important
}

#endExplorationBtn {
  position:absolute;
  z-index:3;
  top:calc(15px + env(safe-area-inset-top));
  right:clamp(13px,3.4vw,36px);
  pointer-events:auto;
  min-height:37px;
  padding:8px 12px;
  border:1px solid rgba(193,211,233,.3);
  border-radius:10px;
  background:rgba(9,17,32,.8);
  color:#cddbed;
  font-size:10px;
  font-weight:650;
  letter-spacing:.035em;
  backdrop-filter:blur(8px)
}
#endExplorationBtn:active {
  background:rgba(65,85,115,.65)
}
#endExplorationBtn[hidden],#posterBtn[hidden],#sectorNameField[hidden] {
  display:none!important
}
.companion-panel {
  max-width:355px;
  padding:25px 23px 24px;
  border-color:rgba(240,171,217,.3);
  box-shadow:0 20px 80px rgba(0,0,0,.5),0 0 40px rgba(220,145,203,.06)
}
.companion-panel h2 {
  font-size:17px;
  font-weight:720;
  letter-spacing:.03em;
  margin:12px 0 10px
}
.companion-panel p {
  margin:11px 0 18px;
  font-size:12px;
  color:#d5c5dd;
  line-height:1.8
}

#endExplorationBtn {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
}
#endExplorationBtn span:first-child {
  font-size:17px;
  line-height:1;
}

.pause-overlay {
  z-index:16;
  background:rgba(2,7,19,.72);
  backdrop-filter:blur(9px);
}
.pause-panel {
  max-width:370px;
  text-align:center;
}
.pause-panel h2 {
  margin:10px 0 6px;
  font-size:23px;
  color:#f1f7ff;
}
.pause-lead {
  margin:0 0 20px;
  color:#a9bdd4;
  font-size:12px;
}
.pause-actions {
  display:grid;
  gap:9px;
  text-align:left;
}
.pause-actions button {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  min-height:66px;
  padding:12px 16px;
  text-align:left;
}
.pause-actions button strong {
  font-size:14px;
  font-weight:700;
}
.pause-actions button small {
  font-size:11px;
  font-weight:400;
  line-height:1.5;
  opacity:.8;
}

.discovery-box .sector-name-field { margin-bottom: 13px; }
.discovery-box .sector-name-hint { font-size: 10px; color: #a8c9d3; margin: -2px 0 8px; }

@keyframes signalIn { from {opacity:0; transform:translateY(-4px)} to {opacity:1; transform:none} }
@media (max-width: 440px) {
  
}

body.is-title #hud {
  opacity: 0;
  visibility: hidden;
}

#hud {
  transition: opacity .45s ease;
}

.title-overlay {
  background: transparent;
  backdrop-filter: none;
  padding: 0;
  z-index: 5;
  pointer-events: none;
  transition: opacity .38s ease, visibility .38s ease;
}

.title-panel {
  width: 100%;
  height: 100%;
  max-height: none;
  max-width: none;
  overflow: visible;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: calc(76px + env(safe-area-inset-top)) 18px calc(22px + env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
}

.title-heading {
  width: 100%;
  margin-top: 20px;
  text-align: center;
  pointer-events: none;
  text-shadow: 0 3px 24px #030a18;
}

.title-heading h1 {
  margin: 0 0 12px;
  font-size: clamp(30px, 7vw, 47px);
  letter-spacing: .15em;
}

.title-heading p {
  margin: 0;
  font-size: clamp(12px, 3vw, 15px);
  color: #d2e0ef;
}

.title-controls {
  margin-bottom: 5px;
  width: min(100%, 390px);
  pointer-events: auto;
  padding: 12px 14px 9px;
  border: 1px solid rgba(168,207,235,.15);
  border-radius: 18px;
  background: rgba(6, 14, 29, .76);
  box-shadow: 0 12px 48px rgba(0,0,0,.25);
  backdrop-filter: blur(12px);
}

.title-controls .button-stack {
  margin-top: 13px;
}
.title-controls #formError:empty {
  display: none;
}

.title-controls #startBtn {
  width: 100%;
}

.title-controls .rocket-custom {
  margin: 0;
}

.title-controls .rocket-custom[open] .skin-panel {
  max-height: min(43dvh, 360px);
  overflow-y: auto;
}

body.title-exiting .title-overlay {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media(max-height: 650px) {
  .title-panel {
    padding-top: calc(47px + env(safe-area-inset-top));
    padding-bottom: calc(18px + env(safe-area-inset-bottom));
  }
  .title-heading { margin-top: 9px; }
  .title-controls { margin-bottom: 4px; }
  .title-heading h1 {
    font-size: 27px;
    margin-bottom: 5px;
  }
  .title-controls {
    padding: 7px 10px 10px;
  }
}

@media(prefers-reduced-motion: reduce) {
  .title-overlay, #hud {
    transition: none;
  }
}

.rocket-custom[open] .skin-panel {
  position: relative;
}
.skin-confirm {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 12px;
  border: 0;
  border-radius: 9px;
  background: #d7edff;
  color: #11263b;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.skin-confirm:focus-visible {
  outline: 2px solid #a0e6ff;
  outline-offset: 3px;
}
@media(max-height: 520px) {
  .title-panel {
    padding-top: calc(23px + env(safe-area-inset-top));
    padding-bottom: calc(10px + env(safe-area-inset-bottom));
  }
  .title-heading { margin-top: 4px; }
  .title-controls { margin-bottom: 2px; }
  .title-heading h1 { font-size: 24px; margin-bottom: 3px; }
  .title-heading p { font-size: 11px; }
  .rocket-custom summary { min-height: 55px; padding: 5px 8px; }
  .title-controls .button-stack { margin-top: 8px; }
}

.rocket-custom-launch {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 66px;
  padding: 8px 12px;
  border: 1px solid rgba(177,211,244,.16);
  border-radius: 12px;
  background: rgba(151,197,240,.035);
  color: inherit;
  text-align: left;
}
.rocket-custom-launch .skin-chevron {
  font-size: 23px;
  line-height: 1;
  color: #8da8c6;
}
.rocket-custom-launch:focus-visible,
.rocket-modal-close:focus-visible {
  outline: 2px solid #95dcd1;
  outline-offset: 3px;
}
.rocket-modal {
  z-index: 25;
  background: rgba(2,8,19,.78);
  backdrop-filter: blur(8px);
}
.rocket-modal-panel {
  position: relative;
  width: min(100%, 420px);
  max-height: min(90dvh, 680px);
  overflow-y: auto;
  padding: 20px;
  text-align: left;
}
.rocket-modal-header {
  margin-bottom: 15px;
  padding: 4px 42px;
  text-align: center;
}
.rocket-modal-header h2 {
  font-size: 16px;
  letter-spacing: .04em;
  margin: 0;
  text-align: center;
}
.rocket-modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  border: 1px solid rgba(195,218,244,.22);
  border-radius: 8px;
  color: #dcecff;
  background: rgba(255,255,255,.04);
  width: 32px;
  height: 32px;
  font-size: 20px;
  line-height: 1;
}
.rocket-pilot-field[hidden] { display: none !important; }
.rocket-pilot-field {
  display: grid;
  gap: 7px;
  margin-bottom: 16px;
}
.rocket-pilot-field label { font-size: 12px; color: #c9ddea; }
.rocket-pilot-field input {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  border: 1px solid rgba(171,225,210,.4);
  border-radius: 9px;
  background: #101f2a;
  color: #f1fffa;
  padding: 10px 12px;
  font-size: 13px;
  outline: none;
}
.rocket-pilot-field input:focus { border-color: #9adacb; }
.rocket-pilot-field small { font-size: 10px; color: #9eb5c8; }
.rocket-preview-stage {
  position: relative;
  margin-bottom: 16px;
  border-radius: 12px;
  overflow: hidden;
}
#rocketModalPreview {
  display: block;
  width: 100%;
  height: auto;
  max-height: 150px;
  object-fit: contain;
}
.rocket-preview-loading {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 11px;
  background: rgba(9, 20, 37, .96);
  color: #d5eafa;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .035em;
}
.rocket-preview-loading[hidden],
.rocket-customizer-error[hidden] { display: none; }
.rocket-loading-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid rgba(163, 220, 238, .23);
  border-top-color: #9ce8ce;
  border-radius: 50%;
  animation: rocket-loading-spin .7s linear infinite;
}
@keyframes rocket-loading-spin { to { transform: rotate(360deg); } }
.rocket-customizer-error {
  margin: -5px 0 12px;
  color: #ffb7ad;
  font-size: 12px;
}
.rocket-modal button:disabled,
.rocket-modal input:disabled { cursor: wait; }
.rocket-modal button:disabled:not(.active) { opacity: .55; }
@media (prefers-reduced-motion: reduce) {
  .rocket-loading-spinner { animation-duration: 1.6s; }
}
.rocket-modal .skin-panel {
  border-top: 0;
  padding: 0;
}
#endExplorationBtn {
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  justify-content: center;
}
#endExplorationBtn span:first-child {
  font-size: 20px;
}
@media (max-height: 540px) {
  .rocket-modal-panel { max-height: 94dvh; }
  #rocketModalPreview { max-height: 90px; }
}

.result-quick-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 18px;
}
.result-quick-actions button { min-width: 0; }
.result-next-action { margin-top: 9px; }
#result .discovery-box { display: none !important; }
.mobile-color-palettes { display: none; }
@media (max-width: 700px), (pointer: coarse) {
  .skin-colors { display: none; }
  .mobile-color-palettes { display: grid; gap: 12px; margin: 10px 0 5px; }
  .mobile-color-row { display: grid; gap: 7px; }
  .mobile-color-title { color: #b0c2d8; font-size: 11px; }
  .mobile-color-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
  .mobile-color-swatch {
    width: 33px;
    height: 33px;
    min-width: 33px;
    border: 2px solid rgba(211,230,250,.3);
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    box-shadow: 0 0 0 1px rgba(0,0,0,.25) inset;
  }
  .mobile-color-swatch.active {
    border-color: #fff;
    outline: 2px solid #8bd7ee;
    outline-offset: 2px;
  }
}

.joint-hud-count { padding-left:15px; border-left:1px solid rgba(164,207,232,.2); }
.joint-hud-count .number { color:#94e3eb; }
#jointHudCount[hidden],#jointStartBtn[hidden],#publishDetails[hidden] { display:none!important; }
#hud .discovered-row { gap:15px; align-items:flex-start; }
#hud .top { width:min(330px,calc(100vw - 70px)); }
#hud .joint-hud-count .stat-inline .number { font-size:34px; }
#ghostHud { display:none!important; }
.joint-entry { position:relative; margin-top:2px; }

.joint-record-info { display:grid;gap:13px;margin:19px 0; padding:17px; border:1px solid rgba(162,205,228,.20);border-radius:12px; }
.joint-record-info>div { display:flex; justify-content:space-between;gap:12px;font-size:13px;color:#adc4d8; }
.joint-record-info strong { color:#e5f6ff; text-align:right; overflow-wrap:anywhere; }
.joint-record-info > div[hidden] { display:none!important; }

#result .publish-details { display:block; margin-top:15px; border-top:1px solid rgba(180,212,235,.18); padding-top:13px; }
.publish-details summary { cursor:pointer; font-size:12px; color:#a0d9e8; padding:9px 0; text-align:center; }
#result .publish-details .discovery-box { display:block!important; margin-top:10px; }
#result .publish-details .discovery-box[hidden] { display:none!important; }
@media(max-width:410px) { #hud .joint-hud-count .stat-inline .number { font-size:29px; } #hud .discovered-row {gap:11px;} .joint-hud-count {padding-left:10px;} }

#result #publishDetails[hidden] { display:none!important; }
#result #ghostResult:not([hidden]) { display:grid; }


#resultPersonalBest { display:none!important; }
#result .ghost-result { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;justify-items:stretch;text-align:center;padding:12px 8px;margin:0 0 15px; }
#result .ghost-result[hidden] { display:none!important; }
#result .joint-result-person { display:flex;flex-direction:column;min-width:0;gap:5px;align-items:center; }
#result .joint-result-person>span { font-size:12px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
#result .joint-result-person>strong { font-size:17px;color:#f4f8ff; }
#posterOverlay .poster-card { gap:8px; }

#result .ghost-result:not([hidden]) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#result .joint-result-person { overflow: hidden; }
#result .joint-result-person>strong { font-size: clamp(14px, 4vw, 18px); white-space: nowrap; }
#result.solo-result .result-quick-actions { grid-template-columns: 1fr; }
#result.solo-result #posterBtn { margin: 0; width: 100%; }
#result.solo-result .publish-details { margin-top: 15px; }

#hud .joint-hud-count .kicker { max-width: 116px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; letter-spacing: .045em; }
#posterOverlay .poster-card { gap: 10px; }

.joint-search-overlay {
  z-index: 20;
  background: rgba(2, 8, 19, .80);
  backdrop-filter: blur(12px);
}
.joint-search-panel {
  width: min(100%, 370px);
  padding: 29px 25px 25px;
  border: 1px solid rgba(129, 209, 226, .34);
  background: linear-gradient(160deg, rgba(13, 30, 47, .98), rgba(7, 14, 29, .98));
  box-shadow: 0 24px 85px rgba(0, 0, 0, .55), 0 0 45px rgba(78, 174, 198, .10);
}
.joint-search-panel .eyebrow {
  font-size: 9px;
  color: #87c9de;
  letter-spacing: .19em;
}
.joint-search-radar {
  position: relative;
  width: 168px;
  height: 168px;
  margin: 21px auto 17px;
  border: 1px solid rgba(130, 210, 228, .17);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(137, 222, 230, .13) 0 2px, transparent 3px),
    linear-gradient(90deg, transparent 49.7%, rgba(107, 194, 212, .09) 50%, transparent 50.3%),
    linear-gradient(0deg, transparent 49.7%, rgba(107, 194, 212, .09) 50%, transparent 50.3%),
    radial-gradient(circle, rgba(51, 129, 153, .14), rgba(5, 22, 37, .13) 68%, transparent 70%);
  box-shadow: 0 0 30px rgba(57, 156, 189, .10), inset 0 0 26px rgba(41, 130, 156, .11);
  overflow: hidden;
}
.joint-search-ring {
  position: absolute;
  inset: 27px;
  border-radius: 50%;
  border: 1px solid rgba(134, 210, 231, .15);
}
.joint-search-ring-inner { inset: 55px; border-color: rgba(134, 210, 231, .24); }
.joint-search-sweep {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: conic-gradient(from 10deg, transparent 0deg, transparent 275deg, rgba(81, 186, 208, .02) 292deg, rgba(90, 210, 229, .32) 355deg, transparent 360deg);
  animation: jointRadarSweep 2.8s linear infinite;
}
.joint-search-ping {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #9becf2;
  box-shadow: 0 0 7px #94e0eb, 0 0 17px rgba(130, 219, 234, .75);
  animation: jointRadarPing 1.8s ease-in-out infinite;
}
.joint-search-ping-a { top: 35px; right: 37px; }
.joint-search-ping-b { bottom: 38px; left: 25px; animation-delay: .9s; }
.joint-search-core {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}
.joint-search-core span {
  width: 3px;
  height: 14px;
  border-radius: 4px;
  background: #a2e6ee;
  box-shadow: 0 0 6px rgba(139, 225, 238, .45);
  animation: jointSignal 1s ease-in-out infinite alternate;
}
.joint-search-core span:nth-child(2),
.joint-search-core span:nth-child(4) { animation-delay: .22s; }
.joint-search-core span:nth-child(3) { animation-delay: .46s; }
.joint-search-core span:nth-child(5) { animation-delay: .66s; }
.joint-search-panel h2 { font-size: 21px; margin: 0 0 11px; letter-spacing: .05em; color: #e8f8ff; }
.joint-search-panel #jointSearchStatus { min-height: 21px; font-size: 13px; margin: 0; color: #b7e9ef; font-weight: 650; }
.joint-search-panel .joint-search-message { min-height: 38px; color: #91aac0; font-size: 11px; line-height: 1.7; margin: 12px 0 21px; }
.joint-search-actions { display: grid; gap: 9px; }
.joint-search-actions button { min-height: 43px; }
.joint-search-actions button[hidden] { display: none !important; }
.joint-search-panel.is-error .joint-search-radar { opacity: .42; }
.joint-search-panel.is-error .joint-search-sweep,
.joint-search-panel.is-error .joint-search-ping,
.joint-search-panel.is-error .joint-search-core span { animation-play-state: paused; }
.joint-search-panel.is-error #jointSearchStatus { color: #f1d0bc; }
@keyframes jointRadarSweep { to { transform: rotate(360deg); } }
@keyframes jointRadarPing { 0%, 100% { opacity: .2; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.2); } }
@keyframes jointSignal { from { height: 5px; opacity: .4; } to { height: 19px; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .joint-search-sweep, .joint-search-ping, .joint-search-core span { animation: none; }
}

.legendary-result[hidden] { display: none !important; }
.legendary-result {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 12px 16px;
  margin: 2px 0 16px;
  border: 1px solid rgba(240, 199, 115, .42);
  border-radius: 12px;
  background: radial-gradient(ellipse at 50% 0%, rgba(234, 186, 90, .19), rgba(154, 114, 46, .07) 75%);
  color: #f9dfab;
  text-align: center;
}
.legendary-result strong { font-size: 19px; letter-spacing: .14em; }
.legendary-result span { font-size: 11px; color: #dbcda9; }

.completion-overlay[hidden] { display: none !important; }
.completion-overlay { position:absolute; inset:0; z-index:11; display:flex; align-items:center; justify-content:center; pointer-events:none; overflow:hidden; background:rgba(4,9,20,.05); animation:completeDim 1.6s ease-in forwards; }
.completion-halo { position:absolute; width:min(96vw,480px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(240,248,255,.6) 0%,rgba(128,220,245,.27) 20%,rgba(118,183,234,.09) 49%,transparent 72%); filter:blur(15px); animation:completeBloom 1.6s ease-out both; }
.completion-copy { position:relative; display:flex; flex-direction:column; align-items:center; gap:12px; text-shadow:0 0 24px rgba(236,216,156,.65); animation:completeCopy 1.6s ease-in-out both; }
.completion-copy span { letter-spacing:.22em; font-size:10px; font-weight:750; color:#cceeff; }
.completion-copy strong { font-size:clamp(31px,7vw,45px); letter-spacing:.2em; color:#ffeab9; }
.completed-result .panel { animation:completePanel .7s ease-out both; }
@keyframes completeDim { 0%{background:rgba(4,9,20,0)} 42%{background:rgba(4,9,20,.18)} 100%{background:rgba(4,9,20,.82)} }
@keyframes completeBloom { 0%{opacity:0;transform:scale(.2)} 25%{opacity:1} 70%{opacity:.85;transform:scale(1.15)} 100%{opacity:0;transform:scale(1.65)} }
@keyframes completeCopy { 0%,20%{opacity:0;transform:translateY(13px)} 55%,85%{opacity:1;transform:translateY(0)} 100%{opacity:.95;transform:translateY(0)} }
@keyframes completePanel { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
@media (prefers-reduced-motion:reduce) { .completion-overlay,.completion-halo,.completion-copy,.completed-result .panel{animation:none!important;} .completion-overlay{background:rgba(4,9,20,.82)} }

 .fuel-wrap.energy-charged #fuelFill { background:linear-gradient(90deg,#b7ffe4,#e4ffbe); }
.fuel-wrap.energy-charged .fuel-value { color:#e8ffdb; }
.fuel-wrap.energy-charged .fuel-bar { position:relative; border-color:rgba(192,255,203,.36); box-shadow:0 0 7px rgba(159,255,167,.28),inset 0 0 0 1px rgba(255,255,255,.06); }
.fuel-wrap.energy-charged .fuel-bar::after { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.32),rgba(224,255,202,.08)); pointer-events:none; opacity:.24; animation:energyFuelGlow 2.4s ease-in-out infinite alternate; }
@keyframes energyFuelGlow { from { opacity:.16; } to { opacity:.62; } }
@media (prefers-reduced-motion:reduce) { .fuel-wrap.energy-charged .fuel-bar::after { animation:none; opacity:.32; } }
.fuel-wrap.overheat #fuelFill{background:linear-gradient(90deg,#fa966f,#ffcc79)}
.fuel-wrap.overheat .fuel-value{color:#ffbd8a}

html.orbit-booting #app { visibility: hidden !important; }
#bootScreen { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: radial-gradient(ellipse at 50% 41%, #152b45 0%, #091527 48%, #050b17 100%); color: #e8f6ff; opacity: 1; transition: opacity .35s ease, visibility .35s ease; }
html:not(.orbit-booting) #bootScreen { opacity: 0; visibility: hidden; pointer-events: none; }
#bootScreen .boot-content { display: flex; flex-direction: column; align-items: center; gap: 19px; padding: 28px; text-align: center; }
#bootScreen .boot-icon { width: 88px; height: 88px; border-radius: 22px; box-shadow: 0 0 38px rgba(72,157,196,.16); }
#bootStatus { min-height: 1.4em; font-size: 12px; letter-spacing: .08em; color: #9ebed3; }
#bootRetryBtn { border: 1px solid rgba(163,220,242,.38); border-radius: 10px; background: #203951; color: #e8f6ff; padding: 11px 20px; font: inherit; font-size: 13px; cursor: pointer; }

#result .discovery-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:10px;
  padding:11px 13px;
  background:rgba(95,194,164,.07);
  border:1px solid rgba(146,231,202,.33);
  border-radius:11px;
  color:#d9fcee;
  font-size:12px;
  font-weight:750;
  text-align:left;
  cursor:pointer;
}
#result .discovery-toggle[hidden] { display:none!important; }
#result .discovery-toggle:focus-visible { outline:2px solid #92e6f5;outline-offset:2px; }
#result .discovery-chevron { display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(146,231,202,.24);background:rgba(146,231,202,.08);color:#c6f7e6; }
#result .discovery-chevron svg { display:block;transition:transform .2s ease; }
#result .discovery-toggle[aria-expanded="true"] .discovery-chevron svg { transform:rotate(180deg); }
@media (prefers-reduced-motion:reduce) { #result .discovery-chevron svg { transition:none; } }

.simple-dialog-overlay { z-index: 35; background: rgba(2,7,19,.78); backdrop-filter: blur(8px); }
.simple-dialog-panel { max-width: 365px; padding: 26px 22px 22px; }
.simple-dialog-panel h2 { font-size: 20px; margin: 9px 0 12px; color: #eef8ff; line-height: 1.45; }
.simple-dialog-panel p { font-size: 12px; line-height: 1.8; color: #bcd2e4; margin: 9px 0 18px; }
#actionConfirmMessage { white-space: pre-line; line-height: 1.6; }
#actionConfirmMessage .action-confirm-warning { display: block; margin-top: 3px; }
.simple-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.simple-dialog-actions button { min-width: 0; min-height: 43px; font-size: 12px; }
.publish-confirm-record { border: 1px solid rgba(159,202,228,.24); border-radius: 12px; padding: 13px; margin: 13px 0; text-align: left; display: grid; gap: 10px; }
.publish-confirm-record>div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 11px; color: #a5bed5; }
.publish-confirm-record strong { font-size: 13px; color: #eaf6ff; overflow-wrap: anywhere; text-align: right; }
#publishConfirmWarning { text-align: left; }
.code-entry-help-line { display: block; }
#codeEntryOverlay .simple-dialog-actions { margin-top: 18px; }
.code-entry-label { display: block; color: #c1daea; font-size: 12px; font-weight: 650; margin: 13px 0 9px; text-align: left; }
#jointCodeInput { width: 100%; border: 1px solid rgba(154,200,234,.34); border-radius: 10px; background: rgba(240,250,255,.06); color: #f2fbff; padding: 13px 11px; font-size: 16px; letter-spacing: .07em; text-align: center; text-transform: uppercase; }
#jointCodeInput:focus { outline: 2px solid #77dce9; outline-offset: 1px; }
.simple-dialog-panel .code-entry-error { margin: 8px 0 12px; color: #ffd0b6; text-align: left; font-weight: 650; }
#codeEntryError[hidden] { display: none !important; }
#shareCodeInput { letter-spacing: .09em; text-align: center; }


.discovery-status { white-space: pre-line; }
.share-copy-field { position: relative; display: flex; align-items: center; width: 100%; }
.share-link-actions .share-copy-field input { width: 100%; min-width: 0; padding-right: 47px !important; margin-bottom: 0 !important; }
.share-link-actions .share-copy-field + .share-code-label { display: block; margin-top: 24px; }
.share-link-actions .share-copy-icon { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); width: 35px; height: 35px; min-height: 35px; padding: 7px; border: 0; background: transparent; border-radius: 8px; display: grid; place-items: center; color: #c5e9f5; cursor: pointer; }
.share-link-actions .share-copy-icon:focus-visible { outline: 2px solid #7dddf2; outline-offset: -2px; }
.share-link-actions .share-copy-icon:active { background: rgba(139,211,240,.16); }

#result .discovery-status { white-space: pre-line; }
#result .share-link-actions .share-copy-icon svg { display: block; pointer-events: none; }

.mode-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 3px; margin: 0 0 8px; background: rgba(15,29,47,.93); border: 1px solid rgba(165,206,237,.18); border-radius: 11px; }
.mode-switcher[hidden] { display:none !important; }
.mode-switcher button { min-height: 34px; border: 0; border-radius: 8px; background: transparent; color: #9fb3cd; font-size: 10px; font-weight: 750; letter-spacing: .085em; }
.mode-switcher button[aria-selected="true"] { background: #dfedf8; color: #13263c; box-shadow: 0 2px 12px rgba(0,0,0,.20); }
.mode-switcher button:focus-visible { outline: 2px solid #88cfe9; outline-offset: 2px; }
.distance-hud #scoreValue { font-size: clamp(26px, 6vw, 30px); letter-spacing: -.025em; }
#hud.distance-hud .distance-benchmark {
  position: static;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 100%;
  max-width: 190px;
  margin-top: 12px;
  overflow: visible;
  color: #9ddde8;
}
#hud.distance-hud .distance-benchmark[hidden] { display: none !important; }
#hud.distance-hud .distance-target-label {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.3;
  color: #9ddde8;
}
#hud.distance-hud .distance-target-value {
  font-size: 22px;
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -.015em;
  font-variant-numeric: tabular-nums;
  color: #eaf6ff;
}
#hud.distance-hud .fuel-wrap { margin-top: 14px; }
#hud.distance-hud::before { height: 235px; }
#unlockHudNotice[hidden], #unlockResultNotice[hidden], #rocketUnlockResultNotice[hidden], #routeGlowUnlockResultNotice[hidden] { display: none !important; }
.unlock-hud-notice {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin-top: 7px;
  pointer-events: none;
  color: #ffdc82;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .10em;
  line-height: 1.35;
  text-shadow: 0 0 11px rgba(255,191,73,.3);
}
.unlock-lamp {
  display: block;
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 1px;
  transform: rotate(45deg);
  background: #ffdc82;
  box-shadow: 0 0 7px rgba(255,191,73,.55);
}
.unlock-hud-notice.unlock-reveal { animation: unlock-arrival .8s cubic-bezier(.2,.8,.25,1); }
.unlock-hud-notice.unlock-reveal::before {
  content: '';
  position: absolute;
  inset: -8px -12px;
  z-index: -1;
  border-radius: 12px;
  background: radial-gradient(ellipse at 23% 50%, rgba(255,214,108,.35), rgba(255,214,108,0) 75%);
  pointer-events: none;
  animation: unlock-light-burst 1.1s ease-out both;
}
.unlock-hud-notice.unlock-reveal .unlock-lamp { animation: unlock-lamp-burst 1.1s ease-out; }
@keyframes unlock-arrival {
  0% { opacity: 0; transform: translateY(5px) scale(.96); }
  38% { opacity: 1; transform: translateY(0) scale(1.07); text-shadow: 0 0 19px rgba(255,221,131,.9); }
  100% { opacity: 1; transform: none; text-shadow: 0 0 11px rgba(255,191,73,.3); }
}
@keyframes unlock-light-burst {
  0% { opacity: 0; transform: scale(.65); }
  30% { opacity: 1; transform: scale(1.13); }
  100% { opacity: 0; transform: scale(1.35); }
}
@keyframes unlock-lamp-burst {
  0% { transform: rotate(45deg) scale(.4); box-shadow: 0 0 0 rgba(255,191,73,0); }
  35% { transform: rotate(45deg) scale(1.9); box-shadow: 0 0 16px rgba(255,224,143,1); }
  100% { transform: rotate(45deg) scale(1); box-shadow: 0 0 7px rgba(255,191,73,.55); }
}
@media (prefers-reduced-motion: reduce) {
  .unlock-hud-notice.unlock-reveal,
  .unlock-hud-notice.unlock-reveal::before,
  .unlock-hud-notice.unlock-reveal .unlock-lamp { animation: none; }
}
#result .unlock-result-notice {
  margin: 2px 0 13px;
  color: #ffdc82;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .025em;
  line-height: 1.65;
  text-shadow: 0 0 10px rgba(255,191,73,.16);
  white-space: pre-line;
}
#jointConfirmOverlay .companion-panel {
  border-color: rgba(102, 199, 226, .44);
  box-shadow: 0 20px 80px rgba(0,0,0,.5), 0 0 40px rgba(78, 192, 224, .10);
}
#jointConfirmOverlay .companion-panel .eyebrow { color: #8ed3e7; }
#jointConfirmOverlay .companion-panel p { color: #b9e1ea; }
#jointConfirmOverlay .joint-record-info { border-color: rgba(114, 207, 224, .25); }
#codeEntryHelp { white-space: pre-line; }

.mode-switcher.has-time { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mode-switcher #modeTimeBtn[hidden] { display: none !important; }
.mode-switcher #modeTimeBtn:disabled { color: #64758e; background: transparent; box-shadow: none; cursor: default; opacity: .72; }
#hud.time-hud #scoreValue { font-size: clamp(25px, 6vw, 30px); letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
#hud.time-hud #scoreValue.score-pop { animation:none; }
#hud.time-hud .time-current-distance { margin-top: 11px; }
#hud.time-hud .time-current-distance .distance-target-value { font-size: 19px; }
#hud.time-hud .distance-benchmark { position: static; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; margin-top: 10px; color: #9ddde8; }
#hud.time-hud .distance-benchmark[hidden] { display:none !important; }
#hud.time-hud .distance-target-label { color: #9ddde8; font-size: 9px; font-weight: 700; letter-spacing: .08em; line-height: 1.3; }
#hud.time-hud .distance-target-value { color: #eaf6ff; font-size: 18px; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
#hud.time-hud .fuel-wrap { margin-top: 13px; }
#hud.time-hud::before { height: 315px; }
#hud.time-hud .time-distance-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
  width: min(100%, 254px);
  margin-top: 12px;
}
#hud.time-hud .time-distance-pair > .distance-benchmark {
  width: auto;
  min-width: 0;
  max-width: none;
  margin-top: 0;
}
#hud.time-hud .time-distance-pair .distance-target-value {
  font-size: clamp(16px, 4.4vw, 19px);
  white-space: nowrap;
}


body.is-invitation-landing .title-controls #jointStartBtn,
body.is-invitation-landing .title-controls #modeSwitcher { display: none !important; }
body.is-invitation-landing .title-controls #startBtn {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.45;
  min-height: 46px;
}

#result .discovery-status.is-published,
#posterOverlay .discovery-status.is-published {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 13px;
  margin: 12px 0 8px;
  border: 1px solid #417f62;
  border-radius: 10px;
  background: #17392d;
  color: #d5fbe3;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}
#result .discovery-status.is-published::before,
#posterOverlay .discovery-status.is-published::before {
  content: '✓';
  display: grid;
  place-items: center;
  flex: none;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #b7ecd0;
  color: #153a2a;
  font-size: 12px;
  font-weight: 900;
}

#result .share-guide {
  margin: 2px 0 16px;
  color: #bdd6e4;
  font-size: 11px;
  line-height: 1.8;
  font-weight: 450;
  white-space: pre-line;
}
.mode-switcher button { position: relative; }
.mode-switcher .mode-new-badge,
.joint-entry .mode-new-badge {
  position: absolute;
  top: -7px;
  right: -2px;
  padding: 2px 4px;
  border-radius: 5px;
  background: #f2ce78;
  color: #1f2835;
  border: 1px solid #f8e5b2;
  font-size: 8px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: .015em;
  pointer-events: none;
  box-shadow: 0 1px 8px rgba(234,190,98,.17);
}
.mode-switcher .mode-new-badge[hidden],
.joint-entry .mode-new-badge[hidden] { display: none !important; }

.joint-hud-heading { display: flex; align-items: center; gap: 5px; max-width: 130px; }
#hud .joint-hud-heading .kicker { min-width: 0; max-width: 100%; }
.joint-lost-badge { flex: none; padding: 2px 4px; border: 1px solid rgba(255,157,164,.65); border-radius: 4px; background: rgba(105,24,40,.78); color: #ffd4d8; font-size: 9px; font-weight: 800; line-height: 1.1; letter-spacing: .04em; }
.joint-lost-badge[hidden] { display: none !important; }
#jointHudCount.ended .number { color: #e9a7ad; }

#result.result-input-guard .panel { pointer-events: none; }
#result.competition-result-screen { animation: competitionResultBackdrop .55s ease-out both; }
#result.competition-result-screen .panel { animation: completePanel .7s ease-out both; }
@keyframes competitionResultBackdrop {
  from { background: rgba(2,6,16,0); backdrop-filter: blur(0); }
  to { background: rgba(2,6,16,.36); backdrop-filter: blur(3px); }
}
@media (prefers-reduced-motion: reduce) {
  #result.competition-result-screen,
  #result.competition-result-screen .panel { animation: none !important; }
}
.title-heading .title-logo-heading {
  margin: 0 0 24px;
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
}
.title-logo-image {
  display: block;
  width: min(72vw, 280px);
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  transform: translateX(1%);
  filter:
    drop-shadow(0 0 5px rgba(255,255,255,.54))
    drop-shadow(0 0 15px rgba(247,251,255,.31))
    drop-shadow(0 0 26px rgba(221,240,255,.17));
}
@media (max-height: 650px) {
  .title-heading .title-logo-heading { margin-bottom: 15px; }
  .title-logo-image { width: min(70vw, 265px); }
}
@media (max-height: 520px) {
  .title-heading .title-logo-heading { margin-bottom: 11px; }
  .title-logo-image { width: min(68vw, 245px); }
}

#posterOverlay { padding: calc(4px + env(safe-area-inset-top)) 4px calc(4px + env(safe-area-inset-bottom)); }
#posterOverlay .poster-card {
  width: min(calc(100vw - 8px), 500px);
  max-height: calc(100dvh - 8px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  padding: 2px 2px 12px;
}
#posterOverlay #posterCanvas { flex: 0 0 auto; max-height: none; width: 100%; height: auto; }
#posterSaveOverlay { z-index: 40; }
#posterSaveOverlay .poster-save-dialog { width: min(100%, 375px); }
#posterSaveOverlay #posterSaveMessage { margin: 8px 0 16px; text-align: center; }
#posterSaveOverlay .poster-save-fallback[hidden] { display: none !important; }
#posterSaveOverlay .poster-save-fallback { display: grid; width: 100%; }
#posterSaveOverlay .poster-save-fallback img { display: block; width: 100%; max-height: 46dvh; object-fit: contain; border: 1px solid rgba(192,216,246,.2); border-radius: 9px; -webkit-touch-callout: default; -webkit-user-select: auto; user-select: auto; }
#posterOverlay #posterNamingHost:empty { display: none; }
#posterOverlay .publish-details { margin-top: 1px; }
#posterOverlay .publish-details[hidden] { display: none !important; }
#posterOverlay .discovery-box { display: block; margin: 9px 0 0; }
#posterOverlay .discovery-box[hidden] { display: none !important; }
#posterOverlay .discovery-toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 12px 13px; background: rgba(95,194,164,.07); border: 1px solid rgba(146,231,202,.33); border-radius: 11px; color: #d9fcee; font-size: 12px; font-weight: 750; text-align: left; cursor: pointer; }
#posterOverlay .discovery-toggle[hidden] { display: none!important; }
#posterOverlay .discovery-toggle:focus-visible { outline: 2px solid #92e6f5; outline-offset: 2px; }
#posterOverlay .discovery-chevron { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; border: 1px solid rgba(146,231,202,.24); background: rgba(146,231,202,.08); }
#posterOverlay .discovery-chevron svg { display: block; transition: transform .2s ease; }
#posterOverlay .discovery-toggle[aria-expanded="true"] .discovery-chevron svg { transform: rotate(180deg); }
#posterOverlay .publish-after-name[hidden] { display: none!important; }
#posterOverlay .publish-after-name { margin-top: 13px; padding-top: 12px; border-top: 1px solid rgba(171,225,210,.22); }
#posterOverlay .publish-after-name-lead { color: #b2dccf; font-size: 11px; line-height: 1.7; margin: 0 0 10px; }
#posterOverlay .discovery-box #confirmSectorNameBtn { width: 100%; }
#posterOverlay .discovery-status.is-success { color: #dcf9ed; }
#posterOverlay .discovery-box .publish-after-name button { width: 100%; }
#posterOverlay .share-link-actions input { width: 100%; }
@media (prefers-reduced-motion: reduce) { #posterOverlay .discovery-chevron svg { transition: none; } }

.sector-name-input-wrap { display: flex; align-items: stretch; width: 100%; border: 1px solid rgba(171,203,235,.35); border-radius: 9px; background: #121f32; overflow: hidden; }
.sector-name-field .sector-name-input-wrap input { flex: 1; min-width: 0; height: 43px; border: 0; border-radius: 0; background: transparent; }
.sector-name-input-wrap:focus-within { border-color: #9adacb; }
.sector-name-suffix { display: inline-flex; flex: 0 0 auto; align-items: center; padding: 0 12px; border-left: 1px solid rgba(171,203,235,.22); background: rgba(157,201,230,.07); color: #c6e5f5; font-size: 12px; font-weight: 750; white-space: nowrap; }

.pause-settings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0 0 18px; }
.pause-settings .pause-setting { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 45px; padding: 10px 13px; border: 1px solid rgba(168,205,231,.26); border-radius: 10px; background: rgba(20,43,67,.75); color: #d5e5f1; font-size: 12px; font-weight: 650; cursor: pointer; }
.pause-settings .pause-setting strong { display: inline-block; padding: 4px 8px; border-radius: 6px; background: rgba(174,207,229,.12); color: #aabed0; font-size: 11px; }
.pause-settings .pause-setting[aria-pressed="true"] strong { background: rgba(134,221,202,.18); color: #a5f3db; }
.pause-settings .pause-setting:focus-visible { outline: 2px solid #9de6f1; outline-offset: 2px; }
#jointStartBtn[hidden] { display: none !important; }
#posterOverlay .share-guide { margin: 2px 0 16px; color: #bdd6e4; font-size: 11px; line-height: 1.8; font-weight: 450; letter-spacing: normal; white-space: pre-line; }

.sector-discovery-overlay {
  position: absolute;
  inset: 0;
  z-index: 12;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(3, 9, 22, .82);
  backdrop-filter: blur(6px);
  pointer-events: auto;
}
.sector-discovery-overlay[hidden] { display: none !important; }
.sector-discovery-overlay.is-launching .sector-discovery-start {
  visibility: hidden;
}
.sector-discovery-overlay.is-revealing {
  opacity: 0;
  transition: opacity .32s ease;
  pointer-events: none;
}
.sector-discovery-content {
  width: min(90vw, 350px);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 19px;
  color: #f3f9ff;
}
.sector-discovery-kicker {
  color: #9ac7d9;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
}
.sector-discovery-title {
  font-size: clamp(19px, 5.3vw, 23px);
  line-height: 1.55;
  font-weight: 750;
}
.sector-discovery-caption {
  color: #c9dfed;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.85;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.sector-discovery-caption[hidden], .sector-discovery-signal[hidden], .sector-discovery-start[hidden] { display: none !important; }
.sector-discovery-signal {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 5px;
  height: 30px;
}
.sector-discovery-signal i {
  width: 3px;
  height: 16px;
  border-radius: 3px;
  background: #9ddce9;
  animation: sector-signal-pulse 1s ease-in-out infinite alternate;
}
.sector-discovery-signal i:nth-child(2) { animation-delay: .15s; }
.sector-discovery-signal i:nth-child(3) { animation-delay: .3s; }
.sector-discovery-signal i:nth-child(4) { animation-delay: .45s; }
@keyframes sector-signal-pulse {
  from { height: 5px; opacity: .4; }
  to { height: 26px; opacity: 1; }
}
.sector-discovery-start {
  width: min(100%, 270px);
  min-height: 48px;
  margin-top: 9px;
}
@media (prefers-reduced-motion:reduce) {
  .sector-discovery-signal i { animation: none; height: 16px; }
}


.home-install-entry {
  position: absolute;
  z-index: 6;
  top: calc(23px + env(safe-area-inset-top));
  right: clamp(18px, 5vw, 35px);
  width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(143,233,225,.65);
  border-radius: 12px;
  background: rgba(38,91,106,.35);
  box-shadow: 0 0 18px rgba(98,224,211,.20), inset 0 0 14px rgba(95,208,214,.10);
  color: #d9fff8;
  font-size: 28px;
  line-height: 1;
  font-weight: 400;
  text-shadow: 0 0 8px rgba(152,246,232,.7);
  backdrop-filter: blur(8px);
  pointer-events: auto;
  transition: border-color .18s, background .18s, transform .18s;
}
.home-install-entry:active { transform: scale(.94); background: rgba(57,117,125,.58); }
.home-install-entry:focus-visible, .home-install-panel button:focus-visible { outline: 2px solid #a8f7e6; outline-offset: 3px; }
#homeInstallEntry[hidden], #homeInstallOverlay[hidden], #homeInstallActionBtn[hidden] { display: none !important; }
.home-install-overlay {
  z-index: 40;
  background: rgba(2,9,22,.78);
  backdrop-filter: blur(9px);
}
.home-install-panel {
  position: relative;
  width: min(100%, 354px);
  padding: 26px 23px 22px;
  text-align: center;
  background: #101d32;
  border: 1px solid rgba(155,216,229,.25);
  box-shadow: 0 20px 65px rgba(0,0,0,.50);
}
.home-install-close {
  position: absolute;
  top: 9px;
  right: 10px;
  min-width: 32px;
  min-height: 32px;
  border: none;
  background: transparent;
  font-size: 24px;
  color: #bacbdf;
}
.home-install-symbol {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  margin: 4px auto 16px;
  color: #d7fff4;
  font-size: 32px;
  background: rgba(70,166,157,.22);
  border: 1px solid rgba(135,230,208,.48);
  box-shadow: 0 0 24px rgba(101,214,193,.15);
}
.home-install-panel h2 { margin: 0 0 12px; font-size: 19px; color: #effaff; }
.home-install-panel p { font-size: 12px; line-height: 1.8; color: #bed0e2; margin: 0 0 14px; }
.home-install-panel .home-install-instruction {
  color: #e2f4f6;
  padding: 13px 12px;
  background: rgba(130,204,212,.08);
  border: 1px solid rgba(140,212,227,.17);
  border-radius: 10px;
  white-space: pre-line;
  text-align: left;
}
.home-install-action { width: 100%; min-height: 44px; margin-top: 10px; }
.home-install-subactions { display: flex; justify-content: center; gap: 18px; margin-top: 19px; }
.home-install-subactions button { border: 0; background: transparent; color: #a6bfd0; text-decoration: underline; text-underline-offset: 3px; padding: 4px 2px; font-size: 11px; }
@media (max-height: 650px) { .home-install-entry { top: calc(16px + env(safe-area-inset-top)); } }

.companion-choices { display: grid; gap: 12px; margin-top: 20px; }
.pause-settings .pause-route-glow { grid-column: 1 / -1; }
.pause-settings .pause-setting[hidden] { display: none !important; }

#missionHud[hidden] { display: none !important; }
.mission-hud {
  display: flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: min(305px, calc(100vw - 55px));
  margin-top: 7px;
  pointer-events: none;
  color: #c6d0db;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .045em;
  line-height: 1.5;
  text-shadow: 0 0 9px rgba(190,210,230,.2);
}
.mission-hud .unlock-lamp {
  background: #bfcbd9;
  box-shadow: 0 0 6px rgba(190,208,229,.45);
}

.discovery-box #confirmSectorNameBtn:disabled { opacity: .45; cursor: not-allowed; }
#result .discovery-status:empty, #posterOverlay .discovery-status:empty { display: none; }

#strainHudNotice[hidden] { display: none !important; }
.strain-hud-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: min(305px, calc(100vw - 55px));
  margin-top: 7px;
  color: #ed9098;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .10em;
  pointer-events: none;
}
.strain-hud-notice .unlock-lamp {
  background: #e9737d;
  box-shadow: 0 0 7px rgba(237,99,111,.45);
}
.strain-hud-notice > span:last-child { min-width: 0; }
.strain-hud-notice.is-emphasized {
  color: #ffd0d4;
  text-shadow: 0 0 10px rgba(242,112,124,.6);
}
.strain-hud-notice.is-emphasized .unlock-lamp {
  background: #ffadb5;
  box-shadow: 0 0 11px rgba(255,123,136,.8);
}

.title-controls p.competition-mode-info{color:#afc6e1;text-align:center;font-size:12px;line-height:1.5;margin:12px 0 0}
body.is-competition-title .title-controls .button-stack{margin-top:8px}
.view-leaderboard{width:100%;margin-top:8px}
.leaderboard-overlay{z-index:130;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:5vh 12px;box-sizing:border-box}
.leaderboard-panel{position:relative;display:flex;flex-direction:column;gap:10px;width:min(520px,100%);max-height:90vh;overflow-y:auto;box-sizing:border-box}
.leaderboard-heading{display:flex;align-items:center;justify-content:center;min-height:34px}
.leaderboard-heading h2{font-size:19px;margin:0;padding:0 40px;color:#edf7ff;letter-spacing:.03em;text-align:center}
.leaderboard-heading button{flex-shrink:0}
.leaderboard-season{font-size:12px;color:#9fb5d1;margin:0}
.leaderboard-rows{display:grid;gap:10px;min-height:70px;color:#c4d3e7;font-size:12px}
.leaderboard-row{display:grid;grid-template-columns:26px 70px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:50px;border:1px solid rgba(140,176,212,.18);background:rgba(18,39,65,.85);border-radius:9px;padding:4px 10px}
.leaderboard-rank{color:#f0d697;text-align:center;font-size:14px}
.leaderboard-rocket{height:54px;width:70px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.leaderboard-rocket img{width:100%;height:100%;object-fit:contain}
.leaderboard-rocket img.leaderboard-upright{width:54px;height:70px;transform:rotate(-90deg) scale(.95)}
.leaderboard-pilot{color:#f0f5ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.leaderboard-value{font-size:12px;color:#d0e9ff;font-variant-numeric:tabular-nums;white-space:nowrap}

#leaderboardSeasonSelect{width:100%;margin:0;color:#dfeeff;background:#11243b;border:1px solid #34516c;border-radius:9px;padding:8px 12px;font-size:13px}
button.leaderboard-close{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:34px;height:34px;min-width:34px;padding:0;border:0;border-radius:50%;background:rgba(42,64,91,.32);color:#d5e2f4;font-size:17px;line-height:1;cursor:pointer}
button.leaderboard-close:hover,button.leaderboard-close:focus-visible{background:rgba(88,119,156,.5)}
.leaderboard-season[hidden]{display:none}
.leaderboard-rocket img.leaderboard-upright{transform:rotate(-90deg) scale(1.14)}

#result.competition-result-screen .result-quick-actions{grid-template-columns:minmax(0,1fr)}
#result.competition-result-screen .result-quick-actions #retryBtn{width:100%}
.competition-ranking-link{justify-self:center;width:auto;min-width:0;border:0;background:transparent;color:#a9ddeb;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:6px 10px}
.competition-ranking-link:hover,.competition-ranking-link:focus-visible{color:#e0f8ff}
.competition-ranking-link[hidden]{display:none!important}

.leaderboard-heading{padding-top:17px}
.leaderboard-row.is-self{border-color:rgba(255,215,114,.62);background:rgba(99,78,28,.2)}
.leaderboard-row.is-self .leaderboard-pilot{color:#ffe193;font-weight:800}
.leaderboard-row.is-outside{margin-top:8px;border-top:1px solid rgba(255,215,114,.58)}
.leaderboard-row.is-outside .leaderboard-rank{font-size:11px;color:#ffda80;white-space:nowrap}
#result.competition-result-screen .result-quick-actions{grid-template-columns:minmax(0,1fr);gap:10px}
#result.competition-result-screen .result-quick-actions #competitionRankingLink{width:100%;justify-self:stretch}
.competition-ranking-link{background:rgba(41,61,85,.82);color:#dfefff;font-size:14px;font-weight:650;border:1px solid rgba(155,188,223,.28);border-radius:9px;text-decoration:none;padding:12px}
.competition-ranking-link:hover,.competition-ranking-link:focus-visible{background:rgba(69,97,129,.8);color:#fff}
.result-heading-row{display:flex;align-items:center;justify-content:center;gap:9px;margin:12px 0 8px;min-width:0}
#result .result-heading-row h1{font-size:21px;margin:0;letter-spacing:.16em}

#result.competition-new-best .result-score-main>strong{color:#ffe4a0;text-shadow:0 0 12px rgba(255,210,103,.24)}

.competition-join-overlay{z-index:140;background:rgba(2,7,19,.8);backdrop-filter:blur(8px)}
.competition-join-panel{position:relative;max-width:380px;text-align:left;padding:29px 22px 23px}
.competition-join-panel h2{margin:0 0 18px;padding:0 32px;font-size:19px;text-align:center;line-height:1.5}
.competition-join-guide{margin:0 0 22px}
.competition-join-panel .competition-join-guide p{margin:0 0 5px;font-size:11px;line-height:1.65;color:#bcd2e4}
.competition-join-fields label{display:block;margin-bottom:6px;font-size:10px;color:#b7dacf}
.competition-join-fields input[type=text]{display:block;width:100%;height:41px;box-sizing:border-box;padding:9px 11px;border-radius:9px;border:1px solid rgba(171,225,210,.4);background:#101f2a;color:#f1fffa;font-size:13px;outline:none}
.competition-join-fields input[type=text]:focus{border-color:#9adacb}
.competition-join-status{min-height:15px;margin:7px 0 12px!important;font-size:10px!important;line-height:1.5!important;color:#b2dccf!important}
.competition-join-status.is-error{color:#ffb7ad!important}
.competition-join-fields .primary{width:100%;min-height:43px;font-size:13px}
.competition-join-close{position:absolute;right:12px;top:10px;display:grid;place-items:center;width:29px;height:29px;min-width:29px;padding:0;border:0;border-radius:50%;background:transparent;color:#c9dbed;font-size:17px;line-height:1;cursor:pointer}
.competition-join-close:hover,.competition-join-close:focus-visible{background:rgba(84,118,154,.27)}

.app-dismissable-panel { position: relative; padding-top: 52px; }
button.app-modal-close {
  position: absolute;
  top: 9px;
  right: 10px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #bacbdf;
  font: inherit;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
button.app-modal-close:hover { color: #effaff; background: transparent; }
button.app-modal-close:focus-visible { outline: 2px solid #a8f7e6; outline-offset: 2px; }
.app-dismissable-panel h2 { text-align: center; }
.app-dismissable-panel .leaderboard-heading { padding-top: 0; }
.app-dismissable-panel .rocket-modal-header { padding-top: 0; }
.app-dismissable-panel.competition-join-panel h2 { padding-inline: 0; }
