@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#20343b;background:#eef3f5;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}header{height:90px;padding:0 38px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #d8e1e5}.brand{display:flex;gap:13px;align-items:center}.mark{font-size:43px;color:#db9a2b}.brand strong{font-family:'Space Grotesk',sans-serif;font-size:24px;letter-spacing:1px}.brand strong span{font-weight:400}.brand small{display:block;font-size:11px;letter-spacing:1.6px;margin-top:3px;color:#6d7b81}button{border:1px solid #cbd8de;background:#fff;color:#28404a;border-radius:7px;padding:9px 12px}button:hover{background:#eef4f6}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dfad36;outline-offset:3px}header button{border:none;font-size:14px}main{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:calc(100vh - 90px)}aside{background:white;padding:32px 28px;border-right:1px solid #d8e1e5}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:700;color:#697c86}h1{font:500 30px/1.15 'Space Grotesk',sans-serif;letter-spacing:-1px;margin:14px 0 28px}label{display:block;font-size:14px;font-weight:600;margin:18px 0 8px}input[type=date],select{width:100%;height:43px;border:1px solid #cdd8dd;border-radius:6px;background:#fff;color:#243d47;padding:8px 10px}.presets{display:flex;gap:8px;margin-top:9px}.presets button{font-size:13px;padding:6px 13px}.muted{font-size:13px;line-height:1.5;color:#61747d}.divider{height:1px;background:#e1e8eb;margin:24px 0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result{display:flex;align-items:center;gap:12px;padding:17px 14px;background:#e7eef6;border-radius:8px;margin-top:20px}.result>span{font-size:31px}.result strong{display:block;font-size:18px}.result small{display:block;font-size:12px;margin-top:4px}.footnote{font-size:12px;line-height:1.55;color:#77858c}.workspace{padding:30px;min-width:0;display:flex;flex-direction:column}.viewbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}h2{font:500 23px 'Space Grotesk',sans-serif;margin:6px 0}.badge{background:#e0e9ec;border:1px solid #d2dfe4;border-radius:20px;padding:7px 10px;font-size:10px;letter-spacing:1px;white-space:nowrap}.stage{position:relative;min-height:420px;height:calc(100vh - 350px);max-height:760px;background:#e4ecf0;border:1px solid #cfdee5;border-radius:13px;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.viewbuttons{position:absolute;top:16px;left:16px;display:flex;gap:8px;align-items:center}.viewbuttons button{font-size:12px;background:#ffffffdb}.roof-label{display:flex;align-items:center;gap:5px;margin:0;font-size:12px;font-weight:400;background:#ffffffdb;border-radius:6px;padding:8px}.compass{position:absolute;right:23px;top:23px;font-family:'Space Grotesk';font-weight:600;color:#69828e}.legend{position:absolute;left:18px;bottom:19px;display:flex;gap:15px;font-size:12px;background:#ffffffdf;border-radius:6px;padding:10px 13px}.legend span{display:flex;align-items:center;gap:6px}i{width:10px;height:10px;display:inline-block;border-radius:3px}.sunlit{background:#e5b852}.shaded{background:#547ea8}.selected{background:#fafcfb;border:2px solid #213c49}.help{position:absolute;right:17px;bottom:23px;font-size:11px;color:#6c8592}.timepanel{margin-top:18px;background:#fff;border:1px solid #d5e0e6;border-radius:12px;padding:20px 25px}.timehead{display:flex;align-items:center;gap:20px}.clock{font:500 35px 'Space Grotesk';margin-top:4px}.clock span{font-size:19px;font-weight:400}.suninfo{margin-left:auto;text-align:right;font-size:14px}.suninfo small{display:block;color:#74858d;font-size:12px;margin-top:5px}#play{background:#203e49;color:white;width:42px;height:42px}input[type=range]{accent-color:#254b60;width:100%;margin:19px 0 8px;cursor:pointer}.scale{display:flex;justify-content:space-between;font-size:11px;color:#788991}.dayline{display:flex;height:15px;gap:2px;margin:18px 0 6px}.dayline button{border:0;padding:0;border-radius:2px;flex:1;min-width:0}.dayline button:hover{outline:2px solid #223f4b}.close{float:right}dialog{border:1px solid #bccdd6;border-radius:14px;padding:30px;max-width:620px;color:#2b424d}dialog::backdrop{background:#152b3999}dialog p{line-height:1.6;font-size:15px}a{color:#2c6986}@media(max-width:1050px){main{grid-template-columns:270px minmax(0,1fr)}aside{padding:26px 22px}.workspace{padding:22px}.help{display:none}.badge{display:none}}@media(max-width:720px){header{padding:0 18px;height:76px}.brand strong{font-size:20px}.brand small{font-size:9px}header button{font-size:12px}main{display:flex;flex-direction:column}.workspace{order:0;padding:18px 14px}aside{order:1;border-right:0;border-top:1px solid #d8e1e5;display:block;padding:24px}h1{font-size:26px;margin-bottom:20px}.stage{height:420px;min-height:360px}.viewbuttons{left:9px;top:10px;gap:5px}.viewbuttons button{padding:7px}.roof-label{font-size:11px;padding:7px}.compass{top:55px;right:18px}.timepanel{padding:18px}.eyebrow{font-size:10px}.legend{font-size:11px;left:12px;bottom:12px}aside .footnote{max-width:500px}.pair{max-width:400px}.clock{font-size:29px}dialog{margin:18px;padding:22px}.dayline{height:22px}}

/* Compact working surface: scales to the available laptop browser height. */
header{height:64px;padding:0 24px}.mark{font-size:34px}.brand strong{font-size:22px}.brand small{font-size:12px;letter-spacing:1px}main{grid-template-columns:300px minmax(0,1fr);height:calc(100dvh - 64px);min-height:600px}aside{padding:18px 20px;min-width:0;overflow-y:auto}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.sidebar-heading h1{font-size:19px;letter-spacing:-.5px;line-height:1.2;margin:0}.sidebar-heading .eyebrow{font-size:12px;letter-spacing:0;white-space:nowrap}label{margin:12px 0 6px}input[type=date],select{height:38px;padding:6px 9px;font-size:14px;min-width:0}.availability{display:block;font-size:12px;color:#74858d;margin-top:5px}.optional{font-size:12px;font-weight:400;color:#74858d;margin-left:5px}.muted{margin:6px 0;font-size:13px;line-height:1.4}.divider{margin:16px 0}.eyebrow{font-size:12px;letter-spacing:1px}.seat-controls{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px}.seat-controls>div{min-width:0}.result{padding:12px 10px;margin-top:14px;gap:10px}.result>span{font-size:26px}.result strong{font-size:17px}.result small{font-size:12px;line-height:1.4}.dayline{margin:12px 0 6px;height:18px}.scale{font-size:12px}.footnote{margin:12px 0 0;font-size:12px;line-height:1.45}.text-button{border:0;background:none;padding:0;color:#2c6986;font-size:12px;text-decoration:underline}.workspace{padding:18px 20px;min-height:0;gap:12px}.viewbar{margin:0;flex-shrink:0;min-height:40px}.viewbar h2{display:inline;font-size:22px;margin-right:14px}.park-location{font-size:14px;color:#697c86}.badge{font-size:12px;letter-spacing:.5px}.stage{height:auto;max-height:none;min-height:260px;flex:1}.timepanel{margin:0;padding:12px 16px;display:grid;grid-template-columns:auto minmax(140px,1fr) auto;align-items:center;gap:24px;flex-shrink:0}.timehead{gap:14px}.clock{font-size:27px;margin-top:2px;white-space:nowrap}.clock span{font-size:16px}.timehead .eyebrow{font-size:12px;letter-spacing:.5px}.time-track{min-width:0}.time-track input{display:block;margin:3px 0 8px;height:18px}.suninfo{margin:0;font-size:14px;white-space:nowrap}.suninfo small{font-size:12px;margin-top:4px}#play{width:36px;height:36px;padding:0}.viewbuttons button,.roof-label{font-size:14px}.legend{font-size:14px}.help{font-size:12px}.compass{font-size:14px}.presets{display:none}
@media(min-width:721px) and (max-height:740px){aside{padding-top:14px;padding-bottom:14px}.sidebar-heading{margin-bottom:8px}label{margin-top:10px}.divider{margin:12px 0}.result{margin-top:12px}.dayline{margin-top:10px}.workspace{padding:14px 18px;gap:10px}}
@media(min-width:721px) and (max-width:1150px){main{grid-template-columns:280px minmax(0,1fr)}.workspace{padding-left:14px;padding-right:14px}.timepanel{gap:14px}.timepanel .suninfo{display:none}.timepanel{grid-template-columns:auto minmax(140px,1fr)}.park-location{display:block;margin-top:3px}.badge{display:none}.help{display:none}}
@media(max-width:720px){header{height:70px;padding:0 14px}.brand strong{font-size:20px}.brand small{font-size:10px}.brand{gap:8px}main{height:auto;min-height:0;display:flex}.workspace{padding:14px;gap:10px}.stage{height:390px;min-height:390px;flex:none}.timepanel{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:12px}.suninfo{display:none}.timehead{gap:10px}.timehead .eyebrow{font-size:10px}.clock{font-size:23px}.time-track .scale{font-size:10px}.viewbar h2{font-size:21px}.park-location{display:block;margin-top:3px;font-size:13px}aside{padding:20px;overflow:visible}.sidebar-heading h1{font-size:22px}.sidebar-heading{margin-bottom:16px}.viewbuttons button,.roof-label{font-size:12px}.legend{font-size:12px}.help{display:none}.seat-controls{max-width:400px}.badge{display:none}}
/* Camera controls keep the stadium, rather than labels, in the foreground. */
.viewbuttons{right:16px;justify-content:space-between;gap:10px;align-items:flex-start}.camera-buttons,.map-toggles{display:flex;gap:5px}.camera-buttons{padding:4px;background:#ffffffeb;border:1px solid #cadbd8;border-radius:9px;box-shadow:0 3px 12px #3252460a}.camera-buttons button{border:0;background:transparent;padding:7px 10px;font-size:13px}.camera-buttons button[aria-pressed=true]{background:#294e52;color:#fff;border-radius:6px}.map-toggles{flex-wrap:wrap;justify-content:flex-end}.roof-label{font-size:12px;border:1px solid #cfddd9}.compass{top:77px;right:27px}.hover-label{position:absolute;pointer-events:none;background:#203e49;color:#fff;padding:7px 10px;border-radius:6px;font-size:12px;box-shadow:0 3px 10px #24454b22;z-index:2}.legend{font-size:12px}.stage{border-color:#c5d9d4}.shaded{background:#486d82}
@media(max-width:1050px){.viewbuttons{flex-wrap:wrap;right:12px;left:12px}.camera-buttons button{font-size:12px;padding:6px 8px}.map-toggles{gap:4px}.roof-label{padding:6px;font-size:12px}.compass{top:106px}.help{display:none}}
@media(max-width:720px){.viewbuttons{gap:6px;top:10px}.camera-buttons{gap:2px}.camera-buttons button{font-size:12px}.map-toggles{justify-content:flex-start}.stage{height:430px;min-height:430px}.legend{font-size:12px}}

.site-links{display:flex;align-items:center;gap:12px}.site-links>a{font-size:14px;text-decoration:none;color:#526c73;white-space:nowrap}.site-links>a:hover{text-decoration:underline}@media(max-width:720px){.site-links{gap:4px}.site-links>a{font-size:12px}.site-links button{max-width:92px;padding:6px}}

/* At close zoom, replace the in-scene sun with a compact direction readout. */
.sun-direction{position:absolute;right:18px;top:102px;z-index:1;display:flex;align-items:center;gap:9px;padding:8px 10px;background:#fffdf2e8;border:1px solid #e2cc8c;border-radius:8px;box-shadow:0 3px 12px #55471414;color:#5f5125;opacity:0;visibility:hidden;transition:opacity .18s ease;pointer-events:none}.sun-direction>span:last-child{display:flex;flex-direction:column}.sun-direction strong{font:600 12px/1.1 'Space Grotesk',sans-serif}.sun-direction small{font-size:10px;line-height:1.3;margin-top:2px;white-space:nowrap;color:#786a3a}.sun-arrow{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f4c760;color:#6d5517;font-size:18px;font-weight:700;line-height:1;transform-origin:center;transition:transform .12s linear}@media(max-width:1050px){.sun-direction{top:132px;right:12px}}@media(max-width:720px){.sun-direction{top:132px;padding:7px 9px}.sun-direction small{font-size:9px}}
