/* rise4-march: inherited warm palette and light-theme variables. */
.r4-march-composer .r4-march-source { margin-bottom: 12px; }
.r4-march-source select { width: 100%; }
.r4-march-location { margin: 0 0 14px; font-size: 12px; }
.r4-march-stay { display: flex; align-items: center; gap: 10px; margin: 12px 0; }
.r4-march-stay input { flex: 0 0 auto; min-height: 20px; width: 20px; accent-color: var(--r3-gold); }
.r4-march-summary { display: grid; gap: 6px; margin: 8px 0 18px; }
.r4-march-summary strong { font-size: 16px; }
.r4-march-summary span { font-size: 12px; }
.r4-march-commands { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 12px; }
.r4-march-warning { color: var(--r3-gold); font-size: 13px; line-height: 1.5; }
.r4-march-targeting { position: absolute; top: 76px; left: 50%; transform: translateX(-50%); display: grid; grid-template-columns: 1fr auto; column-gap: 14px; row-gap: 4px; width: min(430px, calc(100% - 24px)); padding: 12px 14px; border: 1px solid var(--r3-line); border-radius: 8px; background: var(--r3-paper); color: var(--r3-ink); pointer-events: auto; box-shadow: 0 6px 20px #0003; }
.r4-march-targeting span { color: var(--r3-muted); font-size: 12px; grid-column: 1; }
.r4-march-targeting button { grid-column: 2; grid-row: 1 / 3; }
.r4-march-targeting[hidden] { display: none; }
.rise3d.is-phone .r4-march-targeting { top: auto; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
.rise3d.is-phone .r4-march-commands { grid-template-columns: repeat(4, 1fr); gap: 4px; }
.rise3d.is-phone .r4-march-commands button { min-height: 44px; padding: 5px; font-size: 12px; }
.rise3d.is-phone .r3-selection:has(.r4-march-commands) > .r3-line { display: none; }
.rise3d.is-phone .r3-selection:has(.r4-march-commands) .r4-march-commands { margin: 4px 0 0; }
.rise3d.is-phone .r3-selection:has(.r4-march-commands) { max-height: 156px; }
.rise3d .r3-field.r4-march-stay,
.rise3d .r4-march-composer .r3-field:has(input[type="checkbox"]) { display: flex; align-items: center; justify-content: flex-start; gap: 10px; margin: 10px 0; }
.rise3d .r4-march-stay input,
.rise3d .r4-march-composer input[type="checkbox"] { width: 20px; min-height: 20px; margin: 0; flex: 0 0 20px; }
.rise3d .r4-march-composer .r3-troop-input { margin: 8px 0; }

.rise3d:not(.is-phone) .r3-panel[data-view="fieldMarch"] { bottom: auto; max-height: calc(100% - 170px); }

.rise3d.is-phone .r4-march-stay { justify-content: flex-start; }
@media (min-width: 701px) and (max-height: 780px) {
  .rise3d:not(.is-phone) .r3-panel[data-view="march"]:has(.r4-march-composer) { top: 64px; bottom: 82px; padding: 12px 18px; }
  .rise3d .r4-march-composer .r4-march-source { margin-bottom: 6px; }
  .rise3d .r4-march-composer .r4-march-location { margin-bottom: 8px; }
  .rise3d .r4-march-composer .r3-line { padding: 2px 0; }
  .rise3d .r4-march-composer .r3-troop-input { margin: 4px 0; }
  .rise3d .r4-march-composer .r3-field:has(input[type='checkbox']) { margin: 6px 0; }
  .rise3d .r3-panel:has(.r4-march-composer) .r3-panel-header { margin-bottom: 10px; }
}

.rise3d:not(.is-phone) .r3-panel.r4-march-anchored:not([hidden]) { left: clamp(12px, var(--r4-x), calc(100% - 492px)); right: auto; top: clamp(70px, var(--r4-y, 80px), calc(100% - var(--r4-h, 400px) - 90px)); bottom: auto; max-height: calc(100% - 160px); }
