/* 본편 구장: 서울 원화와 관중석 상태를 결합한다. 해외 구장 원화는 stadium-photo.css에서 지정한다. */
.audience-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 14px;padding:8px 10px;border:2px solid #d8d7b3;border-radius:16px;background:#fff9e9;color:#294036;font-weight:800}
.audience-picker>span{margin:0 8px 0 2px;font-size:13px;white-space:nowrap}
.audience-picker button{min-height:42px;padding:6px 16px;border:2px solid #bfc9bd;border-radius:999px;background:#fff;color:#354b46;font:inherit;font-size:14px;font-weight:850;cursor:pointer;transition:background .18s,transform .18s,box-shadow .18s}
.audience-picker button[aria-pressed=true]{border-color:#347e67;background:#d8f6d9;box-shadow:0 3px 0 #98c49c;color:#174d3e}
.audience-picker button:hover{transform:translateY(-2px)}
.audience-picker button:focus-visible{outline:3px solid #214d73;outline-offset:3px}

.arena[data-venue] .venue-bg{display:block}
.arena[data-venue]:not([data-venue-art]) .venue-bg{background:url('../assets/stage/seoul-pitch-night.png') center 70%/cover no-repeat}
.arena[data-venue]:not([data-venue-art]) :is(.venue-lights,.venue-stand,.venue-pitch,.arena-ground){display:none}
.arena[data-venue]:not([data-venue="kr-seoul"]) .stadium-crowd{display:none}

.stadium-crowd{position:absolute;inset:0;z-index:-2;pointer-events:none;background:url('stadium-crowd.svg') center 70%/cover no-repeat;opacity:0;transition:opacity .35s}
.arena[data-audience="full"] .stadium-crowd{opacity:1}
.stadium-ribbon{position:absolute;left:4%;right:4%;top:51%;z-index:-1;display:flex;justify-content:center;align-items:center;min-height:17px;border-block:1px solid #d9e6e778;background:linear-gradient(90deg,#081a2bd9,#183e4ada 25%,#183e4ada 75%,#081a2bd9);box-shadow:0 0 16px #b5f8e370;pointer-events:none;color:#dffbed;text-align:center;font-size:11px;font-weight:900;letter-spacing:.16em;text-shadow:0 1px 4px #001}
.stadium-ribbon::before,.stadium-ribbon::after{content:'✦ ✦ ✦';position:absolute;top:0;color:var(--venue-accent);opacity:.8}
.stadium-ribbon::before{left:4%}.stadium-ribbon::after{right:4%}
.stadium-ribbon-empty{display:none}
.arena[data-audience="empty"] .stadium-ribbon{background:linear-gradient(90deg,#0b1b2bc9,#234052bd 50%,#0b1b2bc9);box-shadow:none;color:#d5e5e7}
.arena[data-audience="empty"] .stadium-ribbon-full{display:none}
.arena[data-audience="empty"] .stadium-ribbon-empty{display:inline}
.arena[data-audience="empty"] .stadium-ribbon::before,.arena[data-audience="empty"] .stadium-ribbon::after{content:'· · ·';opacity:.4}
.arena[data-audience="empty"] .venue-bg{filter:saturate(.8) brightness(.82)}
.arena[data-audience="full"] .stadium-ribbon{animation:stadium-ribbon-glow 3.6s ease-in-out infinite alternate}
@keyframes stadium-ribbon-glow{to{box-shadow:0 0 22px #b5f8e3b0;color:#fff}}
@media(max-width:760px){.stadium-ribbon{top:51%;font-size:9px;min-height:14px}.stadium-ribbon::before,.stadium-ribbon::after{content:'✦ ✦'}}
@media(max-width:540px){.audience-picker{gap:6px;margin:8px 0 10px;padding:8px}.audience-picker>span{width:100%;margin:0 0 2px 4px}.audience-picker button{flex:1 1 140px;padding:6px 8px;font-size:12px}.stadium-ribbon::before,.stadium-ribbon::after{display:none}}
@media(prefers-reduced-motion:reduce){.stadium-crowd,.audience-picker button{transition:none}.arena[data-audience="full"] .stadium-ribbon{animation:none}}
