/* Genkyo is a tactical sortie screen, not a generic modal. */
.genkyo-expedition-panel {
  display: grid;
  gap: 12px;
  margin: 12px 0;
  padding: 14px;
  border: 1px solid rgba(215, 128, 255, .62);
  background: linear-gradient(145deg, rgba(43, 17, 70, .94), rgba(7, 15, 36, .96));
  box-shadow: inset 3px 0 #b65cff, 0 16px 32px rgba(0, 0, 0, .28);
}
.genkyo-expedition-panel.hidden { display: none !important; }
.genkyo-expedition-panel__head { display: grid; gap: 5px; }
.genkyo-expedition-panel__head span { color: #d9a5ff; font: 800 9px/1 var(--final-display, monospace); letter-spacing: .12em; }
.genkyo-expedition-panel__head strong { color: #fff4ff; font: 800 clamp(19px, 5.8vw, 26px)/1.1 var(--final-display, monospace); }
.genkyo-expedition-panel__head small { color: #bfc7de; font: 700 11px/1.55 var(--final-ui, sans-serif); }
.genkyo-expedition-step { display: flex; gap: 9px; align-items: center; margin-top: 3px; }
.genkyo-expedition-step > b { display: grid; place-items: center; width: 28px; height: 28px; color: #150b24; background: #ddafff; font: 900 12px/1 var(--final-display, monospace); }
.genkyo-expedition-step div { display: grid; gap: 1px; }
.genkyo-expedition-step strong { color: #f7eaff; font: 800 13px/1.2 var(--final-ui, sans-serif); }
.genkyo-expedition-step small { color: #a99db8; font: 700 10px/1.3 var(--final-ui, sans-serif); }
.genkyo-ship-select { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.genkyo-ship-card, .genkyo-buff-card { min-width: 0; text-align: left; color: #d7e6ff; border: 1px solid rgba(126, 165, 230, .32); border-radius: 0; background: rgba(4, 14, 33, .8); cursor: pointer; }
.genkyo-ship-card { display: grid; gap: 4px; min-height: 78px; padding: 9px; }
.genkyo-ship-card span { color: #879bbd; font: 800 8px/1 var(--final-display, monospace); letter-spacing: .1em; }
.genkyo-ship-card strong { overflow: hidden; color: #f2f8ff; font: 800 12px/1.2 var(--final-ui, sans-serif); text-overflow: ellipsis; white-space: nowrap; }
.genkyo-ship-card small { display: -webkit-box; overflow: hidden; color: #9caac4; font: 700 9px/1.35 var(--final-ui, sans-serif); -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.genkyo-ship-card.is-selected { border-color: #e2adff; background: linear-gradient(130deg, rgba(172, 69, 255, .35), rgba(8, 23, 52, .9)); box-shadow: inset 0 -2px #e9b8ff; }
.genkyo-ship-card.is-selected span { color: #f0c9ff; }
.genkyo-buff-select { display: grid; grid-template-columns: 1fr; gap: 6px; max-height: 310px; overflow-y: auto; padding-right: 2px; }
.genkyo-buff-card { display: grid; grid-template-columns: minmax(92px, .7fr) 1fr; gap: 3px 8px; padding: 9px 10px; }
.genkyo-buff-card strong { grid-row: span 2; align-self: center; color: #ffdff5; font: 800 13px/1.2 var(--final-ui, sans-serif); }
.genkyo-buff-card span { color: #f0b0d9; font: 800 10px/1.25 var(--final-ui, sans-serif); }
.genkyo-buff-card small { color: #aeb9ce; font: 700 9px/1.4 var(--final-ui, sans-serif); }
.genkyo-buff-card.is-selected { border-color: #ffc7e8; background: linear-gradient(90deg, rgba(183, 59, 132, .42), rgba(41, 17, 70, .68)); box-shadow: inset 3px 0 #ffb5e0; }
.genkyo-expedition-summary { display: grid; gap: 4px; padding: 10px; border-top: 1px solid rgba(222, 163, 255, .3); background: rgba(0, 0, 0, .24); }
.genkyo-expedition-summary span { color: #ffffff; font: 800 11px/1.45 var(--final-ui, sans-serif); }
.genkyo-expedition-summary small { color: #ffb9d9; font: 800 9px/1.2 var(--final-display, monospace); letter-spacing: .04em; }
.genkyo-expedition-actions { display: grid; grid-template-columns: .78fr 1.22fr; gap: 8px; }
.genkyo-expedition-actions button { min-height: 50px; }
.genkyo-expedition-actions .primary-btn { background: linear-gradient(90deg, #bd4ecb, #7c59de); }
@media (max-width: 365px) { .genkyo-ship-select { grid-template-columns: 1fr; } .genkyo-buff-card { grid-template-columns: 1fr; } .genkyo-buff-card strong { grid-row: auto; } }
@media (prefers-reduced-motion: reduce) { .genkyo-expedition-panel, .genkyo-ship-card, .genkyo-buff-card { transition: none !important; } }
