/* Orbital lift presentation only. No battle, progression or selection rules. */
#pa-lift,
#pa-lift-result {
  --panel: #101b28;
  --gold: #e8c578;
  --gold2: #f4dfac;
  --cyan: #73cabb;
  --purple: #ad95d3;
  --text: #e9edf1;
  --muted: #8fa4b7;
  font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
  color: #e9edf1;
  background: rgba(4, 10, 17, .88);
  padding: 20px;
  box-sizing: border-box;
}
#pa-lift *,
#pa-lift-result * { box-sizing: border-box; }
#pa-lift .pa240-slab,
#pa-lift-result .pa240-slab {
  background: transparent;
  clip-path: none;
  border: 0;
}
#pa-lift .pa240-slab::before,
#pa-lift-result .pa240-slab::before,
#pa-lift .pa240-corner,
#pa-lift-result .pa240-corner { display: none; }
#pa-lift button,
#pa-lift-result button { font-family: inherit; cursor: pointer; }
#pa-lift button:focus-visible,
#pa-lift-result button:focus-visible { outline: 2px solid #73cabb; outline-offset: 3px; }
#pa-lift .pa244-panel {
  width: min(1300px, 100%);
  height: min(790px, 100%);
  padding: 28px 32px 18px;
  background: radial-gradient(ellipse at 40% 0, rgba(115,202,187,.055), transparent 58%), #0b1521;
  border: 1px solid #293b4b;
  box-shadow: 0 32px 100px #0009;
  gap: 24px;
  overflow: hidden;
  animation: none;
  transform: none;
}
#pa-lift .pa244-panel .hd { flex: none; gap: 14px; padding: 0 0 22px; border-bottom: 1px solid #263644; }
#pa-lift .pa244-panel .hd h2 { white-space: nowrap; font: 600 28px/1.2 "Segoe UI", "Microsoft YaHei", sans-serif; letter-spacing: 2px; color: #e9edf1; }
#pa-lift .pa244-panel .hd .pa240-gem { width: 9px; height: 9px; flex: none; background: #e8c578; box-shadow: 0 0 18px #e8c57840; }
#pa-lift .pa244-panel .hd small { color: #8fa4b7; font: 500 11px/1.4 "Segoe UI", sans-serif; letter-spacing: 2px; }
#pa-lift .pa244-panel .hd .prog { gap: 24px; align-items: center; }
#pa-lift .pa244-panel .hd .prog div { padding: 0; gap: 8px; height: auto; font-size: 12px; color: #8fa4b7; }
#pa-lift .pa244-panel .hd .prog b { color: #d8e4ea; font-size: 15px; font-variant-numeric: tabular-nums; }
#pa-lift .pa244-panel .hd .x { width: 44px; height: 44px; flex: none; color: #b8c7d2; background: #142331; font-size: 20px; }
#pa-lift .pa244-panel .hd .x:hover { background: #223748; color: white; }
#pa-lift .pa244-body { display: grid; grid-template-columns: 182px minmax(0, 1fr) 286px; gap: 28px; min-height: 0; }
#pa-lift .pa244-body > * { min-width: 0; }

/* A continuous route, with one active floor rather than ten competing cards. */
#pa-lift .pa244-shaft { padding: 0 0 0 2px; overflow: hidden; }
#pa-lift .pa244-shaft::before { display: block; content: "登塔路线 / ROUTE"; position: static; inset: auto; flex: none; padding: 0 0 18px 12px; color: #8fa4b7; font: 600 11px/1.4 "Segoe UI", "Microsoft YaHei", sans-serif; letter-spacing: 1.5px; background: none; clip-path: none; }
#pa-lift .pa244-shaft .rail,
#pa-lift .pa244-shaft .gear,
#pa-lift .pa244-cabin { display: none; }
#pa-lift .pa244-floors { min-height: 0; padding: 0 0 0 12px; gap: 4px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #354d5b transparent; border-left: 1px solid #2b414d; }
#pa-lift .pa244-floor { flex: 0 0 48px; height: 48px; padding: 0 12px; gap: 9px; box-shadow: none; background: transparent; color: #a0b2be; font-size: 12px; border-bottom: 1px solid #1a2a36; }
#pa-lift .pa244-floor .num { color: #b8c7d2; width: 39px; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
#pa-lift .pa244-floor .ic { font-size: 12px; opacity: .75; }
#pa-lift .pa244-floor.done { background: transparent; color: #73cabb; box-shadow: none; }
#pa-lift .pa244-floor.done .num { color: #73cabb; }
#pa-lift .pa244-floor.locked { opacity: .58; }
#pa-lift .pa244-floor.boss .num { color: #d49a99; }
#pa-lift .pa244-floor.rec .num { color: #ad95d3; }
#pa-lift .pa244-floor.next { background: linear-gradient(90deg, #e8c57820, #e8c57809); border: 1px solid #e8c57860; border-left: 3px solid #e8c578; color: #f4dfac; box-shadow: none; }
#pa-lift .pa244-floor.next .num { color: #f4dfac; font-weight: 700; }

/* Current-floor focus and compact supporting information. */
#pa-lift .pa244-card { padding: 0; gap: 16px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #354d5b transparent; }
#pa-lift .pa244-card .fl { position: relative; isolation: isolate; flex: none; align-items: center; min-height: 142px; gap: 18px; padding: 18px 0 28px; border-bottom: 1px solid #34404a; }
#pa-lift .pa244-card .fl::after { content: ""; position: absolute; z-index: -1; inset: 0 0 0 45%; opacity: .6; background: linear-gradient(145deg, transparent 35%, #e8c57808 35% 38%, transparent 38% 56%, #e8c5780a 56% 68%, transparent 68%), linear-gradient(90deg, transparent, #e8c57807); pointer-events: none; }
#pa-lift .pa244-card .fl b { flex: none; color: #f4dfac; font: 600 clamp(54px, 5vw, 76px)/1 "Segoe UI", sans-serif; letter-spacing: -3px; text-shadow: none; }
#pa-lift .pa244-card .fl .z { color: #e9edf1; font-size: 22px; line-height: 1.45; font-weight: 600; }
#pa-lift .pa244-card .fl .ze { padding-top: 5px; color: #8fa4b7; font-size: 11px; letter-spacing: 2px; }
#pa-lift .pa244-card .type { position: absolute; top: 0; right: 0; margin: 0; padding: 4px 7px; color: #bfc9ce; background: #e8c5780f; border-bottom: 1px solid #e8c57850; font-size: 10px; letter-spacing: 1.5px; }
#pa-lift .pa244-card .type.boss { color: #eab8b3; background: #dc847114; border-color: #dc84716b; }
#pa-lift .pa244-card .type.rec { color: #c8b7e0; background: #ad95d31a; border-color: #ad95d360; }
#pa-lift .pa244-sec,
#pa-lift-result .pa244-sec { flex: none; font: 600 12px/1.4 "Segoe UI", "Microsoft YaHei", sans-serif; color: #8fa4b7; letter-spacing: 1px; gap: 16px; }
#pa-lift .pa244-sec::after,
#pa-lift-result .pa244-sec::after { background: #243442; height: 1px; }
#pa-lift .pa244-enemies { gap: 8px 18px; flex: none; }
#pa-lift .pa244-enemy { background: transparent; box-shadow: none; padding: 0; gap: 7px; color: #d3dee5; font-size: 13px; line-height: 1.5; }
#pa-lift .pa244-enemy i { height: 23px; width: 23px; box-shadow: none; background: #162736; color: #95adbf; font-size: 12px; }
#pa-lift .pa244-enemy.boss i { color: #e6aaa5; }
#pa-lift .pa244-enemy.elite i { color: #e8c578; }
#pa-lift .pa244-pw { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; flex: none; font-size: 13px; line-height: 1.6; }
#pa-lift .pa244-pw > span:first-child { grid-column: 1 / -1; }
#pa-lift .pa244-pw b { color: #e9edf1; font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; }
#pa-lift .pa244-pw .bar { width: 100%; height: 4px; align-self: center; background: #20303c; box-shadow: none; }
#pa-lift .pa244-pw .bar i { background: #73cabb; }
#pa-lift .pa244-pw .bar i.low { background: #cf927d; }
#pa-lift .pa244-pw > span:last-child { color: #73cabb; font-size: 12px; }
#pa-lift .pa244-rewards { gap: 9px 18px; flex: none; }
#pa-lift .pa244-reward { background: #162432; box-shadow: none; border-bottom: 1px solid #35434b; padding: 9px 10px; gap: 8px; color: #d6e0e7; font-size: 13px; }
#pa-lift .pa244-reward i { color: #e8c578; font-weight: 500; }
#pa-lift .pa244-mods { font-size: 12px; line-height: 1.75; color: #8fa4b7; }
#pa-lift .pa244-lore { padding: 16px; color: #bdc7d3; background: #ad95d30a; box-shadow: none; border-left: 2px solid #ad95d3; font-size: 14px; line-height: 1.9; }
#pa-lift .pa244-actions,
#pa-lift-result .pa244-actions { position: sticky; bottom: 0; flex: none; margin-top: auto; gap: 10px; padding-top: 18px; background: #0b1521; z-index: 3; }
#pa-lift .pa244-btn,
#pa-lift-result .pa244-btn { display: inline-flex; justify-content: center; min-height: 48px; height: auto; padding: 12px 18px; gap: 8px; color: #a9bdc9; background: #142432; border: 1px solid #2a4151; font-size: 14px; line-height: 1.4; font-weight: 600; letter-spacing: .5px; white-space: nowrap; }
#pa-lift .pa244-btn:hover,
#pa-lift-result .pa244-btn:hover { color: #e9edf1; border-color: #648492; background: #1b3140; }
#pa-lift .pa244-btn.gold,
#pa-lift-result .pa244-btn.gold { min-width: 154px; color: #15202a; border-color: #e8c578; background: #e8c578; font-weight: 700; }
#pa-lift .pa244-btn.gold:hover,
#pa-lift-result .pa244-btn.gold:hover { background: #f2d899; border-color: #f2d899; color: #111b25; }
#pa-lift .pa244-btn.purple { color: #e8e0f2; background: #554769; border-color: #8b78a7; }
#pa-lift .pa244-btn.dim { color: #758b9b; border-color: #243644; background: #111e2b; }

/* Formation rows stay reachable on small screens. */
#pa-lift .pa244-squad { display: flex; padding: 0 0 0 24px; border-left: 1px solid #293946; gap: 14px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #354d5b transparent; }
#pa-lift .pa244-slot { flex: none; width: 100%; height: auto; min-height: 77px; padding: 11px 0; gap: 12px; background: transparent; border-bottom: 1px solid #263744; }
#pa-lift .pa244-slot:hover { background: #142332; }
#pa-lift .pa244-slot .g { height: 40px; width: 40px; background: #152636; box-shadow: none; border-left: 2px solid var(--q, #8fa4b7); transform: none; font-size: 19px; font-weight: 500; }
#pa-lift .pa244-slot .g span { transform: none; }
#pa-lift .pa244-slot > div { min-width: 0; flex: 1; }
#pa-lift .pa244-slot .n { font: 600 14px/1.4 "Segoe UI", "Microsoft YaHei", sans-serif; max-width: none; color: #e9edf1; }
#pa-lift .pa244-slot .m { font-size: 11px; line-height: 1.6; letter-spacing: 0; color: #8fa4b7; margin-top: 4px; }
#pa-lift .pa244-slot .role { align-self: flex-start; margin: 0; padding-top: 2px; font-size: 11px; letter-spacing: 0; color: #c0ac80; white-space: nowrap; }
#pa-lift .pa244-squad .tp { flex: none; background: transparent; box-shadow: none; padding: 12px 0 0; font-size: 12px; }
#pa-lift .pa244-squad .tp b { color: #e8c578; font-size: 24px; font-weight: 500; font-variant-numeric: tabular-nums; }
#pa-lift .pa244-squad .hint { font-size: 12px; line-height: 1.8; color: #8fa4b7; }
#pa-lift .pa244-squad > .pa244-btn { flex: none; width: 100%; color: #73cabb; margin-top: auto; }
#pa-lift .pa244-foot { flex: none; padding: 14px 0 0; border-top: 1px solid #243541; color: #7f96a7; font: 400 11px/1.6 "Segoe UI", "Microsoft YaHei", sans-serif; letter-spacing: 0; text-align: left; }

/* Result follows the same hierarchy: outcome, rewards, next action. */
#pa-lift-result .pa244-result { width: min(660px, 100%); max-height: 100%; overflow-y: auto; padding: 36px; gap: 22px; background: #101b28; border: 1px solid #3b4851; border-top: 3px solid #e8c578; color: #e9edf1 !important; font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif !important; box-shadow: 0 32px 100px #000a; scrollbar-width: thin; }
#pa-lift-result .pa244-result h2 { flex: none; margin: 0; color: #f0d89f; font-size: 30px; font-weight: 600; line-height: 1.4; letter-spacing: 2px; }
#pa-lift-result .pa244-result .lines { flex: none; font-size: 14px; line-height: 1.95; color: #b8c9d7; }
#pa-lift-result .pa244-result .lines + .pa244-sec { padding-top: 4px; }
#pa-lift-result .pa244-result .pa244-sec + .lines { border-left: 2px solid #73cabb; padding-left: 18px; color: #e0e8ed; }
#pa-lift-result .pa244-actions { background: #101b28; margin-top: 0; padding-top: 12px; }
#pa-lift-result .pa244-actions .pa244-btn:last-child:first-child { color: #17222a; background: #e8c578; border-color: #e8c578; }

@media (max-width: 1120px) and (min-width: 641px) {
  #pa-lift { padding: 10px; }
  #pa-lift .pa244-panel { padding: 18px; gap: 18px; }
  #pa-lift .pa244-body { grid-template-columns: 128px minmax(0, 1fr) 224px; gap: 18px; }
  #pa-lift .pa244-panel .hd small { display: none; }
  #pa-lift .pa244-panel .hd .prog { gap: 14px; }
  #pa-lift .pa244-card .fl { min-height: 116px; gap: 12px; }
  #pa-lift .pa244-card .fl b { font-size: 58px; }
  #pa-lift .pa244-card .fl .z { font-size: 18px; }
  #pa-lift .pa244-card .fl .ze { font-size: 10px; letter-spacing: 1px; }
  #pa-lift .pa244-floor { padding: 0 6px; gap: 4px; }
  #pa-lift .pa244-floor .num { width: 35px; }
  #pa-lift .pa244-squad { padding-left: 16px; }
  #pa-lift .pa244-slot { gap: 8px; }
  #pa-lift .pa244-slot .g { width: 32px; height: 36px; }
  #pa-lift .pa244-slot .role { font-size: 10px; }
  #pa-lift .pa244-card .pa244-btn { min-width: 0; padding-inline: 12px; }
}
@media (max-height: 520px) and (min-width: 641px) {
  #pa-lift { padding: 6px; }
  #pa-lift .pa244-panel { padding: 12px 16px; gap: 12px; height: 100%; }
  #pa-lift .pa244-panel .hd { padding-bottom: 10px; gap: 10px; }
  #pa-lift .pa244-panel .hd h2 { font-size: 23px; }
  #pa-lift .pa244-panel .hd .x { width: 40px; height: 40px; }
  #pa-lift .pa244-body { grid-template-columns: 112px minmax(0, 1fr) 224px; gap: 18px; }
  #pa-lift .pa244-card { gap: 12px; padding-right: 6px; }
  #pa-lift .pa244-card .fl { min-height: 106px; padding: 28px 0 18px; }
  #pa-lift .pa244-card .fl b { font-size: 55px; }
  #pa-lift .pa244-shaft::before { padding-left: 5px; font-size: 10px; letter-spacing: .5px; }
  #pa-lift .pa244-floors { padding-left: 5px; }
  #pa-lift .pa244-floor { flex-basis: 43px; height: 43px; }
  #pa-lift .pa244-floor > span:nth-child(2) { font-size: 11px; }
  #pa-lift .pa244-floor .ic { display: none; }
  #pa-lift .pa244-slot { min-height: 68px; }
  #pa-lift .pa244-actions { padding-top: 10px; padding-bottom: 2px; gap: 8px; }
  #pa-lift .pa244-card .pa244-btn { min-height: 44px; font-size: 13px; padding: 10px 11px; }
  #pa-lift .pa244-foot { display: none; }
  #pa-lift-result { padding: 12px; }
  #pa-lift-result .pa244-result { padding: 22px 28px; gap: 12px; }
  #pa-lift-result .pa244-result h2 { font-size: 24px; }
}
@media (max-width: 640px) {
  #pa-lift { padding: 8px; }
  #pa-lift .pa244-panel { height: 100%; width: 100%; padding: 18px 16px 12px; gap: 18px; }
  #pa-lift .pa244-panel .hd { position: relative; flex-wrap: wrap; padding: 0 44px 16px 0; gap: 10px; }
  #pa-lift .pa244-panel .hd h2 { font-size: 23px; letter-spacing: 1px; }
  #pa-lift .pa244-panel .hd small { display: none; }
  #pa-lift .pa244-panel .hd .prog { width: 100%; margin: 2px 0 0; gap: 20px; }
  #pa-lift .pa244-panel .hd .prog div { font-size: 11px; gap: 5px; }
  #pa-lift .pa244-panel .hd .prog b { font-size: 14px; }
  #pa-lift .pa244-panel .hd .x { position: absolute; right: 0; top: -2px; }
  #pa-lift .pa244-body { display: flex; flex-direction: column; gap: 26px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #354d5b transparent; padding-right: 2px; }
  #pa-lift .pa244-shaft { flex: none; width: 100%; padding: 0; }
  #pa-lift .pa244-shaft::before { padding: 0 0 10px; font-size: 11px; }
  #pa-lift .pa244-floors { flex-direction: row; overflow-x: auto; overflow-y: hidden; gap: 6px; padding: 0 0 8px; border: 0; scroll-snap-type: x proximity; }
  #pa-lift .pa244-floor { flex: 0 0 62px; height: 70px; padding: 11px 6px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; border-bottom: 2px solid #283d49; scroll-snap-align: start; }
  #pa-lift .pa244-floor .num { width: auto; font-size: 17px; }
  #pa-lift .pa244-floor > span:nth-child(2) { font-size: 11px; }
  #pa-lift .pa244-floor .ic { display: none; }
  #pa-lift .pa244-floor.next { border: 1px solid #e8c57860; border-bottom: 3px solid #e8c578; }
  #pa-lift .pa244-card { flex: none; overflow: visible; width: 100%; gap: 15px; }
  #pa-lift .pa244-card .fl { min-height: 116px; gap: 18px; padding: 14px 0 24px; }
  #pa-lift .pa244-card .fl b { font-size: 62px; }
  #pa-lift .pa244-card .fl .z { font-size: 21px; }
  #pa-lift .pa244-card .fl .ze { font-size: 10px; letter-spacing: 1.5px; }
  #pa-lift .pa244-card .type { font-size: 9px; top: 0; }
  #pa-lift .pa244-enemies { gap: 8px 16px; }
  #pa-lift .pa244-enemy { font-size: 13px; }
  #pa-lift .pa244-pw { font-size: 12px; }
  #pa-lift .pa244-rewards { gap: 8px; }
  #pa-lift .pa244-reward { font-size: 12px; padding: 8px; }
  #pa-lift .pa244-actions { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-top: 8px; }
  #pa-lift .pa244-actions .gold,
  #pa-lift .pa244-actions .purple { grid-column: 1 / -1; min-height: 52px; width: 100%; font-size: 16px; }
  #pa-lift .pa244-btn { min-width: 0; min-height: 46px; font-size: 13px; }
  #pa-lift .pa244-squad { flex: none; width: 100%; border-left: 0; border-top: 1px solid #344351; padding: 22px 0 0; overflow: visible; gap: 10px; }
  #pa-lift .pa244-slot { min-height: 76px; }
  #pa-lift .pa244-slot .n { font-size: 15px; }
  #pa-lift .pa244-slot .m { font-size: 12px; }
  #pa-lift .pa244-slot .role { font-size: 12px; }
  #pa-lift .pa244-foot { display: none; }
  #pa-lift-result { padding: 12px; }
  #pa-lift-result .pa244-result { padding: 26px 22px; gap: 18px; }
  #pa-lift-result .pa244-result h2 { font-size: 26px; }
  #pa-lift-result .pa244-result .lines { font-size: 14px; }
  #pa-lift-result .pa244-actions { display: grid; grid-template-columns: 1fr; }
  #pa-lift-result .pa244-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  #pa-lift *, #pa-lift-result * { animation: none !important; transition: none !important; }
}
