/* In-flow, non-modal choice: no overlay, no barrier to playing. */
.audience-banner[hidden] { display: none !important; }
.audience-banner { box-sizing: border-box; width: min(100% - 2rem, 74rem); margin: 1rem auto; padding: 1rem 1.25rem; border: 1px solid #556b59; border-radius: .65rem; background: #10251e; color: #f5f1de; font: 1rem/1.55 system-ui, sans-serif; }
.audience-banner h2 { margin: 0 0 .35rem; color: #f5f1de; font: 600 1.15rem/1.4 system-ui, sans-serif; }
.audience-banner p { margin: .4rem 0; max-width: 74ch; }
.audience-banner a, .audience-footer a { color: #e1c88f; text-decoration: underline; text-underline-offset: .2em; }
.audience-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .75rem; }
.audience-choice { box-sizing: border-box; min-height: 44px; min-width: 10rem; padding: .6rem 1rem; border: 1px solid #d4b879; border-radius: .35rem; color: #f5f1de; background: #193b2d; font: 600 1rem/1.4 system-ui, sans-serif; cursor: pointer; }
.audience-choice:hover { background: #294d3c; }
.audience-choice:focus-visible, .audience-footer a:focus-visible, .audience-banner a:focus-visible { outline: 3px solid #f5f1de; outline-offset: 3px; }
.audience-status { font-size: .9rem; color: #cbd8cc; }
.audience-footer { box-sizing: border-box; padding: 1rem; text-align: center; font: .9rem/1.6 system-ui, sans-serif; }
.audience-footer a { display: inline-block; margin: .25rem .5rem; padding: .4rem; }
.page-wake .audience-banner { width: min(100% - 2rem, 44rem); }
@media (max-width: 480px) { .audience-choice { flex: 1 1 8rem; min-width: 0; } .audience-banner { padding: .85rem; } }
