/* 與足跡頁共用暖紙色、森林綠、金色標題與 DM Mono 日期。 */
.arena-seats { margin-top:48px; padding-top:36px; border-top:1px solid var(--rule); }
.arena-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:24px; }
.arena-heading h2 { font-size:clamp(23px,3vw,30px); font-weight:500; letter-spacing:1px; margin:0 0 10px; }
.arena-heading p:not(.vm-eyebrow) { color:var(--ink2); font-size:13px; line-height:1.8; }
.arena-count { flex-shrink:0; font-family:'DM Mono','Noto Sans TC',sans-serif; color:var(--green)!important; }
.arena-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; background:var(--paper2); border:1px solid var(--rule); border-radius:16px; overflow:hidden; }
.arena-map-column { min-width:0; padding:22px; }
#arenaPlot { max-width:690px; margin:auto; }
#arenaPlot svg { width:100%; display:block; overflow:visible; }
#arenaPlot text { fill:var(--ink2); font-family:'DM Mono','Noto Sans TC',sans-serif; font-size:12px; pointer-events:none; }
.arena-zone { --zone-color:var(--gold); cursor:pointer; }
.arena-color-紫 { --zone-color:var(--violet); }
.arena-color-紅 { --zone-color:var(--terra); }
.arena-color-藍 { --zone-color:var(--teal); }
.arena-zone polygon { fill:color-mix(in srgb,var(--zone-color) 8%,var(--paper)); stroke:var(--paper2); stroke-width:2; }
.arena-zone.is-visited polygon { fill:color-mix(in srgb,var(--zone-color) 23%,var(--paper)); }
.arena-zone.is-active polygon,.arena-zone:focus-visible polygon { stroke:var(--green); stroke-width:2; fill:color-mix(in srgb,var(--zone-color) 32%,var(--paper)); }
.arena-floor { fill:var(--paper3); }
.arena-floor-block { fill:var(--paper); stroke:var(--rule); }
.arena-stage { fill:var(--rule); }
#arenaPlot [data-arena-section] { cursor:pointer; }
#arenaPlot .is-active .arena-floor-block { stroke:var(--green); stroke-width:2; }
.arena-dot { fill:var(--green); pointer-events:none; }
.arena-hint { color:var(--green); font-size:12px; margin:18px 0 6px; }
.arena-note,.arena-source { font-size:11px; color:var(--ink2); line-height:1.8; }
.arena-detail { min-width:0; padding:24px; border-left:1px solid var(--rule); background:var(--paper); }
.arena-detail label { display:block; font-size:11px; color:var(--ink2); margin-bottom:8px; }
.arena-detail select { width:100%; min-height:44px; border:1px solid var(--rule); border-radius:8px; padding:9px 12px; background:var(--paper2); color:var(--ink); font:inherit; font-size:14px; }
.arena-detail h3 { margin:24px 0 12px; font-size:20px; font-weight:500; color:var(--green); }
.arena-record { display:block; padding:15px 0; border-bottom:1px solid var(--rule2); text-decoration:none; color:var(--ink); overflow-wrap:anywhere; }
.arena-record time { display:block; font:11px 'DM Mono',monospace; color:var(--gold); margin-bottom:7px; }
.arena-record strong { display:block; font-size:15px; font-weight:500; }
.arena-record span { display:block; font-size:12px; line-height:1.7; margin:5px 0; color:var(--ink2); }
.arena-record small { display:block; font-size:11px; color:var(--ink2); line-height:1.8; }
.arena-record:hover strong { color:var(--green); text-decoration:underline; }
.arena-empty { font-size:13px; color:var(--ink2); line-height:1.8; }
.arena-source { margin-top:12px; }
.arena-source a { color:var(--ink2); text-underline-offset:3px; }
@media(max-width:960px) { .arena-layout{grid-template-columns:minmax(0,1fr) 270px}.arena-heading{align-items:flex-start;flex-direction:column;gap:6px}.arena-map-column{padding:14px} }
@media(max-width:700px) { .arena-layout{grid-template-columns:1fr}.arena-detail{border-left:0;border-top:1px solid var(--rule);padding:20px}.arena-map-column{padding:12px}.arena-detail select{font-size:16px}.arena-seats{margin-top:28px;padding-top:28px} }
