/* Expedition preparation: readable choices, with the camp and a fixed start action. */
#setupOverlay {
  padding: 18px;
  background: #031018c4;
}
#setupForm {
  width: min(1240px, 96vw);
  height: min(940px, calc(100svh - 36px));
  max-height: calc(100svh - 36px);
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.4fr);
  padding: 0;
  overflow: hidden;
  border-color: #bda67570;
  border-radius: 12px;
}
#setupForm .setup-journey { min-height: 0; overflow: auto; scrollbar-width: thin; }
#setupForm .setup-options {
  padding: 24px 28px 18px;
  background: radial-gradient(ellipse at 80% 0, #25404a80, transparent 65%), #10232d;
  min-width: 0;
}
#setupForm .setup-scroll { padding: 0 6px 4px 2px; scrollbar-gutter: stable; }
#setupForm .faction-pair { gap: 10px; margin: 0 0 14px; }
#setupForm .faction-pair > div { gap: 10px; }
#setupForm .faction-pair img { width: 38px; height: 42px; }
#setupForm .faction-pair strong { font-size: 20px; }
.prepare-header { margin-bottom: 20px; }
.prepare-eyebrow { margin: 0 0 5px; color: #b9c9ca; font: 650 10px/1.3 system-ui, sans-serif; letter-spacing: .2em; }
#setupForm #prepareHeading { margin: 0; font: 500 clamp(26px, 2.4vw, 34px)/1.15 Georgia, serif; color: #f2e3c2; }
.settings-section { margin: 0 0 18px; min-width: 0; }
.settings-heading { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font: 650 14px/1.3 system-ui, sans-serif; color: #e3eae3; }
.settings-heading > span { color: #d0b77e; font: 500 12px/1.3 Georgia, serif; letter-spacing: .04em; }
.settings-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.settings-section-head .settings-heading { margin: 0; }
.pool-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); gap: 12px; }
#setupForm .pool-controls .collection-choice { flex-direction: column; align-items: stretch; gap: 6px; margin: 0; }
#setupForm .pool-controls .lesson-preparation { margin: 0; grid-template-columns: minmax(0, 2.2fr) minmax(100px, 1fr); }
#setupForm label { color: #cbd8d8; }
#setupForm .collection-choice { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; font-size: 13px; }
#setupForm select, #setupForm input[type='number'] {
  min-width: 0;
  min-height: 46px;
  border: 1px solid #69828b;
  border-radius: 6px;
  background: #0b1d27;
  color: #f0eadb;
  font: 500 14px/1.3 system-ui, sans-serif;
  padding: 10px 12px;
  color-scheme: dark;
}
#setupForm select:disabled { opacity: .55; cursor: not-allowed; }
#setupForm :is(button, summary, select, input, label:has(input)):focus-visible {
  outline: 3px solid #f2d28a;
  outline-offset: 3px;
}
#setupForm button, #setupForm summary { touch-action: manipulation; }
#setupForm .lesson-preparation { gap: 12px; margin-bottom: 8px; }
#setupForm .lesson-preparation label { font-size: 13px; gap: 6px; }
#setupForm .practice-preview { margin: 0; font: 12px/1.4 system-ui, sans-serif; color: #b9cccb; }
#setupForm .pool-readiness[data-ready='false'] { padding: 10px 12px; margin: 8px 0; border: 1px solid #dbad6d70; border-radius: 6px; background: #67471c33; }
#setupForm .pool-readiness[data-ready='true'][data-focused='true'] { display: block; margin: 8px 0; padding: 8px 10px; color: #d7e5d7; border-left: 2px solid #9bbda6; background: #9bbda610; font-size: 12px; line-height: 1.4; }
#setupForm .lesson-route { margin: 0; }
#setupForm .lesson-route > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ddc58e;
  font-size: 13px;
}
#setupForm :is(.lesson-route, .form-help, .match-settings) > summary { list-style: none; cursor: pointer; }
#setupForm summary::-webkit-details-marker { display: none; }
#setupForm :is(.lesson-route, .form-help, .match-settings) > summary::after {
  content: '+';
  margin-left: auto;
  color: #dac492;
  font: 400 21px/1 system-ui, sans-serif;
}
#setupForm :is(.lesson-route, .form-help, .match-settings)[open] > summary::after { content: '−'; }
#setupForm .race-plan { margin: 0 0 10px; gap: 8px; }
#setupForm .race-plan li { padding: 10px; border-radius: 6px; }
#setupForm .form-choices { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
#setupForm .form-choices button {
  position: relative;
  min-height: 92px;
  padding: 14px 10px 12px;
  gap: 12px;
  justify-content: flex-end;
  border: 1px solid #69828b90;
  border-radius: 8px;
  background: linear-gradient(150deg, #243b46, #112731);
  box-shadow: inset 0 1px 0 #ffffff05;
  cursor: pointer;
}
#setupForm .form-choices strong { font: 500 15px/1.2 Georgia, serif; color: #eee5ce; }
#setupForm .form-choices span { font: 500 13px/1.2 Georgia, serif; color: #bbcece; white-space: normal; }
#setupForm .form-choices button[aria-pressed='true'] {
  border-color: #e0c38a;
  background: linear-gradient(140deg, #3c504e, #243d3f);
  box-shadow: inset 0 0 0 1px #e0c38a40, 0 4px 12px #0002;
}
#setupForm :is(.form-choices, .pace-choices) button[aria-pressed='true']::after {
  content: '✓';
  position: absolute;
  right: 8px;
  top: 5px;
  font: 700 13px/1 system-ui, sans-serif;
  color: #f7dda7;
}
#setupForm .form-choices button[aria-pressed='true'] span { color: #f5dda8; }
#setupForm .form-help { margin: 6px 0 0; }
#setupForm .form-help > summary { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 12px; color: #c2d1d0; }
#setupForm .form-help > summary > span { font: 500 13px Georgia, serif; color: #ddc58e; }
#setupForm .form-key { margin: 12px; padding: 12px 0; }
#setupForm #targetChoices { margin: 8px 0; padding: 10px; border-radius: 6px; }
#setupForm #targetChoices label { min-height: 44px; padding: 6px; font-size: 13px; }
#setupForm #targetChoices legend { font-size: 13px; }
#setupForm :is(.target-index, .form-index) { display: inline-grid; place-items: center; width: 21px; height: 21px; border: 1px solid #b6c9c5; border-radius: 50%; color: #dfebe3; font: 600 12px/1 system-ui, sans-serif; flex: none; }
#setupForm .pace-choices { gap: 8px; margin: 0; }
#setupForm .pace-choices button { position: relative; min-height: 46px; border-radius: 6px; padding: 10px 24px 10px 12px; font-size: 14px; cursor: pointer; }
#setupForm .pace-choices button[aria-pressed='true'] { background: #d7bd831c; border-color: #e0c38a; color: #f6e2b6; }
.rhythm-hint { margin: 8px 0 0; font: 12px/1.4 system-ui, sans-serif; color: #b9cccb; }
.settings-more { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 22px 0 12px; }
.settings-more:has(> details[open]) { grid-template-columns: 1fr; }
#setupForm .settings-more > details { margin: 0; min-width: 0; border: 1px solid #78969c45; border-radius: 7px; background: #071a2245; }
#setupForm .settings-more > details[open] { grid-column: 1 / -1; border-color: #bca36b85; }
#setupForm .settings-more > details > summary { display: flex; align-items: center; gap: 8px; min-height: 46px; margin: 0; padding: 10px 12px; font-size: 13px; color: #d9e2db; }
#setupForm .settings-more > details[open] > summary { color: #f1dbad; border-bottom: 1px solid #78969c33; }
#setupForm .settings-more > details > :not(summary) { margin: 12px; }
#setupForm .settings-more .setup-grid { gap: 14px; }
#setupForm .setup-grid label { font-size: 13px; font-weight: 500; }
#setupForm .game-guide p { font-size: 13px; line-height: 1.6; color: #c5d5d5; }
#setupForm .game-guide strong { color: #efddba; }
#setupForm #sectionChoices label { padding: 12px; border-radius: 6px; }
#setupForm #sectionChoices span { font-size: 16px; }
#setupForm #sectionChoices small { font-size: 12px; }
#setupForm :is(.meaning-choice, .backup-actions label) { min-height: 46px; }
#setupForm .pack-shortcut { flex-wrap: wrap; }
#setupForm .pack-shortcut button, #setupForm .backup-actions button { min-height: 46px; padding: 8px 12px; border: 1px solid #78969c80; border-radius: 6px; background: #203743; color: #eddfbd; cursor: pointer; }
#setupForm .backup-actions { flex-wrap: wrap; }
#setupForm .backup-actions label { border-radius: 6px; border-color: #78969c80; }
#setupForm .backup-actions label:focus-within { outline: 3px solid #f2d28a; outline-offset: 3px; }
#setupForm .setup-footer { margin-top: 10px; padding-top: 12px; border-top: 1px solid #bda67540; box-shadow: 0 -12px 20px #10232d; }
#setupForm .setup-time { margin: 0 0 10px; text-align: center; font: 12px/1.3 system-ui, sans-serif; color: #c0ceca; }
#setupForm .material-actions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 0 0 8px; }
#setupForm .material-actions button { min-width: 0; min-height: 44px; padding: 7px 5px; font: 500 12px/1.2 system-ui, sans-serif; border: 1px solid #78969c65; border-radius: 6px; background: #142d38; color: #dde1d4; cursor: pointer; }
#setupForm .material-actions #setupTutorial { border-color: #c3a66c90; color: #f0dab0; justify-content: center; }
#setupForm .start-button { min-height: 54px; border-radius: 7px; font-size: 15px; letter-spacing: .06em; box-shadow: inset 0 1px 0 #fff6d6, 0 4px 12px #020b1655; }
#setupForm .setup-footnote { color: #b9cacb; font-size: 10px !important; line-height: 1.4; }
#setupForm .saved-expedition { border-radius: 8px; background: linear-gradient(120deg, #294445, #132c36); }
#setupForm .saved-expedition button { min-height: 46px; padding: 8px 12px; border: 1px solid #ceb47e80; border-radius: 6px; background: #d7bd8317; cursor: pointer; }
@media (hover: hover) {
  #setupForm :is(.form-choices, .pace-choices, .material-actions) button:hover { border-color: #e0c38a; filter: brightness(1.1); }
  #setupForm .settings-more > details > summary:hover { background: #cadbd50a; }
}
@media (max-height: 800px) {
  #setupForm .setup-options { padding: 18px 24px 14px; }
  #setupForm .faction-pair { margin-bottom: 8px; }
  #setupForm .faction-pair img { width: 30px; height: 34px; }
  .prepare-header { margin-bottom: 16px; }
  .settings-section { margin-bottom: 12px; }
  #setupForm .form-choices button { min-height: 80px; gap: 9px; }
}
@media (max-height: 650px) {
  #setupForm .setup-options { padding: 14px 22px 12px; }
  #setupForm .faction-pair { margin-bottom: 6px; }
  #setupForm .faction-pair img { width: 26px; height: 30px; }
  #setupForm .setup-footer { padding-top: 8px; }
  #setupForm .setup-time { margin-bottom: 6px; font-size: 11px; }
  #setupForm .setup-footnote { display: none; }
  #setupForm .faction-pair, .prepare-eyebrow { display: none; }
  .prepare-header { margin-bottom: 14px; }
  #setupForm #prepareHeading { font-size: 26px; }
  #setupForm .form-choices button { min-height: 76px; }
  .settings-section { margin-bottom: 10px; }
  .rhythm-hint { margin-top: 6px; }
}
@media (max-width: 1000px) {
  #setupForm { grid-template-columns: minmax(210px, .6fr) minmax(0, 1.4fr); }
  #setupForm .form-choices { grid-template-columns: 1fr 1fr; }
  .pool-controls { grid-template-columns: 1fr; gap: 10px; }
  #setupForm .pool-controls .collection-choice { flex-direction: row; align-items: center; }
}
@media (max-width: 760px) {
  #setupOverlay { padding: 10px; }
  #setupForm { display: block; width: 100%; height: calc(100svh - 20px); max-height: calc(100svh - 20px); }
  #setupForm .setup-journey, #setupForm .setup-brand { display: none; }
  #setupForm .setup-options { padding: 18px 16px 12px; }
  #setupForm .faction-pair > div { flex-direction: row; }
  #setupForm .faction-pair strong { font-size: 18px; }
  #setupForm .form-choices { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  #setupForm .collection-choice { align-items: stretch; flex-direction: column; gap: 6px; }
  #setupForm .pool-controls .collection-choice { align-items: stretch; flex-direction: column; }
  #setupForm .lesson-preparation { grid-template-columns: minmax(0, 1fr) 100px; gap: 8px; }
  #setupForm .settings-more { grid-template-columns: 1fr; }
  #setupForm .setup-grid, #setupForm #sectionChoices { grid-template-columns: 1fr; }
  #setupForm .material-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #setupForm .form-help > summary > span { display: none; }
}
