/* 发射台「部分撤离」双按钮 + ⚙ 撤离设置半屏面板（配套 js/partial-eject.js · 规格 docs/PARTIAL_EJECT_SPEC.md）
   沿用 2-38 已批准的金色切角按钮：固定高度，长金额单行省略，完整数字保留在 title / aria-label。 */
#actionSlot .pe-row { display: flex; gap: 8px; width: 100%; min-width: 0; align-items: stretch; }
#actionSlot .pe-row.pe-left { flex-direction: row-reverse; }
#actionSlot .pe-row > .pe-btn { flex: 1 1 0; width: auto; min-width: 0; padding: 8px 24px; }
#actionSlot .pe-row.pe-solo > .pe-btn { padding: 9px 34px; }
#actionSlot .pe-row .pe-btn::after { inset: 3px 14px; }
#actionSlot .pe-row .pe-btn .nova-launch-face { inset: 5px 16px; }
#actionSlot .pe-row .pe-btn .nova-launch-rail { width: 10px; left: 2px; }
#actionSlot .pe-row .pe-btn .nova-launch-rail.right { left: auto; right: 2px; }
#actionSlot .pe-row.pe-solo .pe-btn::after { inset: 3px 19px; }
#actionSlot .pe-row.pe-solo .pe-btn .nova-launch-face { inset: 5px 21px; }
#actionSlot .pe-row .pe-btn .btn-title-row { justify-content: center; font-size: 15px; font-weight: 900; }
#actionSlot .pe-row .pe-btn .sub { justify-content: center; display: flex; align-items: center; gap: 2px; font-size: 13px; font-weight: 800; }
#actionSlot .pe-row .pe-btn .sub .nova-launch-amount { font-family: var(--mono); }
#actionSlot .pe-row .pe-btn .btn-title-row .nova-launch-label { max-width: 100%; }
#actionSlot .pe-row .pe-btn .pe-plus { flex: none; }
#actionSlot .pe-row .pe-btn .pe-coin { width: 14px; height: 14px; flex: none; }

/* 小按钮：青色描边切角 */
#actionSlot .pe-row .pe-partial { color: #c9fffb !important; text-shadow: 0 0 6px rgba(45, 230, 220, .45) !important; }
#actionSlot .pe-row .pe-partial::after {
  background: linear-gradient(180deg, #8ffcf5 0%, #2fd5d0 48%, #0d8d93 100%);
  filter: drop-shadow(0 0 4px rgba(53, 232, 224, .55));
}
#actionSlot .pe-row .pe-partial .nova-launch-face {
  inset: 6px 17px;
  background: linear-gradient(175deg, #0f4a52 0%, #0a333b 52%, #072229 100%);
  box-shadow: inset 0 1px 2px rgba(160, 255, 250, .35), inset 0 -3px 6px rgba(0, 0, 0, .45);
}
#actionSlot .pe-row .pe-partial .sub { color: #a8fff7 !important; }
#actionSlot .pe-row .pe-partial .nova-launch-rail { border-color: #2aa8a6; background: repeating-linear-gradient(90deg, #1d8a89 0 3px, transparent 3px 6px); }
#actionSlot .pe-row .pe-partial:disabled:not(.pe-done) { opacity: .55; filter: saturate(.6); }
/* 已用过：灰色 + 绿色勾 */
#actionSlot .pe-row .pe-partial.pe-done { color: #aab3bf !important; text-shadow: none !important; opacity: 1; }
#actionSlot .pe-row .pe-partial.pe-done::after { background: linear-gradient(180deg, #8b94a1, #4b5360); filter: none; }
#actionSlot .pe-row .pe-partial.pe-done .nova-launch-face { background: linear-gradient(175deg, #353b45, #22272f); box-shadow: inset 0 1px 1px rgba(255,255,255,.12); }
#actionSlot .pe-row .pe-partial.pe-done .sub { color: #5ef0a5 !important; }
#actionSlot .pe-row .pe-partial.pe-done .nova-launch-rail { border-color: #626a76; background: repeating-linear-gradient(90deg, #4f5662 0 3px, transparent 3px 6px); }
#actionSlot .pe-row .pe-full:disabled { opacity: .7; }
#actionSlot .pe-legacy-row { margin-top: 6px; width: 100%; }
#actionSlot .pe-legacy-row button {
  width: 100%; min-height: 36px; border-radius: 9px; border: 1px solid rgba(148, 163, 184, .45);
  background: rgba(15, 23, 42, .85); color: #e2e8f0; font-weight: 800; font-size: 13px;
}
#actionSlot .pe-stack { display: flex; flex-direction: column; width: 100%; min-width: 0; }

/* 绿色到账提示 */
#chartPanel .pe-toast {
  position: absolute; left: 50%; bottom: 46px; transform: translateX(-50%); z-index: 30;
  display: inline-flex; align-items: center; gap: 6px; max-width: calc(100% - 24px);
  padding: 7px 14px; border-radius: 999px; pointer-events: none;
  background: rgba(6, 46, 30, .92); border: 1px solid rgba(52, 211, 153, .75);
  color: #d1fae5; font-weight: 800; font-size: 13px; white-space: nowrap;
  box-shadow: 0 0 16px rgba(16, 185, 129, .35);
  animation: peToastIn .22s ease-out, peToastOut .4s ease-in 2.4s forwards;
}
#chartPanel .pe-toast > span:last-child { overflow: hidden; text-overflow: ellipsis; }
#chartPanel .pe-toast .pe-toast-ok {
  display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%;
  background: #10b981; color: #022c22; font-size: 12px; flex: none;
}
#chartPanel .pe-toast .pe-coin { width: 15px; height: 15px; vertical-align: -3px; }
@keyframes peToastIn { from { opacity: 0; transform: translate(-50%, 8px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes peToastOut { to { opacity: 0; transform: translate(-50%, -6px); } }

/* 设置入口标签 */
#lpEjectSetTabBtn .pe-gear { margin-right: 3px; }

/* ⚙ 撤离设置半屏面板 */
.pe-sheet-overlay {
  position: fixed; inset: 0; z-index: 9000; display: none; align-items: flex-end; justify-content: center;
  background: rgba(2, 6, 18, .55); overscroll-behavior: contain;
}
.pe-sheet-overlay.show { display: flex; animation: peFade .18s ease-out; }
.pe-sheet {
  width: min(520px, 100%); max-height: 88vh; overflow-y: auto; box-sizing: border-box;
  padding: 14px 16px calc(16px + env(safe-area-inset-bottom, 0px));
  border-radius: 18px 18px 0 0; border: 1px solid rgba(214, 170, 80, .55); border-bottom: 0;
  background: linear-gradient(180deg, #17213a 0%, #0d1426 100%); color: #e6edf8;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, .55); animation: peSlide .22s ease-out;
}
.pe-sheet-head { position: relative; display: flex; align-items: center; justify-content: center; min-height: 32px; margin-bottom: 8px; }
.pe-sheet-head b { font-size: 17px; font-weight: 900; color: #f5f0e1; }
.pe-sheet .pe-x {
  position: absolute; right: 0; top: 0; width: 32px; height: 32px; border-radius: 50%;
  border: 0; background: transparent; color: #9fb1cc; font-size: 18px; cursor: pointer;
}
.pe-sec-lbl { margin: 10px 0 8px; font-size: 13px; font-weight: 800; color: #b9c6dc; }
.pe-presets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.pe-chip, .pe-seg-btn {
  min-height: 36px; padding: 4px 6px; border-radius: 999px; cursor: pointer; font-weight: 800; font-size: 14px;
  border: 1px solid rgba(148, 163, 184, .35); background: rgba(8, 13, 28, .9); color: #d7e0ee;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pe-chip.active, .pe-seg-btn.active {
  border-color: #f2c14e; color: #ffe39a; background: linear-gradient(180deg, rgba(120, 86, 20, .55), rgba(60, 42, 10, .6));
  box-shadow: 0 0 10px rgba(242, 193, 78, .3);
}
.pe-chip:disabled { opacity: .45; cursor: not-allowed; }
.pe-slider-wrap { position: relative; margin: 30px 4px 4px; --pe-fill: 50%; }
.pe-slider-val {
  position: absolute; top: -26px; transform: translateX(-50%); padding: 1px 7px; border-radius: 6px;
  background: #3b2d0c; border: 1px solid #c99a2e; color: #ffe39a; font: 800 12px/18px var(--mono, monospace); pointer-events: none;
}
.pe-slider-wrap input[type="range"] {
  -webkit-appearance: none; appearance: none; width: 100%; height: 6px; margin: 6px 0; border-radius: 3px; outline: none;
  background: linear-gradient(90deg, #f2c14e 0, #f2c14e var(--pe-fill), #2a3550 var(--pe-fill), #2a3550 100%);
}
.pe-slider-wrap input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fff4c2, #f2b928 60%, #a8730f); border: 2px solid #fff3c4; box-shadow: 0 0 8px rgba(242, 193, 78, .6);
}
.pe-slider-wrap input[type="range"]::-moz-range-thumb {
  width: 20px; height: 20px; border-radius: 50%; background: #f2b928; border: 2px solid #fff3c4;
}
.pe-slider-wrap input[type="range"]:disabled { opacity: .45; }
.pe-ticks { display: flex; justify-content: space-between; font: 600 10.5px/1 var(--mono, monospace); color: #8090aa; margin: 4px -6px 0; }
.pe-note { margin: 8px 0 4px; text-align: center; font-size: 12px; color: #8ea0bb; }
.pe-note.locked { color: #fbbf24; font-weight: 800; }
.pe-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 4px; border-radius: 999px; background: rgba(8, 13, 28, .9); border: 1px solid rgba(148, 163, 184, .25); }
.pe-seg-btn { border-color: transparent; background: transparent; font-size: 12.5px; }
.pe-done-btn {
  position: relative; display: block; width: 100%; height: 52px; margin-top: 16px; border: 0; cursor: pointer;
  background: linear-gradient(170deg, #fff1a0 0%, #ffd55b 30%, #f2b526 65%, #d9951a 100%);
  clip-path: polygon(4% 0, 96% 0, 100% 50%, 96% 100%, 4% 100%, 0 50%);
  color: #30230b; font-size: 17px; font-weight: 900; text-shadow: 0 1px rgba(255, 250, 211, .6);
}
.pe-done-btn:active { transform: translateY(1px); }
@keyframes peFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes peSlide { from { transform: translateY(40px); } to { transform: none; } }
