/* NOIR Guest Design Program · Part 01/05
   Foundation + Splash + Onboarding + Member/KYC + Tonight.
   Designed for 320–520px mobile canvases, RTL, reduced motion and safe areas. */
:root{
  --noir-bg:#080a0c;
  --noir-panel:#0d1013;
  --noir-panel-2:#111418;
  --noir-ivory:#f3efe6;
  --noir-fog:#a5a097;
  --noir-dim:#6f6b64;
  --noir-metal:#c7b991;
  --noir-line:rgba(243,239,230,.095);
  --noir-line-strong:rgba(199,185,145,.28);
  --noir-radius:24px;
  --noir-ease:cubic-bezier(.22,.8,.25,1);
}
html,body{background:var(--noir-bg)}
body{color:var(--noir-ivory)}
.guest-app{max-width:520px;background:var(--noir-bg);position:relative;isolation:isolate}
.guest-app:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 82% -4%,rgba(199,185,145,.075),transparent 28%),radial-gradient(circle at -8% 34%,rgba(255,255,255,.025),transparent 27%)}
.guest-top{height:74px;align-items:center;background:linear-gradient(180deg,rgba(8,10,12,.97),rgba(8,10,12,.78) 70%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.guest-top .eyebrow{font-size:8px;letter-spacing:.22em;color:#8e897f}.brand{font-size:14px;letter-spacing:.46em}.profile-orb{background:rgba(17,20,24,.86);border-color:var(--noir-line-strong);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.profile-orb.verified:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#b8d6c1;border:2px solid var(--noir-bg);transform:translate(9px,-13px)}

/* Splash */
.noir-splash{position:fixed;inset:0;z-index:1000;background:#07090b;display:grid;place-items:center;opacity:1;visibility:visible;transition:opacity .42s var(--noir-ease),visibility .42s var(--noir-ease)}
.noir-splash.is-leaving{opacity:0;visibility:hidden}html.noir-booting,html.noir-booting body{overflow:hidden!important}.splash-center{text-align:center;position:relative;z-index:2}.splash-monogram{width:74px;height:74px;border:1px solid rgba(199,185,145,.34);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;font:38px/1 var(--serif);color:var(--noir-metal);box-shadow:0 0 0 10px rgba(199,185,145,.018)}.splash-wordmark{font-size:18px;font-weight:800;letter-spacing:.62em;text-indent:.62em}.splash-meta{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;color:#8f887d;font:400 10px/1.2 var(--serif);letter-spacing:.20em;text-transform:uppercase;font-variant-numeric:tabular-nums}.splash-meta i{font-style:normal;color:var(--noir-metal)}.splash-date-line{margin-top:10px;color:#6f6a62;font:400 9px/1.35 var(--serif);letter-spacing:.16em;text-transform:uppercase;max-width:310px;margin-inline:auto;padding-inline:18px;overflow-wrap:anywhere}.splash-grain{position:absolute;inset:0;opacity:.055;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}

/* First-run onboarding */
.onboarding-overlay{position:fixed;inset:0;z-index:950;background:#080a0c;display:none;overflow:hidden}.onboarding-overlay.show{display:block}.onboarding-shell{max-width:520px;min-height:100dvh;margin:auto;padding:calc(18px + env(safe-area-inset-top)) 22px calc(22px + env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(250px,1fr) auto auto}.onboarding-top{display:flex;align-items:center;justify-content:space-between}.mini-wordmark{font-size:12px;font-weight:800;letter-spacing:.42em}.text-action{border:0;background:transparent;color:#8d887f;min-height:42px;padding:0 2px;font-size:11px}.onboarding-visual{position:relative;display:grid;place-items:center;min-height:290px}.orbital-mark{width:min(58vw,260px);aspect-ratio:1;border:1px solid rgba(199,185,145,.19);border-radius:50%;display:grid;place-items:center;position:relative}.orbital-mark:before,.orbital-mark:after{content:"";position:absolute;border:1px solid rgba(243,239,230,.06);border-radius:50%}.orbital-mark:before{inset:12%}.orbital-mark:after{inset:30%}.orbital-mark span{font:clamp(82px,25vw,132px)/1 var(--serif);color:rgba(243,239,230,.92)}.onboarding-index{position:absolute;right:1%;bottom:10%;font:80px/.8 var(--serif);color:rgba(255,255,255,.035)}.onboarding-copy{max-width:430px}.onboarding-copy h1{font:400 clamp(48px,14vw,74px)/.9 var(--serif);letter-spacing:-.055em;margin:13px 0 18px}.onboarding-copy p{max-width:380px;color:#8f8a81;font-size:15px;line-height:1.6;margin:0}.onboarding-footer{margin-top:28px}.onboarding-dots{display:flex;gap:7px;margin-bottom:18px}.onboarding-dots i{display:block;width:22px;height:2px;background:#26282a;transition:.25s}.onboarding-dots i.active{width:42px;background:var(--noir-metal)}.onboarding-actions{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.onboarding-next{width:100%;min-height:54px}

/* Tonight */
.tonight-intro{padding:30px 18px 15px}.tonight-context{display:flex;justify-content:space-between;align-items:center}.date,.live-time{font-size:9px;letter-spacing:.15em;color:#76726c;text-transform:uppercase}.live-time{font-variant-numeric:tabular-nums}.tonight-greeting{display:flex;align-items:center;justify-content:space-between;margin-top:28px;color:#9b968d;font-size:12px}.status-pulse,.network-live{display:inline-flex;align-items:center;gap:7px;color:#817d75;font-size:8px;letter-spacing:.14em}.status-pulse i,.network-live i{width:6px;height:6px;border-radius:50%;background:#aec6b2;box-shadow:0 0 0 4px rgba(174,198,178,.08)}.tonight-intro h1{margin:9px 0 16px;font:400 clamp(60px,18vw,88px)/.78 var(--serif);letter-spacing:-.06em}.tonight-intro h1 span,.tonight-intro h1 em{display:block}.tonight-intro h1 em{font-style:italic;color:#a8a198;font-size:.72em;margin-inline-start:16%}.tonight-lede{color:#928d84;max-width:390px;line-height:1.55;margin:0 0 22px}.search-box-premium{height:58px;border-radius:18px;background:rgba(17,20,24,.84);border-color:rgba(243,239,230,.105);box-shadow:0 14px 40px rgba(0,0,0,.18)}.search-box-premium .search-glyph{font-size:19px;color:var(--noir-metal)}.search-box-premium b{font-size:13px;font-weight:520}.search-box-premium i{font-style:normal;font-size:8px;color:#65615b;border:1px solid #292b2e;padding:5px 6px;border-radius:7px}
.intent-grid{padding:6px 18px 12px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.intent-grid button{min-height:108px;border:1px solid var(--noir-line);border-radius:20px;background:rgba(13,16,19,.92);color:var(--noir-ivory);padding:15px;text-align:left;display:grid;grid-template-rows:auto 1fr auto;transition:transform .2s var(--noir-ease),border-color .2s}.intent-grid button:active{transform:scale(.985)}.intent-grid button span{font:11px/1 var(--serif);color:#6f6a62}.intent-grid button b{align-self:end;font:400 25px/1 var(--serif)}.intent-grid button small{color:#77736c;font-size:9px;margin-top:8px}.intent-grid button:nth-child(1),.intent-grid button:nth-child(4){background:linear-gradient(145deg,rgba(199,185,145,.055),rgba(13,16,19,.98))}
.section{padding-block:24px}.premium-section-head{align-items:flex-end}.premium-section-head>div{display:grid;gap:5px}.premium-section-head h2{font-size:31px;letter-spacing:-.03em}.premium-section-head .eyebrow{font-size:8px;color:#746f67}.premium-section-head button{min-height:34px;color:#9b958b}
.your-night-card{margin:0 18px}.your-night-empty,.your-night-active{position:relative;overflow:hidden;border:1px solid var(--noir-line);border-radius:26px;background:#0d1013;min-height:180px;padding:22px}.your-night-empty:after,.your-night-active:after{content:"N";position:absolute;right:-4px;bottom:-25px;font:150px/.8 var(--serif);color:rgba(255,255,255,.025)}.your-night-empty strong{display:block;font:400 29px/1.05 var(--serif);margin:8px 0;color:#d8d3c9}.your-night-empty p{max-width:300px;color:#767169;line-height:1.5;font-size:12px}.your-night-empty .btn{margin-top:12px}.your-night-active{min-height:224px;border-color:rgba(199,185,145,.2);background:radial-gradient(circle at 100% 0,rgba(199,185,145,.08),transparent 36%),#0d1013}.your-night-active .yn-top{display:flex;justify-content:space-between;gap:14px}.your-night-active h3{font:400 34px/1 var(--serif);margin:10px 0 6px}.your-night-active p{color:#89847b;font-size:11px}.yn-status{height:max-content;padding:7px 9px;border:1px solid rgba(174,198,178,.22);border-radius:999px;color:#aec6b2;font-size:7px;letter-spacing:.12em}.yn-actions{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.yn-actions button{min-height:44px;border-radius:999px;border:1px solid var(--noir-line);background:#15181b;color:#d7d2c8;font-size:9px}.yn-actions button.primary{background:var(--noir-ivory);color:#0a0b0c;border-color:transparent;font-weight:700}
.district-live-strip{display:flex;gap:9px;overflow-x:auto;padding:0 18px 4px;scrollbar-width:none;scroll-snap-type:x proximity}.district-live-strip::-webkit-scrollbar{display:none}.live-district{flex:0 0 162px;min-height:112px;scroll-snap-align:start;border:1px solid var(--noir-line);border-radius:20px;background:#0d1013;padding:15px;text-align:left;color:inherit;display:flex;flex-direction:column;justify-content:space-between}.live-district span{font-size:8px;letter-spacing:.12em;color:#77736c}.live-district strong{font:400 22px/1 var(--serif)}.live-district footer{display:flex;justify-content:space-between;align-items:center;color:#77736c;font-size:8px}.live-district footer b{color:var(--noir-metal);font-weight:600}.live-district.hot{border-color:rgba(199,185,145,.22);background:radial-gradient(circle at 100% 0,rgba(199,185,145,.07),transparent 45%),#0d1013}
.happening-section .venue-card{flex-basis:76%;border-radius:25px;background:#0d1013}.happening-section .venue-art{height:255px}.happening-section .venue-copy{padding:17px}.happening-section .venue-copy strong{font-size:27px}.identity-nudge-premium{border-radius:26px;background:#0d1013;border-color:rgba(199,185,145,.17);padding:22px}.district-card{background:#0d1013;border-radius:26px}.install-card{background:#0d1013;border-radius:26px}

/* Member access / KYC: luxury, calm, progressive */
.flow-overlay{background:rgba(5,6,8,.96)!important;backdrop-filter:blur(18px)}.flow-shell{background:#080a0c!important;max-width:520px!important}.flow-header{border-bottom-color:var(--noir-line)!important;min-height:72px}.flow-progress{font:16px/1 var(--serif)!important;color:var(--noir-metal)!important}.flow-body{padding-top:28px!important}.flow-body h2{font:400 clamp(42px,12vw,62px)/.92 var(--serif)!important;letter-spacing:-.05em!important;margin:12px 0 18px!important}.flow-body>p,.flow-copy{color:#918c83!important;line-height:1.58!important}.flow-form{gap:12px!important}.flow-form label{color:#777269!important;font-size:8px!important;letter-spacing:.14em!important}.flow-form input,.flow-form select,.flow-form textarea{min-height:54px!important;border-radius:15px!important;background:#0f1215!important;border:1px solid var(--noir-line)!important;color:var(--noir-ivory)!important;padding-inline:15px!important}.flow-form .btn{min-height:54px!important}.member-access-mark{width:84px;height:84px;border:1px solid rgba(199,185,145,.28);border-radius:50%;display:grid;place-items:center;font:42px/1 var(--serif);color:var(--noir-metal);margin-bottom:24px}.otp-visual{display:flex;gap:8px;margin:24px 0}.otp-visual i{height:3px;flex:1;background:#24272a}.otp-visual i.active{background:var(--noir-metal)}.id-progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.id-progress-item{border:1px solid var(--noir-line);border-radius:17px;padding:14px;background:#0d1013}.id-progress-item span,.id-progress-item b{display:block}.id-progress-item span{font-size:8px;color:#777269;letter-spacing:.08em}.id-progress-item b{margin-top:8px;font-size:10px;color:#c6c0b6}.id-progress-item.done{border-color:rgba(174,198,178,.22)}.id-progress-item.done b{color:#aec6b2}.success-orb{background:transparent!important;border:1px solid rgba(174,198,178,.32)!important;color:#aec6b2!important;box-shadow:0 0 0 12px rgba(174,198,178,.025)!important}.capture-frame{border-radius:24px!important;background:#0b0d0f!important;border-color:var(--noir-line)!important;overflow:hidden}.consent-block{background:#0d1013!important;border-color:var(--noir-line)!important;border-radius:20px!important}.step-list{border-radius:20px!important;overflow:hidden}.step-line{background:#0d1013!important}

/* RTL / long-copy resilience */
html[dir="rtl"] .tonight-intro h1 em{margin-inline-start:0;margin-inline-end:16%}html[dir="rtl"] .search-box{text-align:right}html[dir="rtl"] .intent-grid button{text-align:right}html[dir="rtl"] .your-night-active .yn-top{direction:rtl}.onboarding-copy h1,.tonight-intro h1,.your-night-card,.identity-nudge,.district-card{overflow-wrap:anywhere}.intent-grid b,.bottom-nav b{white-space:normal}.bottom-nav button{min-width:0}.bottom-nav button b{max-width:64px;line-height:1.1;text-align:center}

@media(max-width:360px){.tonight-intro h1{font-size:58px}.intent-grid button{min-height:98px}.intent-grid button b{font-size:22px}.your-night-active .yn-actions{grid-template-columns:1fr}.onboarding-copy h1{font-size:47px}.onboarding-visual{min-height:245px}}
@media(min-width:521px){body:before{content:"";position:fixed;inset:0;background:#050607;z-index:-2}.guest-app{box-shadow:0 0 0 1px rgba(255,255,255,.035),0 40px 120px #000}.noir-splash .splash-center,.onboarding-shell{max-width:520px}}
@media(prefers-reduced-motion:reduce){.noir-splash{transition:none}.orbital-mark,.status-pulse i,.network-live i{animation:none!important}}
