:root{--dock-h:186px}:root,:root[data-theme=dark]{--map-ground:#070707}:root[data-theme=light]{--map-ground:#f3f4f4}.night-explorer{--header-h:57px;grid-template-columns:minmax(0,1fr);grid-template-areas:"head""stage""search""filters""list";display:grid}.ne-head{grid-area:head}.ne-stage{grid-area:stage}.ne-search{grid-area:search}.ne-filters{grid-area:filters}.ne-list{grid-area:list;min-width:0}.night-explorer .discovery-head{padding:14px 0 12px;display:block}.discovery-search{margin-inline:var(--page-inset);padding:14px 0 10px}.home-reels-short{display:none}@media (max-width:999px){.night-explorer .home-heading{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title reels""count reels";align-items:center;column-gap:12px;display:grid}.night-explorer .home-heading h1{grid-area:title}.night-explorer .home-count{grid-area:count}.night-explorer .home-reels-link{grid-area:reels}.night-explorer .discovery-head{padding:12px 0 10px}.home-reels-long{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.home-reels-short{display:inline}}:root:not([data-js]) .ne-stage{display:none}.ne-stage{border-block:1px solid var(--ink);background:var(--map-ground);flex-direction:column;min-width:0;height:clamp(440px,100svh - 136px,760px);scroll-margin-top:0;display:flex;position:relative}.nm-canvas{background:var(--map-ground);flex:auto;min-height:160px;position:relative;overflow:hidden}.nm-canvas>.nm-map{position:absolute;inset:0}.nm-loading{color:var(--muted);font:700 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;place-items:center;display:grid;position:absolute;inset:0}.nm-hud{z-index:2;pointer-events:none;justify-items:start;gap:6px;max-width:calc(100% - 74px);display:grid;position:absolute;top:10px;left:10px}.nm-hud>*{pointer-events:auto}.nm-tools{flex-wrap:wrap;gap:6px;display:flex}.nm-tool{border:1px solid var(--ink);background:var(--paper);min-height:44px;color:var(--ink);font:700 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.nm-tool .ui-icon{font-size:16px}.nm-tool{justify-content:center;width:44px;padding:0}.nm-tool .ui-icon{width:20px;height:20px}.nm-tool-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nm-tool:hover,.nm-tool:focus-visible{border-color:var(--lime);background:var(--lime);color:var(--on-lime)}.nm-tool:disabled{opacity:.6}.nm-legend{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 11px/1.4 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;gap:4px 12px;margin:0;padding:6px 9px;list-style:none;display:flex}.nm-legend:empty,.nm-key-short{display:none}@media (max-width:699px){.nm-legend-map{display:none}.nm-panel .nm-panel-title p{white-space:normal}.nm-key-short{display:inline}.nm-key-short .nm-key{vertical-align:-1px;width:9px;height:9px}}.nm-legend li{align-items:center;gap:6px;display:inline-flex}.nm-demo{color:var(--danger)}.nm-key{border-radius:50%;width:11px;height:11px;display:inline-block}.nm-key-venue{background:var(--lime);box-shadow:0 0 0 1.5px var(--map-ground);outline:1px solid var(--ink)}.nm-key-city{border:2px solid var(--lime);background:var(--map-ground)}:root[data-theme=light] .nm-key-city,:root[data-theme=light] .nm-key-tonight{border-color:var(--ink)}.nm-key-tonight{border:2px solid var(--lime);outline:2px solid color-mix(in srgb, var(--lime) 40%, transparent);outline-offset:2px}.nm-key-liked{border:1.5px solid var(--ink)}.nm-toast{z-index:3;background:var(--lime);max-width:calc(100% - 24px);color:var(--on-lime);font:700 12px/1.3 var(--font-mono);text-align:center;padding:10px 14px;position:absolute;bottom:44px;left:50%;translate:-50%}.nm-toast:empty{clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}.nm-canvas .maplibregl-ctrl-top-right{top:4px;right:4px}.nm-canvas .maplibregl-ctrl-group{border:1px solid var(--ink);background:var(--paper);box-shadow:none;border-radius:0}.nm-canvas .maplibregl-ctrl-group button{width:44px;height:44px}.nm-canvas .maplibregl-ctrl-group button+button{border-top-color:var(--line)}:root[data-theme=dark] .nm-canvas .maplibregl-ctrl-icon{filter:invert()}.nm-canvas .maplibregl-ctrl-attrib{background:color-mix(in srgb, var(--paper) 88%, transparent);color:var(--muted);font:11px/1.4 var(--font-body)}.nm-canvas .maplibregl-ctrl-attrib a{color:var(--ink)}:root[data-theme=dark] .nm-canvas .maplibregl-ctrl-attrib{background:#141414}.nm-canvas .maplibregl-cooperative-gesture-screen{color:#f1f1ec;font:700 13px/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:#0000009e}.nm-pulse{pointer-events:none;width:18px;height:18px}.nm-pulse-city{width:30px;height:30px}.nm-pulse:before,.nm-pulse:after{content:"";opacity:0;border:2px solid #d8ff00;border-radius:50%;animation:2.6s cubic-bezier(.2,.6,.3,1) infinite nm-pulse;position:absolute;inset:0}.nm-pulse:after{animation-delay:1.3s}:root[data-theme=light] .nm-pulse:before,:root[data-theme=light] .nm-pulse:after{border-color:#0a0a0a}@keyframes nm-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(3.6)}}@media (prefers-reduced-motion:reduce){.nm-pulse:before{opacity:.6;animation:none;transform:scale(1.8)}.nm-pulse:after{display:none}}.nm-you{pointer-events:none;background:#fff;border:4px solid #0a0a0a;border-radius:50%;outline:2px solid #fff;width:18px;height:18px}.nm-panel{border-top:1px solid var(--ink);background:var(--paper);flex-direction:column;flex:0 0 280px;min-height:0;padding:10px 0 12px;display:flex;overflow:hidden}.nm-panel-head{flex:0 0 54px;justify-content:space-between;align-items:center;gap:10px;min-height:0;padding:0 12px 10px;display:flex}.nm-panel-title{min-width:0}.nm-panel-title h2{white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:800;overflow:hidden}.nm-panel-title p{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font:600 11px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;overflow:hidden}.nm-panel-actions{flex:none;gap:6px;display:flex}.nm-listen-all{border:1px solid var(--ink);background:var(--ink);min-height:44px;color:var(--paper);font:700 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.nm-listen-all.is-on,.nm-listen-all:hover:not(:disabled){border-color:var(--lime);background:var(--lime);color:var(--on-lime)}.nm-listen-all:disabled{border-color:var(--line);color:var(--muted);cursor:default;background:0 0}.nm-icon-button{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);background:0 0;place-items:center;padding:0;font-size:18px;display:inline-grid}.nm-icon-button:hover{border-color:var(--ink)}.nm-icon-button[aria-pressed=true]{color:var(--signal)}.nm-strip{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;flex:1 1 0;grid-auto-columns:min(86%,340px);grid-auto-flow:column;gap:8px;min-height:0;margin:0;padding:0 12px 2px;scroll-padding-inline:12px;list-style:none;display:grid;overflow-x:auto}.nm-card{border:1px solid var(--line);background:var(--surface);scroll-snap-align:start;grid-template-columns:56px minmax(0,1fr);gap:6px 10px;padding:8px;display:grid;position:relative}.nm-card:hover{border-color:var(--ink)}.nm-card.is-playing{border-color:var(--lime)}.nm-card-art{aspect-ratio:1;width:56px;overflow:hidden}.nm-card-art .artwork,.nm-card-art .artwork-fallback{width:100%;height:100%}.nm-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.nm-card-when{font:700 12px/1.3 var(--font-mono);letter-spacing:.02em;text-transform:uppercase;justify-content:space-between;gap:8px;display:flex}.nm-card.is-tonight .nm-card-when time{color:var(--signal)}.nm-card-distance{color:var(--muted);flex:none}.nm-card-title{font-family:var(--font-display);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:21px;font-weight:800;line-height:1;overflow:hidden}.nm-card-title a:after{content:"";position:absolute;inset:0}.nm-card-title a:hover{text-decoration:none}.nm-card:hover .nm-card-title a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.nm-card-lineup,.nm-card-place,.nm-card-taste{white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.35;overflow:hidden}.nm-card-place{color:var(--muted);font-size:12px}.nm-card-genres{color:var(--muted);font:600 11px/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nm-card-approx{color:var(--ink)}.nm-card-taste{color:var(--signal);font:700 11px/1.4 var(--font-mono);text-transform:uppercase;align-items:center;gap:5px;display:flex}.nm-card-actions{z-index:1;grid-column:1/-1;justify-content:flex-end;gap:6px;display:flex;position:relative}.nm-card-listen,.nm-card-tickets{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);font:700 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:7px;padding:0 13px;display:inline-flex}.nm-card-listen:hover{border-color:var(--ink)}.nm-card.is-playing .nm-card-listen{border-color:var(--lime)}.nm-card-tickets{border-color:var(--lime);background:var(--lime);color:var(--on-lime)}.nm-card-tickets:hover{background:#c3e600;border-color:#c3e600;text-decoration:none}.nm-more{scroll-snap-align:start;display:grid}.nm-more a{border:1px dashed var(--line);min-height:44px;font:700 12px/1.3 var(--font-mono);text-transform:uppercase;justify-content:center;align-items:center;gap:8px;padding:10px;display:flex}.nm-empty{min-height:0;color:var(--muted);flex-wrap:wrap;flex:1 1 0;align-items:center;gap:10px 14px;padding:0 12px;font-size:14px;display:flex;overflow-y:auto}.nm-unmapped{color:var(--muted);margin:8px 12px 0;font-size:12px;line-height:1.4}.nm-dock{border-top:1px solid var(--ink);background:var(--surface);flex:none}.nm-dock-bar{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"play kicker buttons""play now buttons";align-items:center;column-gap:10px;padding:8px 10px;display:grid}.nm-dock-play{background:var(--lime);width:44px;height:44px;color:var(--on-lime);border:0;grid-area:play;place-items:center;font-size:18px;display:grid}.nm-dock-kicker{color:var(--muted);font:700 11px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;grid-area:kicker;overflow:hidden}.nm-dock-now{min-width:0;min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;grid-area:now;align-content:center;padding:0;display:grid}.nm-dock-dj{white-space:nowrap;align-items:baseline;gap:10px;min-width:0;display:flex;overflow:hidden}.nm-dock-name{font-family:var(--font-display);text-transform:uppercase;flex:none;font-size:22px;font-weight:800;line-height:1.05}.nm-dock-track{min-width:0;color:var(--muted);text-overflow:ellipsis;font-size:13px;overflow:hidden}.nm-dock-night{color:var(--signal);font:600 12px/1.4 var(--font-mono);text-underline-offset:3px;white-space:nowrap;text-overflow:ellipsis;text-decoration:underline;text-decoration-thickness:1px;overflow:hidden}.nm-dock-now:hover .nm-dock-name{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.nm-dock-buttons{grid-area:buttons;gap:4px;display:flex}.nm-dock-frame iframe{border:0;width:100%;height:116px;display:block}.nm-dock-consent{gap:10px;padding:12px;display:grid}.nm-dock-copy p:last-child{margin-top:4px;font-size:13px;line-height:1.45}.nm-dock-copy a{text-decoration:underline}.nm-dock-choices{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.nm-dock-choices .button{min-height:44px;padding:10px 14px}.nm-topbar{display:none}.night-explorer.is-expanded .ne-stage{z-index:80;border:0;height:100dvh;position:fixed;inset:0}.night-explorer.is-expanded .nm-topbar{border-bottom:1px solid var(--ink);background:var(--paper);flex:0 0 66px;align-items:center;gap:8px;height:66px;min-height:0;padding:6px 8px;display:flex}.nm-back{border:1px solid var(--ink);background:var(--ink);min-height:44px;color:var(--paper);font:700 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex:none;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.nm-topbar-filters{flex:auto;min-width:0}.nm-topbar-filters .filter-row{grid-template-columns:minmax(0,1fr)}.nm-topbar-filters .filter-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:999px){.nm-dock{z-index:85;max-height:var(--dock-h);position:fixed;bottom:0;left:0;right:0}.nm-dock-consent{max-height:none}body:has(.night-explorer.is-listening){padding-bottom:var(--dock-h)}.night-explorer.is-listening:not(.is-expanded) .ne-stage{height:max(340px, calc(100svh - 136px - var(--dock-h)))}.night-explorer.is-expanded.is-listening .ne-stage{padding-bottom:var(--dock-h)}}@media (max-width:520px){:root{--dock-h:178px}.nm-panel-title h2{font-size:19px}.nm-listen-all{padding:0 11px}.nm-dock-play{display:none}.nm-dock-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kicker buttons""now buttons";column-gap:6px;padding:6px 8px 6px 10px}.nm-dock-buttons{gap:0}.nm-dock-buttons .nm-icon-button{border-color:#0000}.nm-dock-name{font-size:19px}.nm-dock-track{display:none}.nm-dock-frame iframe{height:104px}}@media (max-width:370px){:root{--dock-h:226px}.nm-dock-bar{grid-template-columns:minmax(0,1fr);grid-template-areas:"kicker""now""buttons"}.nm-dock-buttons{justify-content:space-between}}@media (max-width:360px){.night-explorer .home-reels-link{justify-content:center;width:44px;padding:0}.night-explorer .home-reels-short{display:none}.night-explorer .home-heading h1{font-size:32px}.nm-listen-all{letter-spacing:.02em;padding:0 8px}}@media (min-width:1000px){body:has(.night-explorer) .site-header{z-index:40;background:var(--paper);position:sticky;top:0}.night-explorer{--header-h:73px;grid-template:"head stage""search stage""filters stage""list stage"1fr/minmax(0,min(46vw,760px)) minmax(0,1fr)}.night-explorer .discovery-head,.night-explorer .discovery-search,.night-explorer .filter-panel,.night-explorer .listing-section{margin-inline:var(--gutter) 32px}.night-explorer .discovery-head{padding-top:24px}.ne-stage{top:var(--header-h);height:calc(100svh - var(--header-h));border-block:0;border-left:1px solid var(--ink);align-self:start;position:sticky}.night-explorer .event-day-heading{top:var(--header-h)}.night-explorer .listing-section{scroll-margin-top:var(--header-h)}}@media (min-width:1100px){.night-explorer .event-days{gap:28px}.night-explorer .event-day{display:block}.night-explorer .event-day-heading{border-top:0;border-bottom:1px solid var(--ink);background:var(--paper);flex-direction:row;align-items:baseline;gap:12px;padding:12px 0 8px}.night-explorer .event-day-heading h3{flex-direction:row;gap:2px 12px}.night-explorer .event-day .ev-rows{border-top:0}.night-explorer .event-day .ev-row:first-child{padding-top:14px}}.nm-panel{flex-basis:132px;padding:6px 0}.nm-panel-head{display:none}.nm-legend-map:has(.nm-demo){display:flex}.nm-strip{gap:8px;padding:0 10px 2px}.nm-card{grid-template-columns:48px minmax(0,1fr) 44px;align-items:center;gap:4px 8px;padding:7px}.nm-card-body{gap:1px;overflow:hidden}.nm-card-title{font-size:20px}.nm-card-lineup{font-size:12px}.nm-card-art{align-self:center;width:48px}.nm-card-genres,.nm-card-taste{display:none}.nm-card-actions{flex-direction:column;grid-area:1/3;gap:3px}.nm-card-listen,.nm-card-tickets{justify-content:center;width:44px;height:44px;min-height:44px;padding:0}.nm-card-listen span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.nm-card-tickets{gap:0;font-size:0}.nm-card-tickets .ui-icon{width:19px;height:19px}.nm-unmapped{white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;margin:3px 10px 0;overflow:hidden}.nm-panel:has(.nm-unmapped){padding-block:0}.nm-dj-browser{border-top:1px solid var(--ink);background:var(--surface);flex:0 0 104px;grid-template-rows:44px 44px;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:2px 4px;min-height:0;padding:6px 10px;display:grid}.nm-dj-browser-name{flex-direction:column;justify-content:center;min-width:0;display:flex}.nm-dj-browser-name span{color:var(--muted);font:600 11px/1.2 var(--font-mono)}.nm-dj-browser-name a{white-space:nowrap;text-overflow:ellipsis;font:800 22px/1.1 var(--font-display);text-transform:uppercase;overflow:hidden}.nm-dj-next .ui-icon{transform:rotate(180deg)}.nm-dj-browser-links{white-space:nowrap;grid-column:2/-1;align-items:center;gap:6px;display:flex;overflow-x:auto}.nm-dj-browser-links .chip-button{flex-shrink:0;min-height:44px}.nm-dj-browser-links>span{color:var(--muted);font-size:12px}
