
/* NIGHTSHOT V6.00 — native application design system */
:root{
 --ns-bg:#07060a;--ns-surface:#111015;--ns-surface2:#18151d;--ns-line:rgba(255,255,255,.08);
 --ns-text:#fff;--ns-muted:#a49daa;--ns-primary:#f248c7;--ns-purple:#9b43ff;--ns-danger:#ff627a;
 --ns-radius:20px;--ns-radius-sm:14px;--ns-tap:46px;--ns-top:58px;--ns-tab:64px;
 --ns-safe-top:env(safe-area-inset-top);--ns-safe-bottom:env(safe-area-inset-bottom);
}
html{background:var(--ns-bg);width:100%;max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%}
body{background:var(--ns-bg)!important;color:var(--ns-text);width:100%;max-width:100%;min-height:100dvh;overflow-x:clip;margin:0;-webkit-tap-highlight-color:transparent}
*,*::before,*::after{box-sizing:border-box;min-width:0}
img,video,canvas,iframe,svg{max-width:100%}
input,select,textarea{font-size:16px;max-width:100%}
button,a,[role=button],summary{touch-action:manipulation}
body.ns-native-app{padding:0!important}
body.ns-native-app .ns-global-header{position:fixed!important;inset:0 0 auto 0!important;z-index:1500!important;padding-top:var(--ns-safe-top)!important;background:rgba(7,6,10,.82)!important;backdrop-filter:blur(24px) saturate(150%)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important;border-bottom:1px solid var(--ns-line)!important}
body.ns-native-app .ns-mainbar{height:var(--ns-top)!important;min-height:var(--ns-top)!important;padding:7px 12px!important;grid-template-columns:44px 1fr 44px!important}
body.ns-native-app .ns-global-header-spacer{display:block!important;height:calc(var(--ns-top) + var(--ns-safe-top))!important}
.ns-global-search-trigger{display:none}
@media(max-width:768px){
 .ns-global-search-trigger{display:grid!important;grid-column:3;grid-row:1;width:42px;height:42px;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.055);color:#fff}
 .ns-global-search-trigger svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9}
 body.ns-native-app .ns-site-footer{display:none!important}
 body.ns-native-app main{width:100%!important;max-width:100%!important;min-height:calc(100dvh - var(--ns-top) - var(--ns-safe-top));padding-bottom:calc(var(--ns-tab) + var(--ns-safe-bottom) + 14px)!important}
 body.ns-native-app .ns-app-bottom-nav{display:grid!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:1600!important;height:calc(var(--ns-tab) + var(--ns-safe-bottom))!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;padding:6px 6px max(6px,var(--ns-safe-bottom))!important;background:rgba(9,8,12,.89)!important;border-top:1px solid var(--ns-line)!important;backdrop-filter:blur(26px) saturate(150%)!important;-webkit-backdrop-filter:blur(26px) saturate(150%)!important}
 body.ns-native-app .ns-app-bottom-nav a{min-height:50px!important;display:grid!important;place-items:center!important;align-content:center!important;gap:2px!important;border-radius:14px!important;color:#8f8895!important;text-decoration:none}
 body.ns-native-app .ns-app-bottom-nav a svg{width:22px!important;height:22px!important}
 body.ns-native-app .ns-app-bottom-nav a.is-active{color:#fff!important}
 body.ns-native-app .ns-app-bottom-nav a.is-active svg{color:var(--ns-primary)!important}
 body.ns-keyboard-open .ns-app-bottom-nav{display:none!important}
 body.ns-keyboard-open main{padding-bottom:16px!important}
}
/* contextual toolbar */
.ns-native-toolbar{position:sticky;top:calc(var(--ns-top) + var(--ns-safe-top));z-index:1200;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 12px;background:linear-gradient(180deg,rgba(7,6,10,.96),rgba(7,6,10,.76),transparent)}
.ns-native-inline-nav{display:flex;align-items:center;gap:8px}.ns-native-title{display:grid;min-width:0}.ns-native-title small{font-size:.53rem;letter-spacing:.14em;color:var(--ns-muted)}.ns-native-title strong{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ns-native-back,.ns-native-iconbtn{width:44px;height:44px;border:1px solid var(--ns-line);border-radius:50%;background:rgba(255,255,255,.05);color:#fff;display:grid;place-items:center;text-decoration:none}
.ns-native-back svg,.ns-native-iconbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* native cards */
.ns-native-card,.ns-fact,.ns-event-desc,.ns-venue-card,.venue-card,.person,.comm-post,.comm-category-card,.panel,.card{
 border:1px solid var(--ns-line)!important;border-radius:var(--ns-radius)!important;background:linear-gradient(180deg,rgba(23,20,28,.97),rgba(13,11,17,.97))!important;box-shadow:0 12px 32px rgba(0,0,0,.2)!important
}
/* native full-screen search */
.ns-native-search{position:fixed;inset:0;z-index:3000;display:none;background:var(--ns-bg);padding:max(10px,var(--ns-safe-top)) 12px max(12px,var(--ns-safe-bottom));overflow:auto}
.ns-native-search.open{display:block}.ns-native-search-head{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:center;position:sticky;top:0;background:var(--ns-bg);z-index:2;padding-bottom:10px}
.ns-native-search-close{width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.055);color:#fff;font-size:1.5rem}
.ns-native-search-field{height:48px;border:1px solid var(--ns-line);border-radius:15px;background:#111015;display:flex;align-items:center;padding:0 13px;gap:8px}.ns-native-search-field svg{width:19px;height:19px;fill:none;stroke:#aaa;stroke-width:2}.ns-native-search-field input{flex:1;border:0!important;background:transparent!important;color:#fff!important;outline:0!important;padding:0!important}
.ns-native-search-state{padding:36px 8px;text-align:center;color:var(--ns-muted)}.ns-native-search-group{margin:18px 0}.ns-native-search-group h3{margin:0 0 8px 4px;font-size:.58rem;letter-spacing:.14em;color:var(--ns-primary)}
.ns-native-search-result{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06);color:#fff;text-decoration:none}.ns-native-search-result span{display:grid}.ns-native-search-result small{color:var(--ns-muted);margin-top:3px}.ns-native-search-result b{font-size:1.2rem;color:#7d7583}
/* action sheet */
.ns-native-backdrop{position:fixed;inset:0;z-index:3100;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:none}.ns-native-backdrop.open{display:block}
.ns-native-sheet{position:fixed;z-index:3200;left:8px;right:8px;bottom:calc(8px + var(--ns-safe-bottom));transform:translateY(120%);transition:transform .22s ease;border:1px solid var(--ns-line);border-radius:26px;background:#111015;padding:8px 10px 10px;box-shadow:0 30px 90px rgba(0,0,0,.65);max-height:78dvh;overflow:auto}
.ns-native-sheet.open{transform:translateY(0)}.ns-native-sheet-handle{width:42px;height:5px;border-radius:99px;background:#49434d;margin:3px auto 10px}.ns-native-sheet-title{padding:5px 6px 10px;font-size:.74rem;color:var(--ns-muted);text-align:center}
.ns-native-sheet button,.ns-native-sheet a{width:100%;min-height:52px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font:inherit;font-weight:800}.ns-native-sheet .danger{color:var(--ns-danger)}
/* toasts */
.ns-native-toast-stack{position:fixed;z-index:4000;left:12px;right:12px;bottom:calc(var(--ns-tab) + var(--ns-safe-bottom) + 12px);display:grid;justify-items:center;pointer-events:none}
.ns-native-toast{max-width:min(92vw,460px);padding:11px 15px;border:1px solid var(--ns-line);border-radius:14px;background:rgba(26,22,31,.96);box-shadow:0 18px 48px rgba(0,0,0,.4);color:#fff;font-size:.8rem;animation:nsToastIn .18s ease both}
@keyframes nsToastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* fullscreen media viewer */
.ns-native-viewer{position:fixed;inset:0;z-index:3500;display:none;background:#000;padding:var(--ns-safe-top) 0 var(--ns-safe-bottom)}.ns-native-viewer.open{display:grid;grid-template-rows:56px 1fr 56px}
.ns-native-viewer-top,.ns-native-viewer-bottom{display:flex;align-items:center;justify-content:space-between;padding:6px 12px}.ns-native-viewer button{width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:1.25rem}.ns-native-viewer-stage{overflow:auto;display:grid;place-items:center;touch-action:pinch-zoom}.ns-native-viewer-stage img{max-width:100%;max-height:100%;object-fit:contain}
.ns-native-viewer-bottom{justify-content:center;color:#aaa;font-size:.72rem}
/* skeleton */
.ns-skeleton{position:relative;overflow:hidden;background:#151219!important}.ns-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);animation:nsShimmer 1.2s infinite}@keyframes nsShimmer{to{transform:translateX(100%)}}
/* offline pill */
.ns-offline-pill{position:fixed;z-index:5000;top:calc(var(--ns-safe-top) + 8px);left:50%;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:#2a2023;color:#ffd4da;border:1px solid rgba(255,98,122,.28);font-size:.69rem;font-weight:850;display:none}.ns-offline-pill.show{display:block}
/* simplify giant mobile hero sections */
@media(max-width:768px){
 .venue-hero,.people-hero,.ns-portfolio-hero{min-height:auto!important;padding:18px 14px!important;margin:0 0 12px!important;border-radius:0!important;border-inline:0!important;background-image:none!important}
 .venue-hero h1,.people-hero h1,.ns-portfolio-title{font-size:clamp(1.8rem,9vw,2.6rem)!important;line-height:.98!important}
 .ns-portfolio-hero-content{padding:12px 0!important;width:100%!important}.ns-portfolio-title-row{display:block!important}.ns-portfolio-tagline{margin-top:10px!important;font-size:.86rem!important}
 .ns-portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2px!important}.ns-portfolio-card{border-radius:2px!important;aspect-ratio:1/1!important}
 .ns-portfolio-gallery{padding:4px 0 80px!important}.ns-photo-wrap{width:100%!important}
 .ns-breadcrumb{display:none!important}
}
@media(min-width:769px){.ns-native-toolbar{display:none}.ns-native-search{inset:70px 18% 12%;border:1px solid var(--ns-line);border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.65)}}
@media(prefers-reduced-motion:reduce){.ns-native-sheet{transition:none}.ns-native-toast{animation:none}.ns-skeleton::after{animation:none}}

body.ns-native-app{opacity:.985;transition:opacity .16s ease}body.ns-native-app.ns-screen-ready{opacity:1}
@media(max-width:768px){
 body.ns-native-app .venue-page,body.ns-native-app .people-page{padding-top:0!important;width:100%!important}
 body.ns-native-app .comm-wrap{padding-top:0!important}
 body.ns-native-app .wrap{padding-top:0!important}
 body.ns-native-app .ns-photo-page{padding-top:0!important}
}
