/* Equipment compares behavior; world signals stay at the edge of the flight. */
#run-refit {--refit-line:#2d4554;position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(1040px,calc(100vw - 36px));max-height:calc(100dvh - 36px);padding:0;border:1px solid #668391;background:#0a111b;color:#dce8ed;box-shadow:0 24px 90px #0009;overflow:auto;}
#run-refit::backdrop {background:#030911dd;}
.refit-heading {display:flex;align-items:center;gap:24px;padding:24px 28px 18px;border-bottom:1px solid var(--refit-line);}
#refit-hull {width:128px;height:104px;object-fit:contain;flex:none;}
#refit-build {font:600 11px var(--font-ui);letter-spacing:.12em;color:#a6bdcb;margin:0 0 8px;}
#refit-title {font:700 clamp(25px,3vw,38px)/1.05 var(--font-display);letter-spacing:.015em;margin:0;color:#eef5f6;}
#refit-copy {max-width:630px;font:400 15px/1.5 var(--font-ui);color:#b3c4cf;margin:10px 0 0;}
#refit-tabs {display:flex;gap:4px;padding:14px 28px 0;flex-wrap:wrap;}
#refit-tabs button {min-height:44px;padding:9px 14px;background:transparent;border:1px solid transparent;color:#9ab0be;font:700 13px var(--font-ui);letter-spacing:.06em;cursor:pointer;}
#refit-tabs button[aria-pressed=true] {border-color:#6d99ad;color:#d5f5ff;background:#142737;}
#refit-status {padding:10px 28px 0;font:600 11px/1.5 var(--font-ui);letter-spacing:.075em;color:#d0ba87;margin:0;min-height:18px;}
#refit-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:18px 28px 24px;align-items:stretch;}
#refit-options:has(.refit-option:nth-child(3)) {grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.refit-option {display:flex;flex-direction:column;min-width:0;border-top:2px solid #344b59;padding:0 0 14px;background:#0e1a25;}
.refit-option[data-selected=true] {border-top-color:#b8ecd6;outline:1px solid #5d8b7d;}
.refit-preview {display:block;width:100%;height:auto;aspect-ratio:560/248;}
.refit-option h3 {margin:17px 18px 7px;font:700 24px/1.1 var(--font-display);letter-spacing:.04em;color:var(--refit-color);}
.refit-option p {margin:0 18px;font:400 15px/1.5 var(--font-ui);}
.refit-option .refit-effect {color:#d2e2eb;min-height:66px;}
.refit-option .refit-cost {color:#bea898;border-top:1px solid #30434e;padding-top:10px;margin-top:10px;margin-bottom:18px;}
.refit-option .mbtn {margin:auto 18px 0;width:calc(100% - 36px);font-size:13px;letter-spacing:.045em;min-height:48px;white-space:normal;line-height:1.3;}
.refit-option .mbtn:disabled {cursor:default;color:#9aacb6;opacity:1;background:#16212a;border-color:#2d444f;}
.refit-option[data-selected=true] .mbtn:disabled {color:#c4f0d9;}
.refit-footer {position:sticky;bottom:0;padding:14px 28px;display:flex;justify-content:space-between;gap:16px;align-items:center;background:#0a111bf5;border-top:1px solid var(--refit-line);}
.refit-footer p {margin:0;font:400 13px/1.4 var(--font-ui);color:#9aafbd;}
.refit-footer .mbtn {min-width:225px;min-height:46px;font-size:12px;white-space:normal;}
.refit-empty {grid-column:1/-1;padding:36px 10px;max-width:550px;font:400 17px/1.6 var(--font-ui);color:#b3c4cf;}
#run-refit button:focus-visible,#g-train:focus-visible {outline:2px solid #e5ca8f;outline-offset:3px;}
#training-note {font:400 13px/1.5 var(--font-ui);color:#9fb8c8;max-width:570px;margin:8px auto 18px;text-align:center;}
#g-train {margin:10px auto 0;width:min(100%,360px);font-size:14px;}
.encounter-training #practice-bar select {display:none;}
.encounter-training #practice-bar .practice-controls label {display:none;}
.encounter-training #practice-bar .practice-heading {gap:8px;}
#sector-signal {position:absolute;left:18px;top:132px;width:264px;max-width:calc(100vw - 36px);padding:12px 14px;background:#0a1724ed;border-left:2px solid #a6c9dc;pointer-events:auto;}
#sector-signal[hidden] {display:none;}
#sector-signal strong {display:block;font:700 20px/1.1 var(--font-display);letter-spacing:.035em;color:#d4e9f3;}
#sector-signal p {font:400 13px/1.4 var(--font-ui);margin:6px 0;color:#c0cfda;}
#sector-signal .signal-reward {color:#d8c394;}
.signal-actions {display:flex;gap:8px;margin-top:10px;}
.signal-actions button {min-height:44px;padding:8px 12px;border:1px solid #628696;background:#122b3c;color:#e1f2fa;font:700 12px var(--font-ui);cursor:pointer;}
.signal-actions button:last-child {background:transparent;color:#b2c4ce;}
#sector-signal[data-phase=active] {width:235px;padding:8px 12px;}
#sector-signal[data-phase=active] strong {font-size:17px;}
#sector-signal[data-phase=active] .signal-actions,#sector-signal[data-phase=active] .signal-reward {display:none;}
@media(max-width:650px){
 #run-refit {width:calc(100vw - 16px);max-height:calc(100dvh - 16px);}
 .refit-heading {gap:10px;padding:17px 16px 14px;align-items:flex-start;}
 #refit-hull {width:68px;height:72px;}
 #refit-title {font-size:25px;}#refit-copy {font-size:14px;}
 #refit-tabs {padding:10px 12px 0;gap:0;}#refit-tabs button {padding:8px;font-size:11px;flex:1;}
 #refit-status {padding:8px 16px 0;font-size:10px;}
 #refit-options,#refit-options:has(.refit-option:nth-child(3)) {grid-template-columns:1fr;padding:14px 16px;gap:17px;}
 .refit-option h3 {font-size:23px;}.refit-option .refit-effect {min-height:0;}
 .refit-preview {max-height:160px;object-fit:contain;}
 .refit-footer {padding:10px 16px;display:block;}.refit-footer p {font-size:12px;margin-bottom:8px;}.refit-footer .mbtn {width:100%;min-width:0;}
 #sector-signal {left:12px;top:176px;width:226px;padding:9px 12px;}
 #sector-signal strong {font-size:18px;}#sector-signal p {font-size:12px;}
 #sector-signal[data-phase=active] {width:210px;}
}
@media(max-height:500px) and (min-width:651px){
 #run-refit {max-height:calc(100dvh - 12px);width:calc(100vw - 24px);}
 .refit-heading {padding:12px 20px;gap:16px;}#refit-hull {height:64px;width:80px;}#refit-title {font-size:28px;}#refit-copy {font-size:13px;margin-top:5px;}
 #refit-tabs {padding:5px 20px 0;}#refit-options {padding:12px 20px;}
 .refit-footer {padding:8px 20px;}#sector-signal {top:82px;left:12px;width:200px;padding:8px 10px;}#sector-signal p {font-size:11px;}
}

/* Final rendered review: preserve centered decisions and usable flight area. */
#refit-tabs {flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;}
#refit-tabs button {flex:none;white-space:nowrap;}
.refit-preview {background:#0b1520;}
.encounter-training .practice-heading>span:last-child {display:none;}
.encounter-training #practice-rules {color:#b5cad6;}
#ability-row .active-slot .ability-name {white-space:normal;text-align:center;overflow-wrap:normal;font-family:var(--font-display);}
@media(max-width:650px){
 #refit-title {font-size:27px;}
 .refit-heading {padding:14px 16px;}
 #refit-copy {font-size:13px;}
 #refit-tabs button {padding:8px 11px;}
 .refit-option p {font-size:14px;}
}
@media(max-height:500px) and (min-width:651px){
 .refit-preview {height:100px;object-fit:contain;}
 .refit-option h3 {margin-top:10px;}
 .refit-footer p br {display:none;}
 .encounter-training #practice-bar {min-height:102px;padding:8px 12px;box-sizing:border-box;}
 .encounter-training .practice-heading {padding-right:290px;gap:5px;}
 .encounter-training #practice-loadout {font-size:11px;}
 .encounter-training .practice-controls {position:absolute;right:12px;top:8px;gap:8px;}
 .encounter-training #practice-input-help {margin-top:5px;max-width:calc(100% - 290px);font-size:11px;}
 .encounter-training #practice-note {margin-top:4px;font-size:11px;}
 .encounter-training #practice-rules {font-size:11px;}
}

#signal-direction {font-family:var(--font-display)!important;font-weight:700!important;letter-spacing:.06em;color:#d7edf2!important;}
#pause-hardware {margin:12px 0;color:#afc6d3;font-size:13px;text-align:left;}
#pause-hardware summary {min-height:44px;display:flex;align-items:center;cursor:pointer;}
#pause-hardware-parts p {margin:8px 0;line-height:1.45;}
#pause-hardware-parts strong,#pause-hardware-parts span {display:block;}
#pause-hardware-parts strong {color:#dbc49c;font-family:var(--font-display);font-size:15px;}
@media(max-width:370px){#sector-signal {top:128px;width:210px;}#sector-signal p {line-height:1.3;margin:4px 0;}}

.signal-actions[hidden] {display:none;}

/* Keep actions and copy in separate rows; scrolling never hides text under the footer. */
#run-refit {overflow:hidden;}
#run-refit[open] {display:flex;flex-direction:column;}
.refit-heading,.refit-footer {flex:none;}
.refit-body {min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.refit-footer {position:static;background:#0a111b;}
@media(min-width:900px) and (min-height:650px){
 .refit-heading {padding-top:16px;padding-bottom:16px;}
 #refit-hull {height:82px;}
 .refit-preview {max-height:176px;object-fit:contain;}
 .refit-option h3 {margin-top:13px;font-size:23px;}
 .refit-option p {font-size:14px;}
 .refit-option .refit-effect {min-height:63px;}
}
@media(max-height:500px) and (min-width:651px){
 .refit-heading {padding:8px 20px;}
 #refit-copy {display:none;}
 #refit-hull {height:46px;width:60px;}
 .refit-footer p {font-size:11px;}
}

@media(max-width:650px) and (min-height:501px){
 #sector-signal[data-phase=offer] {width:calc(100vw - 24px);box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:8px 12px;}
 #sector-signal[data-phase=offer] p {margin:0;font-size:12px;line-height:1.3;}
 #sector-signal[data-phase=offer] #signal-title,#sector-signal[data-phase=offer] #signal-brief,#sector-signal[data-phase=offer] #signal-progress,#sector-signal[data-phase=offer] .signal-actions {grid-column:1/-1;}
 #sector-signal[data-phase=offer] #signal-direction {text-align:right;}
 #sector-signal[data-phase=offer] .signal-actions {margin-top:2px;}
}

/* Native hidden state wins over the compact offer grid on pause/leave. */
#sector-signal[hidden] {display:none;}

/* The global reduced-motion duration must not animate live objective geometry. */
#sector-signal,#sector-signal * {transition-property:none;}
