/* Beacon-only inventory and upgrade controls. */
.beacon-stock-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem .8rem; }
.beacon-stock-grid input { width: 100%; min-width: 0; box-sizing: border-box; }
.beacon-lines { white-space: pre-line; overflow-wrap: anywhere; }
.beacon-range-note { display: block; margin-top: .5rem; font-size: .75rem; line-height: 1.4; font-weight: 400; color: var(--muted, #56685b); }
.beacon-checks { display: grid; gap: .75rem; }
.beacon-checks label { display: flex; align-items: flex-start; gap: .65rem; margin: 0; cursor: pointer; }
.beacon-checks input[type="checkbox"] { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; margin: .15rem 0 0; }
.beacon-checks span { line-height: 1.45; }
#beacon-upgrade-summary, #beacon-stock-balance { font-weight: 650; }
#beacon-upgrade-summary[aria-invalid="true"] { color: var(--danger, #a62d20); }
.beacon-layer-choice[data-beacon-reused="true"] { opacity: .8; }
@media (max-width: 380px) { .beacon-stock-grid { grid-template-columns: 1fr; } }
@media print { .beacon-session, .beacon-layer-actions, #copy-materials, .tool-feedback, .site-header, .world-banner { display: none !important; } .beacon-lines, #materials { white-space: pre-wrap; } }
.beacon-upgrade .sr-only, .beacon-goal .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.beacon-builder-details { display: block; min-height: 0; margin-top: .75rem; padding: .75rem; }
.beacon-builder-details > summary { cursor: pointer; font-weight: 700; line-height: 1.4; }
.beacon-builder-details[open] > summary { margin-bottom: .75rem; }
