/* Compact names and prices remain visible at 320px without widening the page. */
#scenes .scene{display:flex;flex-direction:column;gap:1px;min-height:53px;padding:5px 2px;position:relative;overflow:hidden}
#scenes .scene .hall-name{font-family:'Songti SC',Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.6px;line-height:18px;white-space:nowrap}
#scenes .scene .hall-price{font-family:Georgia,serif;font-size:15px;line-height:18px;letter-spacing:0}
#scenes .scene .hall-price small{font-size:9px;margin-left:3px}
#scenes .scene .hall-emblem{font-family:Georgia,serif;margin-right:3px;font-size:13px}
#scenes .scene[data-hall="2"][aria-selected="true"]{border-color:#add9f5;color:#e3f3ff;background:linear-gradient(135deg,#304857,#182834);box-shadow:inset 0 1px #d2ecff44,0 0 12px #90d4ff25}
#scenes .scene[data-hall="3"][aria-selected="true"]{border-color:#ffe2a0;color:#fff0c4;background:linear-gradient(135deg,#695127,#302719)}
.hall-portal{position:absolute;inset:0;z-index:15;pointer-events:none;overflow:hidden;contain:layout paint;--portal:#e6bf78;border-radius:20px}
.hall-portal[data-tone="lunar"]{--portal:#acdfff}
.hall-portal[data-tone="aurum"]{--portal:#ffda7f}
.hall-veil{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,#1b1c1ee6,#090b0df5)}
.hall-ring{position:absolute;left:50%;top:44%;width:66%;aspect-ratio:1;border:2px solid var(--portal);border-radius:50%;box-shadow:0 0 18px var(--portal),inset 0 0 14px #ffe4ac44;transform:translate(-50%,-50%) scale(.65);opacity:.8}
.hall-sigil{position:absolute;left:0;right:0;top:29%;text-align:center;font-size:68px;color:var(--portal);text-shadow:0 0 18px #ffeac355}
.hall-arrival{position:absolute;left:8px;right:8px;top:58%;text-align:center;color:var(--portal);font:600 23px/1.4 'Songti SC',Georgia,serif;letter-spacing:3px}
.hall-portal[data-arrived="true"] .hall-ring{animation:hall-gate-open .8s cubic-bezier(.2,.65,.25,1) both}
.hall-portal[data-arrived="true"] .hall-veil{animation:hall-veil-open .8s ease-out both}
.hall-portal[data-tone="lunar"] .hall-ring{border-style:dashed;box-shadow:0 0 15px #acdfff77}
.hall-portal[data-tone="aurum"] .hall-ring{border-radius:20%;transform:translate(-50%,-50%) rotate(45deg) scale(.65)}
.hall-portal[data-tone="aurum"][data-arrived="true"] .hall-ring{animation-name:hall-sun-open}
@keyframes hall-gate-open{to{transform:translate(-50%,-50%) scale(1.8);opacity:0}}
@keyframes hall-sun-open{to{transform:translate(-50%,-50%) rotate(90deg) scale(1.8);opacity:0}}
@keyframes hall-veil-open{0%{opacity:1}100%{opacity:0}}
.hall-portal[data-quiet="true"] .hall-ring,.hall-portal[data-quiet="true"] .hall-sigil{display:none}
.hall-portal[data-quiet="true"] *{animation:none!important}
@media(max-width:350px){#scenes{gap:5px}#scenes .scene .hall-name{font-size:12px;letter-spacing:0}#scenes .scene .hall-emblem{margin-right:2px}}
@media(prefers-reduced-motion:reduce){.hall-portal *{animation:none!important}}
.hall-portal[data-tone="lunar"] .hall-ring:after{content:'';position:absolute;left:12%;top:8%;width:3px;height:3px;border-radius:50%;background:#e6f8ff;box-shadow:40px 36px #bdeaff,-20px 100px #bdeaff,150px 20px #bdeaff,160px 140px #bdeaff,80px 190px #bdeaff}
body[data-hall-arrival="true"] #seats{animation:hall-seats-welcome .65s ease-out both}
@keyframes hall-seats-welcome{from{opacity:.35}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body[data-hall-arrival="true"] #seats{animation:none}}
body[data-motion="off"][data-hall-arrival="true"] #seats{animation:none}
#scenes{grid-template-columns:repeat(3,minmax(0,1fr))}
#scenes .scene{min-width:0}
html[lang="en"] #scenes .hall-name{font-size:11px;letter-spacing:0}
@media(max-width:350px){html[lang="en"] #scenes .hall-name{font-size:10px}html[lang="en"] #scenes .hall-emblem{display:none}html[lang="en"] .lobby-intro h1{font-size:22px;letter-spacing:1px}}
