.raid-prep { border: 1px solid var(--border, #424740); border-top: 3px solid #b7bd85; background: var(--surface-raised, #202522); padding: 1.25rem; margin: 0 0 1.5rem; border-radius: 8px; scroll-margin-top: 5rem; }
.raid-prep h2 { margin: 0; font-size: 1.65rem; }
.raid-prep h3 { margin: .8rem 0; }
.raid-prep p { line-height: 1.6; }
.raid-prep-heading, .raid-row-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.raid-eyebrow { color: var(--text-muted, #b9bdb6); letter-spacing: .12em; font-size: .75rem; margin: 0 0 .25rem; }
.raid-save, .raid-hint, .raid-prep small { color: var(--text-muted, #b9bdb6); font-size: .85rem; }
.raid-prep small { display: block; line-height: 1.5; margin-top: .3rem; overflow-wrap: anywhere; }
.raid-empty { border: 1px dashed #656d5f; padding: 1.25rem; border-radius: 6px; }
.raid-quests { list-style: none; padding: 0; margin: 1rem 0; }
.raid-quests > li { border-top: 1px solid var(--border, #424740); padding: 1rem 0; }
.raid-checks { list-style: none; padding: 0; margin: .75rem 0; }
.raid-checks li { margin: .65rem 0; line-height: 1.5; overflow-wrap: anywhere; }
.raid-checks label { display: flex; align-items: start; gap: .6rem; cursor: pointer; }
.raid-checks input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: .2rem; accent-color: #bbc585; }
.raid-checks label:has(input:checked) > span { opacity: .7; }
.raid-prep summary { padding: .65rem 0; cursor: pointer; }
.raid-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.raid-prep .btn, .task-raid-add { min-height: 40px; }
.raid-prep select { max-width: 100%; padding: .6rem; color: inherit; background: var(--bg, #171c18); border: 1px solid #656d5f; border-radius: 4px; }
.raid-map-choice { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; }
.raid-supplies { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; border-block: 1px solid var(--border, #424740); margin-bottom: 1rem; }
.raid-preparation { border-top: 1px solid var(--border, #424740); margin-top: .75rem; }
.raid-preparation > summary { font-weight: 600; }
.raid-map-choice > .btn { margin-left: auto; }
.raid-prep :focus-visible { outline: 2px solid #e0dfa2; outline-offset: 3px; }
.task-raid-add { margin-top: .75rem; }
.task-status-pill.status-unknown { color: #dacb94; border-color: #8b805b; }
.raid-map-banner { flex-shrink: 0; padding: .7rem 1rem; background: var(--surface-raised, #202522); border-bottom: 1px solid #656d5f; line-height: 1.6; }
.raid-map-banner .btn { margin-left: .6rem; }
.raid-route { border-top: 1px solid var(--border, #424740); margin-top: 1rem; padding-top: .75rem; overflow-wrap: anywhere; }
.raid-route p, .raid-route li { line-height: 1.6; }
.raid-route label { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: .55rem 0; }
.raid-route label:has(select) { display: grid; align-items: start; min-width: 0; }
.raid-route select { width: 100%; min-width: 0; }
.raid-route-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.raid-route-constraints { display: flex; flex-wrap: wrap; gap: 1rem; }
.raid-route input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; }
#raid-route-assignments { padding-left: 1.5rem; }
#raid-route-assignments > li { padding: .5rem 0 .9rem; }
#raid-route-assignments strong { display: block; margin-bottom: .4rem; }
#raid-route-assignments .raid-actions { margin-top: .5rem; }
#raid-route-result { padding: .5rem .8rem; margin-top: 1rem; border: 1px solid #77734c; border-radius: 4px; }
#raid-route-result[data-status="complete"] { border-color: #88a46a; }
#raid-route-save { color: var(--text-muted, #b9bdb6); font-size: .85rem; }
.raid-route-multi { border: 1px solid var(--border, #424740); padding: .6rem .8rem; border-radius: 4px; margin: .75rem 0; min-width: 0; }
.raid-route-multi input[type="number"] { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; color: inherit; background: var(--bg, #171c18); border: 1px solid #656d5f; border-radius: 4px; padding: .6rem; }
.raid-route-multi label:has(input[type="number"]) { display: grid; align-items: start; min-width: 0; }
#raid-route-multi-result { margin-top: .8rem; padding: .5rem .65rem; border: 1px solid #77734c; border-radius: 4px; }
#raid-route-multi-result[data-status="complete"] { border-color: #88a46a; }
.raid-route-raid { border-top: 1px solid var(--border, #424740); margin-top: .8rem; }
@media (max-width: 500px) { .raid-route-columns { grid-template-columns: 1fr; gap: 0; } }
@media (max-width: 700px) { .raid-prep { padding: .9rem; } .raid-supplies { grid-template-columns: 1fr; gap: 0; } .raid-prep .btn, .task-raid-add { min-height: 44px; } .raid-row-heading { align-items: start; } .raid-map-choice > .btn { margin-left: 0; } }
