/* NOIR Guest Design — Final Polish / Part 06 */
:root{color-scheme:dark;--p6-ivory:#f4efe6;--p6-muted:rgba(244,239,230,.66);--p6-line:rgba(255,255,255,.08);--p6-surface:rgba(255,255,255,.035);--p6-champagne:#d7c3a0;--p6-ease:cubic-bezier(.22,.8,.2,1)}
*{-webkit-tap-highlight-color:transparent}
html{background:#080a0c;scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{background:#080a0c;color:var(--p6-ivory);overscroll-behavior-y:none;touch-action:manipulation;min-height:100dvh}
button,input,textarea,select{font:inherit}
button{touch-action:manipulation}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid rgba(215,195,160,.9);outline-offset:3px}
::selection{background:rgba(215,195,160,.25);color:#fff}
.guest-app{isolation:isolate}
.guest-top{backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);background:linear-gradient(180deg,rgba(8,10,12,.93),rgba(8,10,12,.74) 72%,rgba(8,10,12,0));z-index:30}
.guest-top:after{content:"";position:absolute;inset:auto 18px 0;border-bottom:1px solid rgba(255,255,255,.045)}
.view{transform-origin:50% 10%;will-change:opacity,transform}
.view.active{animation:noirViewIn .34s var(--p6-ease) both}
@keyframes noirViewIn{from{opacity:0;transform:translateY(8px) scale(.997)}to{opacity:1;transform:none}}
.section,.venue-card,.your-night-card,.district-card,.install-card,.night-card,.member-deck-p5{contain:layout paint}
.section{content-visibility:auto;contain-intrinsic-size:1px 360px}
.btn,.primary,.secondary,.settings-list button,.member-quick-btn-p5,.payment-method-card,.mode-btn,.filter-pill{min-height:44px}
.btn,.primary,.secondary{transition:transform .18s var(--p6-ease),background-color .18s ease,border-color .18s ease,opacity .18s ease}
.btn:active,.primary:active,.secondary:active,.member-quick-btn-p5:active,.venue-card:active{transform:scale(.985)}
.venue-card,.member-quick-btn-p5,.settings-list button,.member-sheet-row-p5{transition:transform .22s var(--p6-ease),border-color .22s ease,background-color .22s ease}
.venue-card:hover,.member-quick-btn-p5:hover,.settings-list button:hover{border-color:rgba(215,195,160,.18)}
.bottom-nav{padding-bottom:max(10px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(8,10,12,.58),rgba(8,10,12,.97) 28%);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);border-top:1px solid rgba(255,255,255,.06);box-shadow:0 -18px 44px rgba(0,0,0,.28)}
.bottom-nav button{position:relative;min-height:54px;color:rgba(244,239,230,.5);transition:color .2s ease,transform .2s var(--p6-ease)}
.bottom-nav button.active{color:var(--p6-ivory)}
.bottom-nav button.active:after{content:"";position:absolute;top:1px;left:50%;width:18px;height:2px;transform:translateX(-50%);border-radius:4px;background:var(--p6-champagne);box-shadow:0 0 16px rgba(215,195,160,.45)}
.bottom-nav .pass-button span{border-color:rgba(215,195,160,.26);background:radial-gradient(circle at 35% 25%,rgba(215,195,160,.18),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.sheet-backdrop{overscroll-behavior:contain;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sheet{padding-bottom:max(22px,env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.08);box-shadow:0 -24px 70px rgba(0,0,0,.52)}
.sheet-handle{opacity:.48}
.sheet-title{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,rgba(14,15,16,.98),rgba(14,15,16,.88) 80%,rgba(14,15,16,0));backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding-bottom:13px}
.toast{bottom:calc(82px + env(safe-area-inset-bottom));max-width:min(360px,calc(100vw - 32px));border:1px solid rgba(255,255,255,.1);background:rgba(18,19,20,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 48px rgba(0,0,0,.36)}
.profile-orb{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.24)}
.profile-orb.verified{border-color:rgba(215,195,160,.45);box-shadow:inset 0 0 0 1px rgba(215,195,160,.12),0 8px 24px rgba(0,0,0,.28)}
.member-deck-p5{box-shadow:0 22px 64px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.04)}
.member-quick-btn-p5{min-width:0}
.member-quick-btn-p5 strong,.member-quick-btn-p5 small{overflow-wrap:anywhere}
.member-status-chip-p5{max-width:45%;overflow:hidden;text-overflow:ellipsis}
.noir-splash,.onboarding-overlay,.venue-overlay,.night-detail-overlay-p4,.event-detail-overlay-p4,.inventory-offer-overlay,.drop-detail-overlay{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.search-box,.places-search-input,.flow-form input,.flow-form textarea,.flow-form select{caret-color:var(--p6-champagne)}
.live-time,.queue-position-p3,.wallet-amount,.payment-amount,.pass-code,.pass-expiry b{font-variant-numeric:tabular-nums}
img,svg,video{max-width:100%}
html[dir="rtl"] .member-hero-p5,html[dir="rtl"] .member-sheet-row-p5,html[dir="rtl"] .settings-list button{direction:rtl;text-align:right}
html[dir="rtl"] .member-quick-btn-p5{text-align:right;justify-items:start}
html[dir="rtl"] .bottom-nav button.active:after{left:50%;right:auto}
html[dir="rtl"] .sheet-title,html[dir="rtl"] .page-head,html[dir="rtl"] .venue-copy{text-align:right}
@media (min-width:860px){body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 12%,rgba(215,195,160,.065),transparent 30%),radial-gradient(circle at 82% 78%,rgba(255,255,255,.035),transparent 32%)}.guest-app{box-shadow:0 0 0 1px rgba(255,255,255,.055),0 30px 100px rgba(0,0,0,.46);border-radius:30px 30px 0 0;overflow:clip}.sheet{max-width:520px;margin-inline:auto;border-radius:28px 28px 0 0}.sheet-backdrop{align-items:flex-end}.venue-detail-shell,.night-detail-shell-p4,.event-detail-shell-p4{max-width:520px;margin-inline:auto}}
@media (hover:none){.venue-card:hover,.member-quick-btn-p5:hover,.settings-list button:hover{border-color:var(--p6-line)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view.active{animation:none}.btn,.primary,.secondary,.venue-card,.member-quick-btn-p5,.settings-list button{transition:none!important}.pass-card-live,.status-pulse i,.network-live i{animation:none!important}}
@media (prefers-contrast:more){:root{--p6-line:rgba(255,255,255,.2);--p6-muted:rgba(244,239,230,.82)}.btn,.member-quick-btn-p5,.settings-list button,.member-sheet-row-p5{border-color:var(--p6-line)}}
