/* After Hours: stable venue information around the existing physical arena. */
:root{--night-mint:#e9eef2;--night-yellow:#ffda39;--night-green:#c7fc68;--night-quiet:#bcd2c6}
.night-context{position:absolute;left:3.5%;right:3.5%;top:96px;display:flex;align-items:center;gap:24px;min-height:38px;padding:10px 0;border-top:1px solid #8bbfa33d;border-bottom:1px solid #8bbfa33d;font-size:11px;letter-spacing:1px;background:#020a07d9;pointer-events:auto}
.night-context>span{display:flex;align-items:center;gap:9px;white-space:nowrap}.night-context b{font-weight:600}.night-context>span:first-child>b{color:var(--night-green)}.context-divider{color:#749b85}.court-number{color:var(--night-yellow)}.session-chapter{margin-left:auto;color:var(--night-quiet)}.session-chapter b{color:var(--night-yellow)}.session-clock{color:var(--night-quiet)}.session-clock time{color:#effcf2;font-variant-numeric:tabular-nums;font-size:14px}
#networkState{font-size:11px;letter-spacing:.6px;color:var(--night-mint)}#networkState i{height:6px;width:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px #92edbd60}#networkState[data-state=offline]{color:var(--night-yellow)}
.mast{padding-top:18px;padding-bottom:10px}.mast nav{gap:12px}.mast nav button,.mast nav a{letter-spacing:1px;font-size:11px}.wordmark small{color:var(--night-mint)}
#pilotToggle{display:flex;align-items:center;gap:11px;max-width:245px;min-width:160px;text-align:left;pointer-events:auto}.pilot-emblem{width:37px;height:42px;flex-shrink:0;fill:none;stroke:var(--night-mint);stroke-width:1}.pilot-emblem path+path{fill:var(--night-yellow);stroke:none}.pilot-heading{display:flex;flex-direction:column;min-width:0}#pilotToggle small{margin:0;color:var(--night-quiet);font-size:11px;letter-spacing:.9px}#pilotToggle small:first-child{color:var(--night-mint);margin-bottom:4px}#worldPilotName{font:600 25px/1 'Barlow Condensed',sans-serif;letter-spacing:1.2px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#pilotToggle #worldPilotTier{margin-top:5px;color:var(--night-yellow);letter-spacing:.4px}
.opening-title{top:21%;max-width:25%;width:320px}.opening-title h1{font-size:clamp(36px,3.65vw,60px);margin:0;min-height:1.95em;text-wrap:balance}.opening-title em{color:var(--night-green)}[data-tone=mint] #nightTitleAccent{color:var(--night-mint)}[data-tone=yellow] #nightTitleAccent{color:var(--night-yellow)}.opening-title #nightSubtitle{display:block;font-size:12px;line-height:1.6;color:#d3e6da;margin:15px 0 0;max-width:260px;min-height:3.2em;text-wrap:pretty}
.title-navigation{display:flex;gap:12px;align-items:center;margin:11px 0 0}.opening-title .title-navigation button{min-height:28px;padding:5px 0;border:0;font-size:11px;letter-spacing:.6px;color:var(--night-quiet)}#nextNightTitle{display:flex;gap:12px;align-items:center}#nightTitleCount{color:var(--night-yellow);font-variant-numeric:tabular-nums}.opening-title .reveal-court{margin-top:10px;color:var(--night-mint);font-size:11px;letter-spacing:.35px}.opening-title #howToggle{font-size:11px}
#courtPresence{margin-top:11px;gap:8px 14px}#courtPresence small{display:block;font-size:11px;letter-spacing:.6px;color:var(--night-quiet)}
.feature{top:151px}.feature-top{color:var(--night-mint)}.feature-title{color:#f0ffe8}#modePreview{top:43%}.mode[data-mode="0"] .index{color:var(--night-yellow)}.mode[data-mode="1"] .index{color:var(--night-green)}.mode[data-mode="2"] .index{color:var(--night-mint)}.mode .index{font-size:11px;letter-spacing:.8px}.mode[data-mode="0"] strong{color:var(--night-yellow)}.mode[data-mode="2"] strong{color:var(--night-mint)}
.arena-telemetry{width:195px;bottom:83px}.arena-telemetry .court-identity{display:block;padding:10px 0}.arena-telemetry .court-identity small{font-size:11px;color:var(--night-quiet)}.arena-telemetry .court-identity strong{font-size:27px;letter-spacing:.3px;color:var(--night-yellow);margin:5px 0}.arena-telemetry .court-identity span{font-size:11px;color:var(--night-mint)}.arena-telemetry #quickStats{padding:10px 0}.arena-telemetry #quickStats>span{font-size:11px}.arena-telemetry #openingRating{font-size:24px;color:#effbea}.arena-telemetry #openingRating small{font-size:11px;color:var(--night-quiet)}.arena-telemetry #seasonToggle span{display:block;font-size:11px;color:var(--night-mint)}.arena-telemetry #seasonToggle strong{font-size:11px;color:var(--night-yellow);margin:5px 0}
#pilotNameForm label{display:block;color:var(--night-mint);font-size:11px;letter-spacing:1px;margin:20px 0 10px}.pilot-name-edit{display:flex;gap:10px}.pilot-name-edit input{min-width:0;width:100%;background:#11261b;border:1px solid #69947c;color:#f0f8ee;caret-color:var(--night-yellow);padding:11px;font-size:16px}.drawer .pilot-name-edit .primary{width:auto}#pilotSaveStatus{display:block;color:var(--night-mint);font-size:11px;line-height:1.5;margin-top:8px}.pilot-name-edit input:focus-visible{outline:2px solid var(--night-green);outline-offset:3px}.drawer{top:140px}.drawer h2{color:var(--night-yellow)}.drawer dd{color:#d0e9d9}#pilotDetails dd{color:var(--night-mint)}
body:not([data-world-view=entrance]) .night-context,.touring .night-context{display:none}.world-footer{background:#020c08e8}.opening-actions strong{color:#e2f5e6}
@media(min-width:681px) and (max-width:1150px){.mast{gap:12px}.mast nav{gap:6px}.mast nav button,.mast nav a{font-size:11px;padding:8px 6px}.wordmark{font-size:23px}#pilotToggle{min-width:118px;gap:6px}#worldPilotName{font-size:22px;max-width:120px}.pilot-emblem{width:27px}.night-context{gap:16px;font-size:11px}.session-chapter{gap:6px!important}.session-clock{gap:5px!important}.opening-title{left:4%;width:24%}.opening-title h1{font-size:36px}.opening-title #nightSubtitle{font-size:11px}.title-navigation{gap:8px}.opening-title .title-navigation button{font-size:11px}.arena-telemetry{left:4%;width:165px}.arena-telemetry .court-identity strong{font-size:23px}}
@media(min-width:681px) and (max-height:780px){.opening-title{top:23%}.opening-title h1{font-size:34px}.opening-title #nightSubtitle{font-size:11px;margin-top:10px;min-height:3.2em}.title-navigation{margin-top:3px}.opening-title .reveal-court{margin-top:3px;padding:7px 0}.opening-title #howToggle{padding:6px 0}#courtPresence{margin-top:8px;font-size:11px}.arena-telemetry{bottom:65px}.arena-telemetry button,.arena-telemetry #quickStats,.arena-telemetry .court-identity{padding:6px 0}.arena-telemetry .court-identity strong{font-size:22px}.arena-telemetry #openingRating{font-size:20px}.arena-telemetry #seasonToggle{padding:6px 0}}
@media(max-width:680px){.mast{padding:15px 5%;gap:13px}.wordmark{font-size:22px}.wordmark small{font-size:11px;margin-top:7px}.mast nav{order:3;width:100%;gap:13px;padding:0}.mast nav button,.mast nav a{font-size:11px;min-height:30px}#pilotToggle{margin-left:auto;min-width:0;max-width:47%;gap:7px}.pilot-emblem{width:28px;height:34px}#worldPilotName{font-size:22px;max-width:120px}#pilotToggle small{font-size:11px}#pilotToggle #worldPilotTier{font-size:11px}.night-context{left:5%;right:5%;top:116px;min-height:61px;flex-wrap:wrap;gap:8px 12px;padding:8px 0;font-size:11px;letter-spacing:.5px}.night-context>span{gap:6px}.night-context>span:first-child{flex:1 1 55%}.session-chapter{margin-left:0;font-size:11px}.session-clock{font-size:11px;flex:1 1 50%}.session-clock time{font-size:11px}#networkState{font-size:11px}.opening-title{top:204px;left:5%;width:64%;max-width:64%}.opening-title h1{font-size:38px}.opening-title #nightSubtitle{display:block;font-size:11px;margin-top:10px;max-width:205px;min-height:3.2em}.title-navigation{margin-top:6px;gap:12px}.opening-title .title-navigation button{font-size:11px}.opening-title .reveal-court{font-size:11px;margin-top:5px;padding:8px 0}.opening-title #howToggle{font-size:11px}.feature{top:204px;width:86px}.feature-top{font-size:11px}#courtPresence{font-size:11px;gap:7px;margin-top:8px}#courtPresence small{display:none}.arena-telemetry{display:none}.opening-actions{bottom:244px;gap:8px}.opening-actions strong{font-size:11px}.opening-actions #pausePresentation{font-size:11px}.orb-action{bottom:201px}.drawer{top:185px;max-height:calc(100dvh - 205px)}#choices{bottom:101px;height:91px}.mode .index{font-size:11px;letter-spacing:.3px}.mode strong{font-size:20px}.mode .detail{font-size:11px;line-height:1.5}#modePreview{top:auto;bottom:295px}.world-footer{height:89px;min-height:89px}.world-footer #inputHint{font-size:11px}.world-footer .settings{gap:10px}.world-footer .settings button{font-size:11px;min-height:27px}}
@media(max-width:680px) and (max-height:760px){.opening-title{top:188px}.opening-title h1{font-size:31px}.opening-title #nightSubtitle{font-size:11px;margin-top:7px;min-height:3.2em}.feature{top:190px}.title-navigation{margin-top:0}.opening-title .reveal-court{padding:6px 0;margin:0}.opening-title #howToggle{padding:5px 0}#courtPresence{display:none}.opening-actions{bottom:223px}.opening-actions #pausePresentation{display:none}.orb-action{bottom:188px}#choices{height:83px;bottom:98px}}
@media(max-height:610px){.night-context{top:76px;min-height:32px;padding:7px 0}.opening-title{top:125px}.opening-title h1{font-size:28px}.opening-title #nightSubtitle{font-size:11px}.opening-title #howToggle,#courtPresence,.opening-actions,.arena-telemetry{display:none}.feature{top:126px;width:96px}}
@media(prefers-reduced-motion:reduce){#nightTitleCopy{animation:none;transition:none}}
@media(forced-colors:active){#networkState i{background:CanvasText;box-shadow:none}.pilot-emblem{stroke:CanvasText}.pilot-emblem path+path{fill:CanvasText}}
/* Venue lockup stays below every rotating tagline. */
.opening-title .reveal-court{text-align:left;display:block;width:100%;max-width:245px;padding:10px 0 12px;border-top:1px solid #92edbd50;border-bottom:1px solid #92edbd50;margin-top:12px}.venue-name{display:block;color:var(--night-yellow);font:600 27px/1.05 'Barlow Condensed',sans-serif;letter-spacing:.5px}.venue-name b{font:500 11px Inter,Arial,sans-serif;color:var(--night-mint);vertical-align:middle;margin-left:8px}.venue-circuit{display:block;font-size:11px;letter-spacing:1px;color:var(--night-mint);margin-top:6px}.venue-action{display:block;color:#d0e9db;font-size:11px;letter-spacing:.6px;margin-top:9px}.opening-title .reveal-court:hover .venue-name{color:#f3ffe9}.opening-title #howToggle{margin-top:4px}
@media(min-width:681px) and (max-height:780px){.opening-title .reveal-court{margin-top:4px;padding:8px 0}.venue-name{font-size:23px}.venue-action{margin-top:7px}#courtPresence small{display:none}}
@media(max-width:680px){.opening-title .reveal-court{margin-top:5px;padding:8px 0;max-width:210px}.venue-name{font-size:23px}.venue-circuit{font-size:11px;letter-spacing:.7px}.venue-action{font-size:11px;margin-top:7px}#courtPresence{display:none}}
@media(max-width:680px) and (max-height:760px){.opening-actions{display:none}.opening-title .reveal-court{padding:7px 0}.venue-name{font-size:21px}.venue-circuit{margin-top:4px}.venue-action{display:none}.opening-title #howToggle{padding:6px 0}.opening-title{top:190px}}
@media(max-width:680px){.night-context{top:134px;display:grid;grid-template-columns:1fr auto;gap:7px 10px;min-height:76px}.night-context>span:first-child{grid-column:1/-1;letter-spacing:.3px}.session-chapter{font-size:11px;letter-spacing:0}.session-clock{justify-content:flex-end;font-size:11px;letter-spacing:0}.session-clock time{font-size:12px}#networkState{grid-column:1/-1;font-size:11px}.opening-title{top:231px}.feature{top:236px}.opening-title .reveal-court{max-width:230px}.venue-circuit{letter-spacing:0}.title-navigation{gap:10px;flex-wrap:wrap}.opening-title .title-navigation button{font-size:11px;letter-spacing:0}#nextNightTitle{gap:8px}.mast nav{gap:8px}.mast nav button,.mast nav a{font-size:11px;letter-spacing:0}.mast nav{overflow-x:auto}.pilot-heading small{letter-spacing:0!important}#pilotToggle{max-width:53%}.world-footer .settings{gap:10px}.world-footer .settings button{font-size:11px}.world-footer .settings button#intro{display:none}.world-footer .settings button[data-view=overview]{display:none}.mode .index{font-size:11px}.mode .detail{font-size:11px;line-height:1.3}.world-footer{height:93px}.drawer{top:215px;max-height:calc(100dvh - 235px)}}
@media(max-width:680px) and (max-height:760px){.opening-title{top:226px;max-width:92%;width:92%}.opening-title h1{font-size:31px;min-height:1.95em}.opening-title #nightSubtitle{font-size:11px;max-width:300px;min-height:1.6em}.feature{display:none}.opening-title .reveal-court{max-width:300px;padding:6px 0}.venue-circuit{display:none}.venue-name{font-size:22px}.title-navigation{margin-top:3px}.opening-title #howToggle{font-size:11px}.opening-title .title-navigation button{min-height:26px}.orb-action{bottom:196px}#choices{height:91px;bottom:97px}}
