@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";
:root{--ink:#25262b;--muted:#7b7b83;--line:#e8e6e1;--paper:#fcfbf8;--purple:#6350a3;--lavender:#f0edf8;--green:#3c7962;--orange:#be7745}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--purple);outline-offset:4px}a{color:inherit;text-decoration:none}header{border-bottom:1px solid var(--line);background:#fffefa;align-items:center;gap:60px;height:84px;padding:0 44px;display:flex}.brand{letter-spacing:-1.2px;align-items:center;font-family:Manrope,sans-serif;font-size:25px;font-weight:800;display:flex}.brand-icon{background:var(--purple);color:#fff;border-radius:9px;place-items:center;width:33px;height:33px;margin-right:10px;display:grid}.brand-dot{color:var(--purple)}header nav{align-self:stretch;gap:32px;display:flex}header nav button{color:var(--muted);padding:0 2px;font-size:13px;font-weight:600;position:relative}header nav button.active{color:var(--purple)}header nav button.active:after{background:var(--purple);content:"";height:3px;position:absolute;bottom:0;left:0;right:0}header nav span{background:#eeece6;border-radius:5px;margin-left:3px;padding:2px 6px;font-size:10px}.city-label{color:#64636a;align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.city-label svg:last-child{color:#a4a1aa;margin-left:12px}.intro{justify-content:space-between;align-items:center;padding:35px 44px 30px;display:flex}.eyebrow{letter-spacing:1.8px;color:#89848c;text-transform:uppercase;font-size:9px;font-weight:700}.intro .eyebrow{color:var(--purple);margin-bottom:12px}h1{letter-spacing:-1.7px;margin:0 0 9px;font-family:Manrope,sans-serif;font-size:37px;font-weight:650;line-height:1.2}h1 span{color:var(--purple)}.intro p{color:var(--muted);margin:0;font-size:14px}.snapshot{color:#76767c;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;width:220px;font-size:11px;display:flex}.snapshot-dot{background:var(--green);border-radius:50%;width:5px;height:5px}.snapshot button{color:#8e8995;align-items:center;gap:4px;margin-top:7px;font-size:11px;display:flex}.toolbar{border-bottom:1px solid var(--line);align-items:center;gap:25px;padding:0 44px 26px;display:flex}.search{color:#96929b;background:#fff;border:1px solid #e3e0d9;border-radius:8px;flex:1;align-items:center;gap:10px;max-width:480px;height:43px;padding:0 14px;display:flex}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.search input::placeholder{color:#99949b}.genre-tabs{gap:6px;display:flex}.genre-tabs button{color:#77737b;border-radius:7px;padding:10px 16px;font-size:12px}.genre-tabs .active{background:var(--lavender);color:var(--purple);font-weight:600}.filter-button{border:1px solid #e0ddd7;border-radius:7px;align-items:center;gap:9px;margin-left:auto;padding:11px 14px;font-size:12px;display:flex}.filter-button.active{background:var(--lavender)}.filter-dot{background:var(--purple);border-radius:50%;width:5px;height:5px}.filter-panel{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:24px;padding:18px 44px;font-size:12px;display:flex}.filter-panel label{align-items:center;gap:10px;display:flex}.filter-panel select{border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:7px;font-size:12px}.filter-panel button{color:var(--purple);margin-left:auto}.explorer{grid-template-columns:minmax(420px,43%) 1fr;height:calc(100vh - 314px);min-height:520px;display:grid}.results{border-right:1px solid var(--line);background:var(--paper);scrollbar-width:thin;scrollbar-color:#d8d3df transparent;overflow:auto}.results-heading{justify-content:space-between;align-items:center;padding:26px 30px 21px 44px;display:flex}h2{letter-spacing:-.5px;margin:0 0 7px;font-family:Manrope,sans-serif;font-size:18px;font-weight:650}.results-heading p{color:var(--muted);margin:0;font-size:11px}.small-icon{color:#b7accc}.period-tabs{border-bottom:1px solid var(--line);gap:22px;margin:0 30px 0 44px;display:flex}.period-tabs button{color:var(--muted);padding:0 0 13px;font-size:11px;position:relative}.period-tabs button.active{color:var(--purple);font-weight:650}.period-tabs button.active:after{content:"";background:var(--purple);height:2px;position:absolute;bottom:-1px;left:0;right:0}.cards{padding:5px 30px 0 44px}.show-card{border-bottom:1px solid var(--line);padding:22px 0 21px}.show-meta{color:#96909b;align-items:center;gap:10px;font-size:9px;display:flex}.show-meta>span:nth-child(2){border-left:1px solid #ddd7df;padding-left:10px}.status{color:var(--green);align-items:center;gap:5px;font-weight:500;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:4px;height:4px}.status.upcoming{color:var(--purple)}.status.unverified{color:#a26c2b}.icon-button{color:#9b94a2;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.icon-button:hover{background:#eeeaf4}.icon-button.active{color:var(--purple)}.save{margin-top:-7px;margin-bottom:-7px;margin-left:auto}.show-card h3{letter-spacing:-.6px;margin:11px 0 9px;font-family:Manrope,sans-serif;font-size:21px;font-weight:650;line-height:1.35}.venue-link{color:#706975;text-align:left;align-items:center;gap:5px;padding:0;font-size:11px;display:flex}.venue-link svg:last-child{color:#a29aaa}.venue-link:hover{color:var(--purple)}.dates{color:#8b8590;align-items:center;gap:6px;margin:9px 0 17px;font-size:11px;display:flex}.card-bottom{color:#a39da5;justify-content:space-between;align-items:center;gap:10px;font-size:9px;display:flex}.card-bottom b{padding:0 4px;font-weight:400}.card-bottom a{color:var(--purple);white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:flex}.show-note{color:#96909b;margin:12px 0 0;font-size:10px;line-height:1.5}.map-wrap{isolation:isolate;background:#edece8;position:relative;overflow:hidden}.map-canvas,.map-loading{z-index:1;width:100%;height:100%}.map-loading{color:#8b8398;place-items:center;display:grid}.map-canvas .leaflet-control-attribution{color:#87848b;background:#fffdf9d9;font-family:inherit;font-size:9px}.map-canvas .leaflet-control-zoom{border:1px solid #e6e0dc;margin-bottom:38px;margin-right:20px;box-shadow:0 2px 8px #34303912}.map-canvas .leaflet-control-zoom a{color:#746783;border-color:#eee8e4;font-size:17px}.map-label{z-index:400;letter-spacing:1.4px;color:#77707e;background:#fffefbea;border:1px solid #e4e0d9;border-radius:7px;align-items:center;gap:7px;padding:11px 14px;font-size:8px;display:flex;position:absolute;top:20px;left:20px;box-shadow:0 2px 6px #32294306}.live-dot{background:#9182b1;border-radius:50%;width:5px;height:5px}.map-legend{z-index:400;color:#7c7582;background:#fffefaeb;border:1px solid #e8e1d9;border-radius:6px;gap:16px;padding:9px 12px;font-size:9px;display:flex;position:absolute;bottom:24px;left:20px}.map-legend span{align-items:center;gap:6px;display:flex}.map-legend i{border-radius:50%;width:7px;height:7px}.legend-purple{background:#8874b4}.legend-orange{background:#c98e60}.theater-pin{color:#7e68a5;background:#f8f5fd;border:1.5px solid #b9a5d0;border-radius:50%;place-items:center;width:30px;height:30px;transition:transform .15s;display:grid;box-shadow:0 2px 5px #30224626}.theater-pin.broadway{color:#b3784d;background:#fff8f0;border-color:#d7ad8d}.theater-pin.has-shows{color:#fff;background:#8871b0;border:2px solid #faf7ff}.theater-pin.broadway.has-shows{background:#be875c;border-color:#fff9f0}.theater-pin.selected{background:#544179;border-color:#fff;transform:scale(1.3);box-shadow:0 0 0 5px #74609926}.leaflet-tooltip{color:#51445e;border:1px solid #e1dae7;font-family:DM Sans,sans-serif;font-size:11px;box-shadow:0 3px 12px #35234115}.venue-detail{z-index:500;background:#fffefa;border:1px solid #e4dde9;border-radius:12px;flex-direction:column;width:min(370px,100% - 44px);padding:25px 23px 16px;display:flex;position:absolute;top:20px;bottom:52px;right:22px;box-shadow:0 8px 35px #39234d26}.close-detail{position:absolute;top:9px;right:11px}.venue-detail>.eyebrow{margin:7px 0 12px;padding-right:15px;font-size:8px}.venue-detail h2{margin:0 0 12px;font-size:24px;line-height:1.25}.address{color:#8d8392;gap:6px;margin:0 0 17px;font-size:11px;line-height:1.5;display:flex}.venue-actions{gap:8px;display:flex}.primary-button{background:var(--purple);color:#fff;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:11px 13px;font-size:11px;display:inline-flex}.follow-button{border:1px solid #dfd8e6;border-radius:6px;align-items:center;gap:6px;padding:9px;font-size:10px;display:flex}.company-follow{color:var(--purple);text-align:left;margin:12px 0 0;padding:0;font-size:10px}.detail-section-title{letter-spacing:1.5px;color:#a093ab;border-bottom:1px solid var(--line);padding:25px 0 12px;font-size:8px}.detail-section-title span{float:right}.detail-shows{scrollbar-width:thin;flex:1;min-height:50px;overflow:auto}.compact{padding:16px 0}.compact h3{font-size:17px}.compact .venue-link{display:none}.compact .dates{margin-bottom:12px}.compact .card-bottom>span{display:none}.compact .show-note{font-size:9px}.official-link{color:var(--purple);justify-content:space-between;align-items:center;padding-top:17px;font-size:11px;display:flex}.venue-warning{color:#946b3e;margin:0 0 15px;font-size:10px;line-height:1.5}.no-listings{color:#8f8696;padding:12px 0;font-size:11px;line-height:1.6}.venue-card{border-bottom:1px solid var(--line);justify-content:space-between;padding:23px 0;display:flex}.venue-card .eyebrow{letter-spacing:1px;font-size:8px}.venue-title{text-align:left;align-items:center;gap:6px;margin-top:8px;padding:0;font-family:Manrope,sans-serif;font-size:17px;font-weight:650;display:flex}.venue-card p{color:#938b99;margin:8px 0;font-size:11px}.venue-count{color:var(--purple);font-size:10px}.list-footer{color:#a39aa9;padding:25px 44px;font-size:10px;line-height:1.9}.list-footer button{color:#92849f;align-items:center;gap:4px;padding:0;font-size:10px;display:inline-flex}.empty{text-align:center;color:#9c91a7;padding:45px 10px}.empty h3{color:#655a71;font-size:18px}.empty p{font-size:12px;line-height:1.7}.empty button{color:var(--purple);align-items:center;gap:5px;font-size:12px;display:inline-flex}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#24202d70;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.about-modal{background:var(--paper);border-radius:14px;max-width:550px;max-height:90vh;padding:38px;position:relative;overflow:auto;box-shadow:0 20px 100px #1d102d33}.about-modal h2{margin:17px 0;font-size:34px;line-height:1.2}.about-modal p{color:#89808e;font-size:12px;line-height:1.8}.about-modal h3{margin:24px 0 6px;font-size:13px;font-weight:600}.about-modal .primary-button{margin-top:18px}.mobile-view{display:none}@media (min-width:1600px){.explorer{grid-template-columns:540px 1fr}.cards{padding-right:40px}}@media (max-width:1050px){header{gap:35px;padding:0 25px}.intro{padding:30px 25px}.toolbar{gap:10px;padding:0 25px 22px}.genre-tabs button{padding:10px}.results-heading,.cards{padding-left:25px}.period-tabs{margin-left:25px}.explorer{grid-template-columns:400px 1fr}.city-label svg:last-child{display:none}.filter-panel{flex-wrap:wrap;padding:15px 25px}.filter-panel button{margin-left:0}h1{font-size:32px}.map-legend{gap:8px;font-size:8px}}@media (max-width:760px){header{gap:20px;height:66px;padding:0 20px}.brand{font-size:20px}.brand-icon{width:28px;height:28px;margin-right:7px}.brand-icon svg{width:18px}header nav{gap:18px;margin-left:auto}header nav button{font-size:11px}header nav span,.city-label{display:none}.intro{padding:27px 20px 23px}.intro .eyebrow{margin-bottom:10px;font-size:8px}h1{letter-spacing:-1.3px;font-size:29px}.intro p{font-size:11px}.snapshot{display:none}.toolbar{flex-wrap:wrap;gap:12px;padding:0 20px 15px}.search{flex-basis:100%;max-width:none;height:42px}.genre-tabs{gap:1px}.genre-tabs button{padding:8px 11px;font-size:11px}.filter-button{padding:8px 10px;font-size:11px}.mobile-view{border-bottom:1px solid var(--line);background:#f7f5f0;justify-content:center;gap:5px;padding:10px;display:flex}.mobile-view button{color:#8c8296;border-radius:5px;align-items:center;gap:6px;padding:7px 20px;font-size:11px;display:flex}.mobile-view .active{color:var(--purple);background:#fff;box-shadow:0 1px 4px #48345d12}.explorer{height:calc(100dvh - 320px);min-height:400px;display:block}.results{border:0;height:100%}.map-wrap{height:100%;display:none}.show-map .map-wrap{display:block}.show-map .results{display:none}.results-heading{padding:22px 23px 20px}.results-heading h2{font-size:17px}.period-tabs{margin:0 23px}.cards{padding:3px 23px 0}.show-card h3{font-size:21px}.show-card{padding:21px 0}.card-bottom{font-size:9px}.venue-detail{width:calc(100% - 24px);padding:20px;top:12px;bottom:28px;right:12px}.venue-detail h2{font-size:23px}.map-label{padding:9px;font-size:7px;top:12px;left:12px}.map-legend{padding:7px;bottom:23px;left:12px}.filter-panel{gap:12px;padding:15px 20px;font-size:10px}.filter-panel label{flex-wrap:wrap}.filter-panel select{font-size:11px}.about-modal{padding:28px}.about-modal h2{font-size:29px}.list-footer{padding-left:23px}}.cluster-pin{color:#fff;background:#766197;border:4px solid #eee8f5;border-radius:50%;place-items:center;width:36px;height:36px;font:600 12px DM Sans,sans-serif;display:grid;box-shadow:0 2px 6px #30224625}.map-canvas .leaflet-tile-pane{filter:grayscale(.8)saturate(.3)contrast(.75)brightness(1.15)}.freshness{color:#777080;margin:10px 0;font-size:10px}.freshness>span{background:#f0ede7;border-radius:5px;align-items:center;gap:6px;padding:5px 7px;line-height:1.4;display:inline-flex}.freshness i{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.freshness.freshness-snapshot{color:#536c61}.freshness.freshness-snapshot>span{background:#edf2ec}.freshness.freshness-stale,.freshness.freshness-error{color:#94662e}.freshness.freshness-stale>span,.freshness.freshness-error>span{background:#faf0df}.freshness.expanded{margin:0 0 14px}.freshness p{color:#817889;margin:7px 0 0;font-size:10px;line-height:1.6}.freshness a{color:var(--purple);text-decoration:underline}.freshness .inventory-date{font-size:9px}.location-note{color:#94662e!important}.venue-card>div{min-width:0}.venue-card>.icon-button{flex-shrink:0}.venue-detail{overflow-y:auto}.venue-detail>*{flex-shrink:0}.venue-detail .detail-shows{flex:1;min-height:90px}.stage-list{color:#817889;margin-top:12px;font-size:10px;line-height:1.5}.stage-list summary{cursor:pointer;color:var(--purple)}.stage-list p{margin:5px 0}.venue-title{overflow-wrap:anywhere}.show-description{color:var(--muted,#666);margin:8px 0 12px;font-size:13px;line-height:1.5}.show-description summary{cursor:pointer;font-size:12px}.show-description p{margin:7px 0 0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.critics-pick{color:#564382;background:#f0ebf8;border:1px solid #e0d6ee;border-radius:5px;margin:0 0 12px;padding:5px 8px;font-size:11px;line-height:1.4;display:inline-flex}.filter-coverage{color:#706577;padding:0 25px 0 44px;font-size:11px}.show-card h3 a{color:inherit}.show-card h3 a:hover{text-decoration:underline}.show-page{max-width:1100px;margin:auto;padding:30px 32px 80px}.show-page nav{color:var(--purple);margin-bottom:40px;font-size:13px}.show-page-grid{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:70px;display:grid}.show-page h1{letter-spacing:-1.5px;overflow-wrap:anywhere;margin:14px 0 24px;font-size:42px;line-height:1.16}.show-page h2{letter-spacing:-.5px;font-size:21px}.show-page section{margin-top:36px}.show-page p{line-height:1.65}.show-page .quiet{color:#746d7b;font-size:12px}.show-page .synopsis{font-size:16px;line-height:1.8}.show-page-actions{gap:12px;margin:24px 0;display:flex}.show-page-actions .primary-button{font-size:13px}.show-visit{background:#f3f0eb;border-radius:10px;align-self:start;padding:24px}.show-visit h2{margin-top:0}.show-visit a{color:var(--purple);font-size:12px}.show-visit hr{border:0;border-top:1px solid var(--line);margin:24px 0}.review-list{padding:0;list-style:none}.review-list li{border-bottom:1px solid var(--line);padding:18px 0}.review-list li>a:first-child{color:var(--purple);font-weight:600}.review-list p{color:#746d7b;margin:7px 0;font-size:12px}.review-evidence{color:var(--purple);font-size:11px;text-decoration:underline}.show-page a:focus-visible,.show-card a:focus-visible{outline:2px solid var(--purple);outline-offset:4px}@media (max-width:760px){.show-page{padding:24px 20px 50px}.show-page nav{margin-bottom:28px}.show-page-grid{grid-template-columns:1fr;gap:30px}.show-page h1{font-size:32px}.show-page .synopsis{font-size:15px}.filter-coverage{padding:0 23px}}.show-page .quiet{color:#676070}
