*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0b09;--surface: #161210;--surface2: #1e1812;--border: #272018;--accent: #C24A38;--accent2: #B87228;--green: #3ddc84;--hot-dot: #FF7A3C;--profile-dot: #8B5CF6;--text: #ede9e5;--muted: #635650;--muted2: #968880;--mine-bg: #8C3427;--other-bg: #1c1610;--mobile-tabbar-height: 78px}html,body,#root{height:100%;width:100%;overflow-x:hidden;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}.chat-layout{display:flex;height:100%;width:100%;max-width:1280px;margin:0 auto}.screen{display:flex;flex-direction:column;height:100%;max-width:640px;margin:0 auto;flex:1;min-width:0}.screen.center{align-items:center;justify-content:center;gap:14px}.loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:1rem;color:var(--muted2)}.error-emoji{font-size:2.5rem}.error-text{color:var(--accent2);font-size:.95rem;text-align:center;padding:0 32px;line-height:1.5}.retry-btn{padding:10px 28px;background:var(--accent);color:#fff;border:none;border-radius:24px;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:4px}.logo{display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none}@keyframes hilads-pulse{0%,to{opacity:.82}50%{opacity:1}}.hi-dot{animation:hilads-pulse 3s ease-in-out infinite}.logo-wordmark{font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,#c24a38,#b87228);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.ob-screen{align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse 80% 45% at 50% -10%,rgba(194,74,56,.1) 0%,transparent 60%),var(--bg)}.ob-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:28px;padding:36px 28px 32px;background:#161210e6;border:1px solid rgba(255,255,255,.07);border-radius:20px;box-shadow:0 0 0 1px #0000004d,0 24px 64px #0000008c,inset 0 1px #ffffff0a}.ob-brand{display:flex;justify-content:center}.ob-sep{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);margin:4px 0}.ob-city-block{text-align:center;display:flex;flex-direction:column;gap:6px;min-height:60px;align-items:center;justify-content:center}.ob-city-name{font-size:2.2rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.ob-city-sub{font-size:.85rem;color:var(--muted2)}.ob-tagline{font-size:.95rem;color:var(--muted2);margin:2px 0 0;font-weight:400;line-height:1.4}.ob-live{font-size:.82rem;color:var(--muted2);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:3px 10px;display:inline-block}.ob-live-fire{display:inline-block;animation:fire-pulse 2s ease-in-out infinite}@keyframes fire-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.ob-locating{font-size:.88rem;color:var(--muted2);font-family:SF Mono,ui-monospace,monospace;letter-spacing:.02em;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.ob-geo-status{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:var(--muted2);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:4px 10px}.ob-geo-status--warn{color:#f59e0b;background:#f59e0b14;border-color:#f59e0b33}.ob-geo-status--denied{color:var(--muted2)}.ob-geo-headline{font-size:1.55rem;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1.2;text-align:center}.ob-geo-retry{background:none;border:none;color:var(--muted2);font-size:.8rem;cursor:pointer;padding:4px 0;text-align:center;width:100%;text-decoration:underline;text-underline-offset:3px;-webkit-tap-highlight-color:transparent}.ob-geo-retry:active{opacity:.55}.ob-identity-cta{width:100%;animation:ob-identity-fadein .5s ease both;animation-delay:.25s;opacity:0}@keyframes ob-identity-fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ob-identity-hint{text-align:center;font-size:.75rem;color:var(--muted2);margin:0 0 6px}.ob-create-account{background:#ff7a3c14;border:1.5px solid #FF7A3C;border-radius:10px;color:#ff7a3c;font-size:.9rem;font-weight:600;padding:12px;width:100%;cursor:pointer;transition:background .15s,transform .12s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.ob-create-account:hover{background:#ff7a3c26}.ob-create-account:active{transform:scale(.97);background:#ff7a3c38;box-shadow:0 0 0 3px #ff7a3c2e}.ob-form{display:flex;flex-direction:column;gap:12px}.ob-label{font-size:.72rem;color:var(--muted2);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.ob-input-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 14px;transition:border-color .15s}.ob-input-row:focus-within{border-color:var(--accent)}.ob-avatar-preview{width:34px;height:34px;border-radius:50%;color:#fff;font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0006;transition:background .2s}.ob-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:1rem;font-weight:600}.ob-input::placeholder{color:var(--muted);font-weight:400}.ob-btn{width:100%;padding:15px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:4px;transition:opacity .15s,transform .12s,box-shadow .2s;box-shadow:0 4px 20px #c24a3840}.ob-btn:hover{box-shadow:0 6px 28px #c24a3873;transform:translateY(-1px)}.ob-btn:active{transform:scale(.98) translateY(0);opacity:.9;box-shadow:0 2px 10px #c24a3833}.ob-hint{text-align:center;font-size:.72rem;color:var(--muted);font-family:SF Mono,ui-monospace,monospace;letter-spacing:.01em}.ob-events-preview{display:flex;flex-direction:column;gap:5px;width:100%}.ob-event-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;background:#ffffff0a;border-radius:8px;font-size:.83rem}.ob-event-title{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ob-event-time{color:var(--muted2);font-size:.78rem;white-space:nowrap;flex-shrink:0}.chat-header{position:relative;padding:0 20px 18px;background:radial-gradient(ellipse 90% 55% at 50% -10%,rgba(194,74,56,.1) 0%,transparent 60%),var(--surface);border-bottom:1px solid rgba(255,255,255,.06)}.header-hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:148px;width:100%;padding:max(18px,env(safe-area-inset-top)) 0 8px}.header-hero--desktop,.header-desktop-layout{display:none}.chat-header .logo{display:flex;justify-content:center}.chat-header .logo svg{filter:drop-shadow(0 0 14px rgba(194,74,56,.55)) drop-shadow(0 0 4px rgba(194,74,56,.35))}.header-hero-brand{display:flex;flex-direction:column;align-items:center;gap:4px}.header-tagline{font-size:.7rem;color:var(--muted2);opacity:.8;font-weight:400;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.header-hero-city{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;position:relative;width:100%}.header-hero-name{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;font-size:clamp(2.15rem,7.8vw,2.65rem);font-weight:800;line-height:1.04;letter-spacing:-.04em;text-wrap:pretty;overflow-wrap:anywhere}.header-hero-flag{flex-shrink:0;font-size:.82em;line-height:1;transform:translateY(1px)}.online-label{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;gap:8px;padding:6px 12px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.07)}.header-weather{font-size:.78rem;color:var(--text-muted);opacity:.7;margin-top:4px;letter-spacing:.01em}.online-pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;opacity:.9;animation:pulse-warm 2.2s ease-in-out infinite}@keyframes pulse-warm{0%,to{transform:scale(1);opacity:.9;box-shadow:0 0 #c24a3880}50%{transform:scale(1.25);opacity:1;box-shadow:0 0 0 5px #c24a3800}}.event-meta-label{font-size:.75rem;color:var(--muted2);font-weight:500;letter-spacing:.01em}.going-count-btn{all:unset;cursor:pointer;color:var(--text);font-weight:600;border-bottom:1px dashed rgba(255,255,255,.25);transition:color .12s,border-color .12s}.going-count-btn:hover{color:#ff7a3c;border-bottom-color:#ff7a3c80}.going-modal{max-height:70vh;display:flex;flex-direction:column}.going-modal-body{overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:12px 16px 20px}.going-modal-empty{color:var(--muted2);font-size:.88rem;text-align:center;padding:24px 0;margin:0}.going-modal-close{all:unset;cursor:pointer;font-size:1rem;color:var(--muted2);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .12s,color .12s}.going-modal-close:hover{background:#ffffff14;color:var(--text)}.event-location{font-size:.75rem;color:#ff7a3c;font-weight:500;text-decoration:none;display:block}.event-location:hover{text-decoration:underline}.event-location--muted{color:var(--muted2)}.city-row-location,.event-row-venue{font-size:.72rem;color:var(--muted2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.you-badge{font-size:.78rem;color:var(--muted2);background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:4px 10px}@media (min-width: 768px){.chat-header{padding:10px 20px 12px}.header-hero--mobile,.header-side-control{display:none}.header-desktop-layout{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:68px;width:100%}.header-desktop-zone{min-width:0;display:flex;align-items:center}.header-desktop-zone--left{justify-content:flex-start}.header-desktop-zone--center{justify-content:flex-start;padding-inline:4px;min-width:0}.header-desktop-zone--right{justify-content:flex-end}.header-desktop-left,.header-desktop-right{display:flex;align-items:center;min-width:0}.header-desktop-right{justify-content:flex-end;gap:10px;flex-wrap:nowrap}.header-desktop-actions{display:flex;align-items:center;gap:6px;padding:5px;border-radius:16px;background:#0f0c0aad;border:1px solid rgba(255,255,255,.08);box-shadow:0 6px 18px #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-hero--desktop{display:flex;flex-direction:row;align-items:center;min-height:0;padding:0;gap:12px;width:100%;min-width:0}.header-hero--desktop .header-hero-brand{flex-direction:row;align-items:center;gap:8px;flex-shrink:0;padding-right:12px;border-right:1px solid rgba(255,255,255,.07)}.header-hero--desktop .header-tagline{font-size:.7rem}.header-hero--desktop .logo svg{width:34px;height:34px}.header-hero--desktop .header-hero-city{align-items:flex-start;text-align:left;gap:4px;flex:1;min-width:0;width:auto}.header-hero--desktop .header-hero-name{font-size:clamp(1.1rem,1.5vw,1.4rem);width:auto;justify-content:flex-start;letter-spacing:-.025em}.header-hero--desktop .online-label{font-size:.74rem}.header-hero--desktop .header-weather{font-size:.7rem;margin-top:0}.change-city-btn{max-width:min(100%,240px)}.you-badge{padding:8px 12px;border-radius:14px;font-size:.78rem;white-space:nowrap}}.bottom-nav{display:none}@media (max-width: 767px){.chat-header{padding:0 18px 16px}.bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(100%,640px);height:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom));padding:8px 10px max(10px,env(safe-area-inset-bottom));background:#141210f5;border-top:1px solid rgba(255,255,255,.12);border-radius:22px 22px 0 0;box-shadow:0 -18px 40px #0000008c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:40}.messages{padding:24px 18px 18px}.typing-indicator{padding:8px 18px;font-size:.82rem}.input-bar{gap:10px;padding:14px 16px;margin-bottom:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.07);box-shadow:0 -8px 26px #0000006b;background:linear-gradient(180deg,#1e1812f0,#161210fa)}}.bottom-nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;border:none;cursor:pointer;min-height:60px;padding:10px 6px 8px;color:#ffffff85;position:relative;border-radius:18px;transition:color .15s ease,transform .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent}.bottom-nav-tab:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:transparent;transition:background .15s ease,box-shadow .15s ease;z-index:-1}.bottom-nav-tab:active{transform:scale(.94);transition:transform .08s ease}.bottom-nav-tab.active{color:#ff7a3c;background:#ff7a3c0f}.bottom-nav-tab.active:after{background:linear-gradient(180deg,#ff7a3c29,#ff7a3c0f);box-shadow:inset 0 1px #ffffff14,0 0 20px #ff7a3c2e}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;position:relative;transition:filter .15s ease}.bottom-nav-icon svg{width:26px;height:26px}.bottom-nav-icon circle[fill="var(--hot-dot)"]{filter:drop-shadow(0 0 4px rgba(255,122,60,.35))}.bottom-nav-tab.active .bottom-nav-icon{filter:drop-shadow(0 0 9px rgba(255,122,60,.42))}.bottom-nav-label{font-size:.76rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;position:relative;white-space:nowrap}.profile-drawer-content{display:flex;flex-direction:column;gap:16px;padding:16px}.profile-avatar-row{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:0}.profile-avatar-lg{width:72px!important;height:72px!important;font-size:1.7rem!important;border-radius:50%!important}.profile-hint{font-size:.75rem;color:var(--muted);text-align:left}.me-card--hero{padding:20px 18px}.me-hero-copy{display:flex;flex-direction:column;gap:4px}.me-hero-name{font-size:1.25rem;font-weight:750;color:var(--text)}.me-hero-sub{font-size:.9rem;color:var(--muted2);line-height:1.45}.me-display-name{font-size:1.3rem;font-weight:700;color:var(--text);text-align:center;margin:8px 0 2px}.me-email{font-size:.8rem;color:var(--muted2);text-align:center;margin:0 0 12px}.me-city,.me-meta{font-size:.85rem;color:var(--muted2);text-align:center;margin:2px 0}.me-interests{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px 0}.interest-chip{background:#ff7a3c1f;color:#ff7a3c;border:1px solid rgba(255,122,60,.25);border-radius:20px;padding:4px 12px;font-size:.78rem;font-weight:500}.profile-body{display:flex;flex-direction:column;gap:16px;padding:16px 16px 40px;overflow-y:auto}.profile-card,.me-card{background:linear-gradient(180deg,#ffffff09,#ffffff05);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:18px;box-shadow:0 12px 26px #00000024}.profile-hero-card{padding:20px 18px}.profile-photo-section{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:0}.profile-avatar-xl{width:88px!important;height:88px!important;font-size:2rem!important;border-radius:50%!important;object-fit:cover}.profile-photo-btn{position:relative;background:none;border:none;cursor:pointer;padding:0;border-radius:50%}.profile-hero-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-hero-name{font-size:1.3rem;font-weight:750;line-height:1.15;color:var(--text)}.profile-hero-sub{font-size:.9rem;color:var(--muted2);line-height:1.45}.profile-photo-badge{position:absolute;bottom:2px;right:2px;background:var(--bg-raised, #1a1a1a);border:2px solid var(--bg, #111);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.75rem;pointer-events:none}.profile-fields{display:flex;flex-direction:column;gap:20px}.modal-input--muted{opacity:.5;cursor:default;-webkit-user-select:none;user-select:none}.modal-label-muted{font-size:.7rem;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}.interest-grid,.vibe-grid{display:flex;flex-wrap:wrap;gap:8px}.vibe-chip{cursor:pointer;background:#ffffff0a;color:var(--text-muted);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:6px 14px;font-size:.84rem;font-weight:500;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.vibe-chip--on{background:#ff7a3c2e;color:var(--text);border-color:#ff7a3c;font-weight:700}.interest-chip--on{background:#ff7a3c;color:#fff;border-color:#ff7a3c}.interest-chip{cursor:pointer;transition:background .12s,color .12s}.profile-error{font-size:.88rem;color:#e05;text-align:left;margin:2px 4px 0}.profile-actions{display:flex;flex-direction:column;gap:12px}.me-upgrade{margin-top:0;text-align:left;border-top:none;padding-top:0;width:100%}.me-upgrade-hint{font-size:.9rem;color:var(--muted2);margin-bottom:12px}.me-upgrade-btn{background:#ff7a3c;color:#fff;border:none;border-radius:10px;padding:12px 28px;font-size:.95rem;font-weight:600;cursor:pointer;width:100%}.me-upgrade-btn:active{transform:scale(.97)}.me-upgrade-signin-hint{font-size:.78rem;color:var(--muted);margin:14px 0 8px;text-align:center}.me-upgrade-btn--secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.me-upgrade-btn--secondary:active{transform:scale(.97)}.auth-tabs{display:flex;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:24px;width:100%}.auth-tab{flex:1;padding:10px;background:transparent;border:none;color:var(--muted2);font-size:.9rem;font-weight:500;cursor:pointer}.auth-tab--active{background:#ff7a3c26;color:#ff7a3c;font-weight:600}.auth-form{width:100%;display:flex;flex-direction:column;gap:4px}.auth-error{font-size:.82rem;color:#e05;text-align:center;margin:4px 0}.modal-submit--secondary{background:transparent;color:var(--muted2);border:1px solid var(--border)}.modal-submit--secondary:hover{color:var(--text)}.messages{flex:1;overflow-y:auto;padding:22px 18px 14px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth;background:var(--bg)}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;margin:auto;text-align:center;padding:0 32px;animation:fadeUp .4s ease-out both}.empty-icon{font-size:2.4rem;margin-bottom:4px}.empty-title{font-size:1.12rem;font-weight:700;color:var(--text)}.empty-sub{font-size:.9rem;color:var(--muted2);line-height:1.5}.feed-activity{align-self:center;font-size:.8rem;color:var(--muted2);background:transparent;border-radius:20px;padding:4px 14px;margin:4px 0;animation:fadeUp .3s ease-out both}.message{display:flex;flex-direction:column;gap:3px;max-width:80%;align-self:flex-start;margin-top:22px}.message.grouped{margin-top:8px}.message.mine{align-self:flex-end}.message.animate{animation:fadeUp .25s ease-out both}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.msg-meta{display:flex;align-items:center;gap:6px;padding-left:2px}.msg-meta--tappable{cursor:pointer;border-radius:6px;transition:background .12s}.msg-meta--tappable:hover{background:#ffffff0d}.msg-avatar{width:28px;height:28px;border-radius:50%;color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0006}.msg-author{font-size:.82rem;font-weight:600;opacity:.9}.msg-bubble-wrap{display:flex}.msg-content{background:var(--other-bg);border:1px solid rgba(255,255,255,.05);border-radius:4px 18px 18px;padding:12px 15px;font-size:1.02rem;line-height:1.55;word-break:break-word;color:var(--text);box-shadow:0 2px 8px #0003,inset 0 1px #ffffff08}.msg-bubble-wrap.mine .msg-content{background:var(--mine-bg);border-color:transparent;border-radius:18px 4px 18px 18px;color:#fff;box-shadow:0 2px 10px #9e3a2c59,0 1px #ffffff14 inset}.typing-indicator{display:flex;align-items:center;gap:7px;padding:6px 18px;font-size:.8rem;color:var(--muted2);flex-shrink:0;background:var(--surface);border-top:1px solid var(--border);animation:fadeUp .2s ease-out both}.typing-dots{display:flex;align-items:center;gap:3px;flex-shrink:0}.typing-dots span{width:4px;height:4px;border-radius:50%;background:var(--muted2);animation:typing-bounce 1.2s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:1}}.msg-image{display:block;max-width:260px;max-height:300px;width:auto;height:auto;border-radius:4px 16px 16px;object-fit:cover;cursor:zoom-in;transition:opacity .15s,transform .12s}.msg-image:hover{opacity:.92;transform:scale(1.01)}.msg-bubble-wrap.mine .msg-image{border-radius:16px 4px 16px 16px}.msg-time{font-size:.68rem;color:var(--muted);opacity:.55;margin-top:2px;padding-left:4px;align-self:flex-start}.msg-time--mine{align-self:flex-end;padding-left:0;padding-right:4px}.date-sep{display:flex;align-items:center;gap:10px;margin:18px 16px 6px}.date-sep:before,.date-sep:after{content:"";flex:1;height:1px;background:#ffffff12}.date-sep-label{font-size:.68rem;font-weight:600;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:var(--bg2, #141414);padding:3px 10px;border-radius:999px}.emoji-picker-wrap{position:relative;flex-shrink:0}.emoji-trigger{background:none;border:none;cursor:pointer;font-size:20px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;opacity:.5;transition:opacity .15s,background .15s;padding:0;line-height:1}.emoji-trigger:hover,.emoji-trigger--active{opacity:1;background:#ffffff12}.emoji-picker{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:296px;max-height:224px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px;display:flex;flex-wrap:wrap;gap:2px;z-index:200;box-shadow:0 8px 36px #0009;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.emoji-pick-btn{background:none;border:none;cursor:pointer;font-size:22px;width:34px;height:34px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .1s;line-height:1;padding:0}.emoji-pick-btn:hover{background:#ffffff17}.dm-composer .emoji-picker{left:0;transform:none}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000ed;z-index:300;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:fadeIn .15s ease-out}.lightbox-img{max-width:min(92vw,1100px);max-height:90vh;object-fit:contain;border-radius:10px;cursor:default;box-shadow:0 32px 96px #000c;animation:fadeUp .18s ease-out both}.lightbox-close{position:fixed;top:18px;right:18px;width:38px;height:38px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;line-height:1}.lightbox-close:hover{background:#ffffff38}.success-toast{align-self:center;background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#4ade80;border-radius:12px;padding:8px 16px;font-size:.82rem;font-weight:600;text-align:center;margin:0 16px 4px;animation:fadeUp .25s ease-out both;pointer-events:none}.send-error-toast{align-self:center;background:#c24a381f;border:1px solid rgba(194,74,56,.3);color:#e07060;border-radius:12px;padding:8px 14px;font-size:.82rem;text-align:center;margin:0 16px 4px;animation:fadeUp .25s ease-out both;pointer-events:none}.input-bar{display:flex;gap:12px;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:linear-gradient(180deg,#1e1812f5,#161210fc);flex-shrink:0;align-items:center;box-shadow:0 -10px 28px #00000047}.input-bar input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:28px;padding:0 20px;color:var(--text);font-size:1.04rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease;min-height:56px;line-height:1.2}.input-bar input::placeholder{color:var(--muted2);font-size:.98rem;transition:color .2s ease}.input-bar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c24a381f,0 0 12px #c24a3814;transform:scaleY(1.03)}.input-bar input:focus::placeholder{color:var(--muted2)}.upload-btn{width:54px;height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#ffffff0d;color:var(--text);border:1px solid rgba(255,255,255,.09);border-radius:50%;cursor:pointer;box-shadow:inset 0 1px #ffffff0a;transition:color .12s,border-color .12s,background .12s,transform .1s,box-shadow .15s}.upload-btn svg{width:22px;height:22px}.upload-btn:hover:not(:disabled){color:var(--accent);border-color:#c24a3873;background:#c24a381a;box-shadow:0 0 0 1px #c24a3814,0 0 18px #c24a381f}.upload-btn:not(:disabled):active{transform:scale(.95)}.upload-btn:disabled{opacity:.35;cursor:default}.upload-spinner{width:20px;height:20px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:block}.send-btn{width:54px;height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 6px 18px #c24a3852;transition:opacity .15s,transform .1s,box-shadow .15s}.send-btn svg{width:20px;height:20px}.send-btn:not(:disabled):hover{box-shadow:0 10px 24px #c24a3866}.send-btn:not(:disabled):active{transform:scale(.92)}.send-btn:disabled{opacity:.3;cursor:default}.feed-join{align-self:center;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.85rem;font-weight:500;color:var(--muted2);background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:6px 16px;margin:12px 0;animation:joinPop .4s cubic-bezier(.34,1.56,.64,1) both}.feed-join-time{font-size:.7rem;font-weight:400;opacity:.5}@keyframes joinPop{0%{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.feed-join--clickable{cursor:pointer}.feed-join--clickable:hover{background:#ffffff12;border-color:#ffffff1f}.feed-join--clickable:active{opacity:.75}.feed-join--exit{animation:joinExit .5s ease-in forwards}@keyframes joinExit{to{opacity:0;transform:translateY(-4px) scale(.96)}}.feed-prompt{align-self:center;display:flex;align-items:center;gap:10px;background:#ff78321a;border:1px solid rgba(255,120,50,.25);border-radius:20px;padding:8px 14px;margin:6px 0;animation:fadeUp .3s ease-out both}.feed-prompt-text{font-size:.82rem;color:var(--text-muted);flex:1;white-space:pre-line}.feed-prompt-btn{background:var(--accent);color:#fff;border:none;border-radius:14px;padding:5px 12px;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.feed-prompt-btn:active{opacity:.85}.feed-owner-prompt{align-self:stretch;display:flex;align-items:center;gap:12px;background:#a78bfa14;border:1px solid rgba(167,139,250,.22);border-radius:16px;padding:12px 14px;margin:4px 0 8px;animation:fadeUp .3s ease-out both}.feed-owner-prompt-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.feed-owner-prompt-text{font-size:.84rem;font-weight:700;color:#a78bfa}.feed-owner-prompt-sub{font-size:.75rem;color:var(--text-muted);line-height:1.4}.feed-owner-prompt-btn{flex-shrink:0;background:#a78bfa26;color:#a78bfa;border:1px solid rgba(167,139,250,.35);border-radius:14px;padding:6px 13px;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s}.feed-owner-prompt-btn:active{opacity:.85;transform:scale(.97)}.feed-welcome{align-self:stretch;background:#c24a3812;border:1px solid rgba(194,74,56,.18);border-radius:16px;padding:14px 16px;margin:8px 0;display:flex;flex-direction:column;gap:8px;animation:fadeUp .4s ease-out both}.feed-welcome-header{display:flex;align-items:center;justify-content:space-between}.feed-welcome-city{font-size:.92rem;font-weight:700;color:var(--accent);letter-spacing:.01em}.feed-welcome-dismiss{background:none;border:none;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 2px;opacity:.6}.feed-welcome-dismiss:active{opacity:1}.feed-welcome-body{font-size:.84rem;color:var(--muted2);line-height:1.5;margin:0}.feed-welcome-actions{display:flex;gap:8px;margin-top:2px}.feed-welcome-btn{flex:1;border:none;border-radius:14px;padding:8px 12px;font-size:.82rem;font-weight:600;cursor:pointer;text-align:center}.feed-welcome-btn--primary{background:var(--accent);color:#fff}.feed-welcome-btn--secondary{background:#ffffff0f;color:var(--text);border:1px solid rgba(255,255,255,.1)}.feed-welcome-btn:active{opacity:.82}.install-banner{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 16px);transform:translate(-50%);width:min(calc(100% - 24px),616px);display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#211a16f5,#15110ffa);box-shadow:0 20px 36px #0000006b,0 0 26px #ff7a3c14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:240;animation:fadeUp .22s ease-out both}.install-banner--with-nav{bottom:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom) + 12px)}.install-banner--compact{position:static;transform:none;width:100%;padding:10px 12px;border-radius:16px;gap:10px;box-shadow:0 10px 22px #0000003d,0 0 18px #ff7a3c0d}.chat-install-slot{padding:0 16px 10px;flex-shrink:0}.install-banner-copy{flex:1;min-width:0}.install-banner-compact-text{flex:1;min-width:0;color:#ffffffeb;font-size:.84rem;font-weight:600;line-height:1.25}.install-banner-title{margin:0;color:#fff;font-size:.95rem;font-weight:700;letter-spacing:.01em}.install-banner-subtitle,.install-banner-help{margin:4px 0 0;color:var(--muted2);font-size:.84rem;line-height:1.35}.install-banner-help{color:#ffd7c4eb}.install-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.install-banner-add,.install-banner-dismiss{border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,opacity .15s ease,background .15s ease}.install-banner-add{min-width:64px;min-height:42px;padding:0 16px;border-radius:14px;background:linear-gradient(180deg,#ff8a4e,#ff6b2f);color:#fff;font-size:.9rem;font-weight:700;box-shadow:0 10px 22px #ff7a3c38}.install-banner-dismiss{width:42px;height:42px;border-radius:14px;background:#ffffff0f;color:#ffffffe6;font-size:1.2rem;line-height:1;border:1px solid rgba(255,255,255,.08)}.install-banner-add--compact{min-width:56px;min-height:36px;padding:0 14px;border-radius:12px;font-size:.82rem;box-shadow:0 8px 18px #ff7a3c2e}.install-banner-dismiss--compact{width:36px;height:36px;border-radius:12px;font-size:1rem}.install-banner-add:active,.install-banner-dismiss:active{transform:scale(.96)}@media (hover: hover){.install-banner-add:hover{opacity:.94}.install-banner-dismiss:hover{background:#ffffff1a}}.online-avatar{width:30px;height:30px;border-radius:50%;color:#fff;font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px #00000059;position:relative}.online-avatar[data-me]:after{content:"";position:absolute;bottom:0;right:0;width:9px;height:9px;background:var(--green);border-radius:50%;border:2px solid var(--surface)}.people-drawer-row{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(180deg,#ffffff08,#ffffff04);border:1px solid rgba(255,255,255,.05);border-radius:18px;box-shadow:0 10px 22px #0000001f}.people-drawer-content{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.people-drawer-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vibe-badge{font-size:.72rem;font-weight:600;opacity:.8;letter-spacing:.01em;white-space:nowrap}.msg-vibe{font-size:.85rem;opacity:.5;margin-left:2px}.people-drawer-name{font-size:1.04rem;font-weight:700;color:var(--text)}.people-drawer-you{color:var(--muted2);font-size:.86rem}.people-drawer-row--tappable{cursor:pointer;transition:background .12s,border-color .12s,transform .12s}.people-drawer-row--tappable:active{background:var(--surface2);transform:scale(.985)}.people-member-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid rgba(194,74,56,.16);border-radius:999px;padding:4px 8px;vertical-align:middle}.people-member-badge--you{color:var(--green);background:#3ddc841a;border-color:#3ddc842e}.here-filters{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.here-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.here-filter-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-shrink:0;width:36px}.here-filter-chips{display:flex;gap:6px;flex-wrap:wrap}.here-chip{font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.here-chip--on{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent)}.here-section-header{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.here-section-header--legends{flex-direction:column;align-items:flex-start;gap:2px;text-transform:none;letter-spacing:0;font-size:.82rem;color:var(--text)}.here-legends-hook{font-size:.75rem;font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0}.people-drawer-row--legend{border-color:#ffc1072e;background:#ffc1070a}.online-avatar--legend{border:1.5px solid rgba(255,193,7,.35)!important}.legend-pick-preview{font-size:.78rem;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.here-section-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.here-section-dot--live{background:var(--green);box-shadow:0 0 6px var(--green)}.here-section-empty{font-size:.85rem;color:var(--muted);padding:10px 0 4px;margin:0}.here-load-more{width:100%;margin-top:10px;padding:11px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .12s}.here-load-more:disabled{opacity:.5;cursor:default}.guest-profile-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:3px 8px}.guest-profile-city{font-size:.85rem;color:var(--muted2)}.guest-profile-note{font-size:.82rem;color:var(--muted2);opacity:.6;text-align:center;padding:0 24px}.pub-profile-body{display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:32px}.pub-profile-hero{display:flex;flex-direction:column;align-items:center;gap:10px}.pub-profile-avatar{width:80px!important;height:80px!important;font-size:2rem!important;object-fit:cover}img.pub-profile-avatar{cursor:zoom-in}.pub-profile-name{font-size:1.3rem;font-weight:700;color:var(--text);margin:0}.pub-profile-member-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:6px;padding:3px 8px}.badge-pill{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;border-radius:999px;padding:3px 7px;border:1px solid transparent;white-space:nowrap;vertical-align:middle}.badge-pill--ghost{background:#ffffff0f;border-color:#ffffff1a;color:#666}.badge-pill--fresh{background:#4ade801f;border-color:#4ade8038;color:#4ade80}.badge-pill--regular{background:#60a5fa1f;border-color:#60a5fa38;color:#60a5fa}.badge-pill--local{background:#34d3991f;border-color:#34d39938;color:#34d399}.badge-pill--host{background:#fbbf2426;border-color:#fbbf2447;color:#fbbf24}.pub-profile-details{width:100%;max-width:320px;display:flex;flex-direction:column;gap:8px}.pub-profile-detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface);border-radius:10px}.pub-profile-detail-label{font-size:.8rem;color:var(--muted);font-weight:500}.pub-profile-detail-value{font-size:.9rem;color:var(--text);font-weight:600}.pub-profile-interests{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:360px}.interest-chip--readonly{pointer-events:none}.pub-profile-loading{color:var(--muted);font-size:.9rem;margin-top:40px}.pub-profile-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px 18px 40px}.pub-profile-badge-block{display:flex;flex-direction:column;align-items:center;gap:4px}.pub-profile-badge-micro{font-size:.75rem;color:var(--muted)}.pub-profile-city{font-size:.82rem;color:var(--muted);background:#ffffff0f;border-radius:999px;padding:3px 10px}.pub-profile-events{width:100%;max-width:360px;display:flex;flex-direction:column;gap:6px}.pub-profile-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 4px 2px}.pub-profile-event-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);border-radius:10px}.pub-profile-event-icon{font-size:1.1rem;flex-shrink:0}.pub-profile-event-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.pub-profile-event-title{font-size:.88rem;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pub-profile-event-live{font-size:.6rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:4px;padding:2px 5px;letter-spacing:.06em;flex-shrink:0}.pub-profile-picks{width:100%;max-width:360px;display:flex;flex-direction:column;gap:8px}.pub-profile-pick-row{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:#ffc1070d;border:1px solid rgba(255,193,7,.15);border-radius:12px}.pub-profile-pick-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.pub-profile-pick-body{display:flex;flex-direction:column;gap:2px;min-width:0}.pub-profile-pick-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pub-profile-pick-value{font-size:.88rem;color:var(--text);font-weight:500}.pub-profile-cta{width:100%;max-width:360px;padding-top:4px;display:flex;gap:10px}.pub-profile-friend-btn{flex:1;padding:13px 10px;border-radius:12px;background:var(--surface2);color:var(--text);font-size:.9rem;font-weight:700;border:1px solid var(--border);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.pub-profile-friend-btn--active{background:#ff7a3c1f;border-color:var(--accent);color:var(--accent)}.pub-profile-friend-btn:disabled{opacity:.5;cursor:default}.pub-profile-unfriend-confirm{flex:1;display:flex;gap:8px}.pub-profile-unfriend-btn{flex:1;padding:13px 10px;border-radius:12px;background:#ef44441f;color:#ef4444;font-size:.9rem;font-weight:700;border:1px solid rgba(239,68,68,.35);cursor:pointer;transition:background .15s}.pub-profile-unfriend-btn:hover{background:#ef444433}.pub-profile-unfriend-btn:disabled{opacity:.5;cursor:default}.pub-profile-unfriend-cancel{padding:13px 14px;border-radius:12px;background:var(--surface2);color:var(--muted);font-size:.9rem;font-weight:600;border:1px solid var(--border);cursor:pointer;transition:opacity .15s}.pub-profile-unfriend-cancel:disabled{opacity:.5;cursor:default}.pub-profile-dm-btn{flex:1;padding:13px 10px;border-radius:12px;background:var(--accent);color:#fff;font-size:.9rem;font-weight:700;border:none;cursor:pointer;transition:opacity .15s}.pub-profile-dm-btn:disabled{opacity:.5;cursor:default}.pub-profile-friends{width:100%;max-width:360px}.pub-profile-friend-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--surface2);border:1px solid var(--border);margin-bottom:6px;transition:background .12s}.pub-profile-friend-row:hover{background:var(--surface3, rgba(255,255,255,.06))}.pub-profile-friend-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.pub-profile-friend-avatar--initials{display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:#fff}.pub-profile-friend-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.pub-profile-friend-name{font-size:.875rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pub-profile-friend-badge{font-size:.75rem;color:var(--muted)}.my-friend-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);transition:opacity .12s}.my-friend-row:last-child{border-bottom:none}.my-friend-row:hover{opacity:.8}.my-friend-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.my-friend-avatar--initials{display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:#fff}.my-friend-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.my-friend-name{font-size:.875rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-friend-badge{font-size:.75rem;color:var(--muted)}.pub-profile-error{color:#f87171;font-size:.9rem}.online-sidebar{display:none;width:224px;flex-shrink:0;border-left:1px solid var(--border);background:var(--surface);overflow-y:auto;padding:18px 14px;flex-direction:column;gap:2px}.online-sidebar::-webkit-scrollbar{width:3px}.online-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.online-sidebar-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin-bottom:10px}.sidebar-user{display:flex;align-items:center;gap:8px;padding:5px 4px;border-radius:8px;transition:background .12s}.sidebar-user:hover{background:var(--surface2)}.sidebar-user-name{font-size:.8rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-you{font-size:.7rem;color:var(--muted);font-weight:400}@media (min-width: 768px){.online-sidebar{display:flex}.screen.chat{margin:0;max-width:none}.messages{padding:22px 26px 16px}.input-bar{padding:14px 20px}.input-bar input{min-height:48px;font-size:.97rem}}.change-city-btn{display:flex;align-items:center;gap:4px;background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:7px 12px 7px 10px;color:var(--text2);font-size:.8rem;font-weight:500;cursor:pointer;transition:color .12s,border-color .12s,background .12s;min-width:0;max-width:200px;flex-shrink:1}.change-city-btn:hover{color:var(--accent);border-color:#c24a3873;background:#c24a3814}.city-btn-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.city-btn-arrow{flex-shrink:0;font-size:.7rem;opacity:.6}.screen.chat{position:relative}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.full-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;animation:slideInRight .28s cubic-bezier(.4,0,.2,1) both;will-change:transform}.page-header{display:flex;align-items:center;padding:max(12px,env(safe-area-inset-top)) 20px 12px;min-height:calc(80px + env(safe-area-inset-top));border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0;background:var(--surface);position:relative}.back-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:46px;min-height:46px;padding:0 12px;border-radius:13px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffffeb;box-shadow:0 10px 24px #0000003d,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.back-button:hover{background:#c24a381a;border-color:#c24a3840;box-shadow:0 12px 26px #00000047,0 0 18px #c24a381f,inset 0 1px #ffffff14}.back-button:active{transform:scale(.96);background:#c24a3824;border-color:#c24a3852}.back-button__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;line-height:1}.back-button__icon svg{width:22px;height:22px}.back-button--with-label{justify-content:flex-start;min-width:0;max-width:min(220px,48vw);padding-right:14px}.back-button__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.92rem;font-weight:650}.page-title{position:absolute;left:50%;transform:translate(-50%);font-size:1.35rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%;pointer-events:none;letter-spacing:-.01em}.page-action-btn{margin-left:auto;background:none;border:1px solid rgba(194,74,56,.4);border-radius:20px;color:var(--accent);font-size:.78rem;font-weight:600;padding:7px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s}.page-action-btn:active{background:#c24a381a}.page-body{flex:1;overflow-y:auto;padding:12px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.page-body--centered{display:flex;flex-direction:column;gap:16px;padding:24px 20px;max-width:400px;margin:0 auto;width:100%}.people-page-body,.me-page-body{padding:16px}.people-page-body{display:flex;flex-direction:column;gap:12px}.me-page-body{display:flex;flex-direction:column;gap:16px}.city-picker-loading{text-align:center;padding:32px;color:var(--muted2);font-size:.9rem}.city-list-label{padding:12px 18px 10px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@keyframes skel-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skel{border-radius:4px;background:linear-gradient(90deg,var(--surface) 25%,rgba(255,255,255,.06) 50%,var(--surface) 75%);background-size:200% 100%;animation:skel-shimmer 1.4s ease-in-out infinite}.city-skeleton{padding:6px 0}.city-skeleton-row{display:flex;align-items:center;justify-content:space-between;padding:18px;margin-bottom:10px;border:1px solid rgba(255,255,255,.05);border-radius:18px;background:#ffffff05}.city-skeleton-left{display:flex;align-items:center;gap:10px;flex:1}.skel-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.skel-flag{width:18px;height:14px;flex-shrink:0}.skel-name{height:13px}.skel-stat{width:52px;height:11px;flex-shrink:0}.city-search-wrap{padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0;background:#0d0b09e6}.city-search-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:13px 16px;color:var(--text);font-size:1rem;outline:none;-webkit-appearance:none;transition:border-color .15s}.city-search-input:focus{border-color:var(--accent)}.city-search-input::placeholder{color:var(--muted)}.city-no-results{text-align:center;padding:40px 24px;color:var(--muted2);font-size:.95rem}.city-row{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;padding:18px 18px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#ffffff06,#ffffff04);color:var(--text);cursor:pointer;text-align:left;transition:background .12s,box-shadow .12s,border-color .12s,transform .12s;gap:12px;box-shadow:0 10px 22px #0000001f;margin-bottom:10px}.city-row:hover{background:linear-gradient(180deg,#ffffff0a,#ffffff05);border-color:#c24a3829;box-shadow:0 14px 28px #00000029,inset 2px 0 #c24a384d}.city-row.active{background:linear-gradient(180deg,#c24a381f,#c24a3812);border-color:#c24a3838;box-shadow:0 16px 30px #0000002e,inset 2px 0 0 var(--accent),0 0 0 1px #c24a380d}.city-row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.city-row-left{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.event-row-card{flex-direction:column;align-items:stretch;gap:5px}.er-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.er-title{font-size:1.05rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.er-going{font-size:.72rem;color:#ff7a3c;font-weight:600;flex-shrink:0;white-space:nowrap;text-shadow:0 0 8px rgba(255,122,60,.35)}.er-going--public{color:#ffb283;font-weight:700}.er-badges{display:flex;align-items:center;gap:6px;overflow:hidden}.er-location{font-size:.72rem;color:var(--muted2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-dot{width:9px;height:9px;border-radius:50%;background:var(--border);flex-shrink:0;margin-top:7px}.activity-dot.live{background:var(--green);box-shadow:0 0 #3ddc8499;animation:live-pulse 2s ease-out infinite}.city-row-flag{font-size:1.18rem;line-height:1;flex-shrink:0;margin-top:1px}.city-row-name{font-size:1.08rem;font-weight:750;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip;text-wrap:pretty}.city-row-current{font-size:.72rem;color:var(--accent);font-weight:700;background:#c24a3824;border:1px solid rgba(194,74,56,.18);border-radius:999px;padding:5px 10px;flex-shrink:0;align-self:flex-start;white-space:nowrap}.city-row-stats{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-left:33px}.city-row-users{font-size:.82rem;color:var(--green);font-weight:700}.city-row-count{font-size:.82rem;color:var(--muted);font-weight:600}.city-row-events{font-size:.82rem;color:var(--text);font-weight:600}.city-row-stat-skel{width:58px;height:11px;border-radius:999px}.ob-event-count{font-weight:600;color:var(--text2)}.events-sidebar{display:none;width:224px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;flex-direction:column}.events-sidebar::-webkit-scrollbar{width:3px}.events-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (min-width: 768px){.events-sidebar{display:flex}}.events-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 14px 8px;flex-shrink:0;border-bottom:1px solid var(--border);margin-bottom:4px}.events-sidebar-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.create-event-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--muted2);font-size:1rem;font-weight:600;cursor:pointer;transition:background .12s,color .12s;line-height:1;flex-shrink:0}.create-event-btn:hover{background:#ffffff1a;color:var(--text)}.events-list{flex:1;overflow-y:auto;padding:6px 10px 16px;display:flex;flex-direction:column;gap:2px;scrollbar-width:none}.events-list::-webkit-scrollbar{display:none}.event-row{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:8px;border:1px solid transparent;background:none;color:var(--text);cursor:pointer;text-align:left;transition:background .12s;width:100%}.event-row:hover{background:#ffffff0a}.event-row.active{background:#c24a3817;border-color:#c24a3838;box-shadow:inset 2px 0 0 var(--accent)}.event-row-title{font-size:.82rem;font-weight:600;color:var(--text);line-height:1.3;word-break:break-word}.event-row.active .event-row-title{color:var(--accent)}.recur-badge{display:inline-flex;align-items:center;padding:1px 5px;border-radius:5px;font-size:.65rem;font-weight:600;letter-spacing:.01em;color:#c97a2f;background:#c97a2f1f;border:1px solid rgba(201,122,47,.25);vertical-align:middle;white-space:nowrap}.event-row-location{font-size:.68rem;color:var(--muted2);line-height:1.3}.events-empty{text-align:center;padding:24px 8px;color:var(--muted);font-size:.75rem;line-height:1.5}.events-group-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted2);padding:10px 10px 2px;margin:0;font-weight:600}.events-group-label--city{color:var(--muted2);border-top:1px solid var(--border);margin-top:4px}.event-going-count{font-size:.78rem;color:var(--muted2);white-space:nowrap}.event-row--buzzing .event-going-count{color:var(--accent)}.event-header{display:flex;flex-direction:column;gap:14px;padding-top:16px}.event-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.event-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:nowrap}.event-back-btn{color:var(--text);flex-shrink:1;min-width:0;max-width:min(220px,46vw)}.event-join-btn{flex-shrink:0;padding:9px 20px;border-radius:22px;border:1.5px solid rgba(255,122,60,.55);background:transparent;color:#ff7a3c;font-size:.88rem;font-weight:700;letter-spacing:.01em;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.event-join-btn:hover{background:#ff7a3c14}.event-join-btn:active{transform:scale(.96)}.event-join-btn--active{background:#ff7a3c;border-color:#ff7a3c;color:#fff;box-shadow:0 4px 16px #ff7a3c4d}.event-join-btn--active:hover{background:#ff7a3ce0}.event-join-btn--edit{border-color:#a78bfa8c;color:#a78bfa}.event-join-btn--edit:hover{background:#a78bfa1a;border-color:#a78bfacc}@keyframes edit-pulse{0%{box-shadow:0 0 #a78bfa8c}60%{box-shadow:0 0 0 10px #a78bfa00}to{box-shadow:0 0 #a78bfa00}}.event-join-btn--pulse{animation:edit-pulse .7s ease-out .35s 2 both}.event-creator-badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:600;color:#a78bfa;background:#a78bfa1a;border:1px solid rgba(167,139,250,.22);border-radius:10px;padding:2px 8px;letter-spacing:.02em;align-self:flex-start}.me-section-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;margin:0 0 10px}.my-event-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--border)}.my-event-row:last-child{border-bottom:none}.my-event-row-body{flex:1;display:flex;flex-direction:column;gap:3px;text-align:left;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.my-event-title{font-size:.88rem;font-weight:500;color:var(--text);line-height:1.3}.my-event-meta{font-size:.75rem;color:var(--muted2)}.my-event-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:10px;background:#ffffff0f;color:var(--muted2);width:fit-content}.my-event-badge--live{background:#ff7a3c2e;color:#ff7a3c}.my-event-badge--recurring{background:#a78bfa26;color:#a78bfa}.my-event-delete{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);font-size:.8rem;cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent;transition:color .15s,background .15s}.my-event-delete:hover{color:#ff6b6b;background:#ff6b6b1a}.my-event-delete:active{transform:scale(.9)}.event-header-body{display:flex;flex-direction:column;gap:8px}.event-header-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.event-header-title{flex:1;min-width:0;font-size:1.6rem;font-weight:700;color:var(--text);line-height:1.2;letter-spacing:-.02em}@media (max-width: 420px){.change-city-btn{max-width:120px}}.create-event-row{display:flex;align-items:center;width:100%;padding:12px 14px;border-radius:12px;border:1px dashed rgba(255,255,255,.12);background:#ffffff08;color:var(--muted2);font-size:.88rem;font-weight:600;cursor:pointer;margin-bottom:8px;transition:background .12s,color .12s}.create-event-row:hover{background:#ffffff0f;color:var(--text)}.events-empty-drawer{text-align:center;padding:24px 12px;color:var(--muted2);font-size:.88rem}.event-row-skeleton{pointer-events:none}.event-row-skeleton .er-header,.event-row-skeleton .er-badges{width:100%}.skel-er-title{height:16px;width:62%;border-radius:8px}.skel-er-going{height:14px;width:42px;border-radius:999px}.skel-er-badge{height:22px;width:118px;border-radius:999px}.skel-er-badge--short{width:84px}.skel-er-location{height:13px;width:54%;border-radius:7px}.page-body--has-fab{padding-bottom:96px}.events-fab{position:absolute;bottom:28px;right:20px;width:56px;height:56px;border-radius:50%;background:#ff7a3c;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px #ff7a3c80,0 2px 8px #00000059;transition:transform .15s,box-shadow .15s;z-index:10;-webkit-tap-highlight-color:transparent}.events-fab:hover{transform:translateY(-2px);box-shadow:0 8px 28px #ff7a3c99,0 4px 12px #0000004d}.events-fab:active{transform:scale(.91);box-shadow:0 2px 10px #ff7a3c66}.events-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:72px 32px 0;gap:8px}.events-empty-title{font-size:1.2rem;font-weight:700;color:var(--text)}.events-empty-sub{font-size:.88rem;color:var(--muted2);line-height:1.55;max-width:240px;margin-bottom:8px}.events-empty-cta{padding:13px 30px;background:#ff7a3c;color:#fff;border:none;border-radius:24px;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:0 4px 18px #ff7a3c59;transition:opacity .15s,transform .12s;-webkit-tap-highlight-color:transparent;margin-top:8px}.events-empty-cta:hover{opacity:.9;transform:translateY(-1px)}.events-empty-cta:active{transform:scale(.97);opacity:.88}.upcoming-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 20px);margin:16px 10px 8px;padding:16px 20px;background:#ff7a3c12;border:1px solid rgba(255,122,60,.22);border-radius:16px;color:var(--text);font-size:.92rem;font-weight:700;text-align:center;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;-webkit-tap-highlight-color:transparent;box-shadow:0 0 18px #ff7a3c0f}.upcoming-cta:hover{background:#ff7a3c1f;border-color:#ff7a3c61;box-shadow:0 0 24px #ff7a3c24}.upcoming-cta:active{transform:scale(.98);opacity:.85}.events-group-label--day{color:var(--text);font-size:.75rem;border-top:1px solid var(--border);padding-top:14px!important;margin-top:4px}.event-row--live .city-row-current{color:var(--hot-dot)}.event-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.event-type-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:10px;border:1px solid var(--border);background:none;color:var(--muted2);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.event-type-btn:hover{background:#ffffff0a;color:var(--text)}.event-type-btn.selected{background:#c24a381f;border-color:#c24a3873;color:var(--accent)}.event-type-icon{font-size:1.2rem;line-height:1}.event-type-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.modal-row{display:flex;gap:10px}.cef-form{display:flex;flex-direction:column;gap:28px;padding:28px 20px 48px;max-width:480px;margin:0 auto;width:100%}.cef-section{display:flex;flex-direction:column;gap:10px}.cef-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted2)}.cef-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cef-cat-btn{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 4px 11px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:var(--surface);color:#ffffff59;cursor:pointer;transition:color .15s,border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}.cef-cat-btn:active{transform:scale(.93)}.cef-cat-btn.selected{color:#ff7a3c;border-color:#ff7a3c73;background:#ff7a3c12;box-shadow:0 0 14px #ff7a3c1a}.cef-cat-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.cef-input{background:var(--surface);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 16px;color:var(--text);font-size:1rem;outline:none;font-family:inherit;width:100%;transition:border-color .15s,box-shadow .15s}.cef-input::placeholder{color:var(--muted)}.cef-input:focus{border-color:#ff7a3c80;box-shadow:0 0 0 3px #ff7a3c12}.cef-input[type=time]{color-scheme:dark}.cef-row{display:flex;gap:12px}.cef-row .cef-section{flex:1}.cef-error{font-size:.85rem;color:#ff6b6b;margin-top:-12px}.cef-submit{width:100%;padding:15px;background:linear-gradient(135deg,#ff7a3c,#b87228);color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .15s,transform .12s;box-shadow:0 4px 20px #ff7a3c40}.cef-submit:hover{opacity:.92;transform:translateY(-1px)}.cef-submit:active{transform:scale(.98);opacity:.88}.cef-submit:disabled{opacity:.35;cursor:default;transform:none;box-shadow:none}.cef-delete-btn{width:100%;margin-top:8px;padding:13px 20px;background:transparent;border:1.5px solid rgba(239,68,68,.4);border-radius:14px;color:#f87171;font-size:.9rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s}.cef-delete-btn:hover{background:#ef444412;border-color:#ef4444a6}.cef-delete-btn:active{transform:scale(.98);opacity:.85}.cef-delete-btn:disabled{opacity:.35;cursor:default}.delete-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));z-index:10;animation:fadeIn .15s ease-out both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.delete-confirm-dialog{width:100%;background:var(--surface, #1a1a1a);border:1px solid var(--border, rgba(255,255,255,.1));border-radius:20px;padding:24px 20px 20px;display:flex;flex-direction:column;gap:8px;animation:slideUp .2s ease-out both}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.delete-confirm-title{font-size:1.05rem;font-weight:700;color:var(--text);margin:0}.delete-confirm-body{font-size:.85rem;color:var(--text-muted, rgba(255,255,255,.5));margin:0 0 8px;line-height:1.4}.delete-confirm-actions{display:flex;gap:10px}.delete-confirm-cancel{flex:1;padding:13px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text);font-size:.9rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.delete-confirm-cancel:active{opacity:.75}.delete-confirm-cancel:disabled{opacity:.35;cursor:default}.delete-confirm-ok{flex:1;padding:13px;background:#ef444426;border:1.5px solid rgba(239,68,68,.5);border-radius:12px;color:#f87171;font-size:.9rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}.delete-confirm-ok:hover{background:#ef444438}.delete-confirm-ok:active{opacity:.85;transform:scale(.98)}.delete-confirm-ok:disabled{opacity:.35;cursor:default}.cef-recurrence-row{display:flex;gap:8px;flex-wrap:wrap}.cef-recur-btn{flex:1;min-width:72px;padding:8px 6px;border-radius:10px;border:1.5px solid rgba(255,255,255,.12);background:#ffffff0d;color:#fff9;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease}.cef-recur-btn.selected{border-color:#ff7b00;background:#ff7b0026;color:#ff9a3c}.cef-weekday-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.cef-day-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.12);background:#ffffff0d;color:#fff9;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease}.cef-day-btn.selected{border-color:#ff7b00;background:#ff7b0033;color:#ff9a3c}.cef-interval-row{display:flex;align-items:center;gap:10px;margin-top:10px}.cef-interval-label{color:#fff9;font-size:.9rem}.cef-interval-input{width:72px;padding:8px 10px;border-radius:10px;border:1.5px solid rgba(255,255,255,.15);background:#ffffff0f;color:#fff;font-size:1rem;text-align:center}.cef-interval-input:focus{outline:none;border-color:#ff7b0080}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:100;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .15s ease-out}.modal-panel{background:linear-gradient(180deg,var(--surface2) 0%,var(--surface) 56px);border-top:1px solid rgba(255,255,255,.08);border-radius:20px 20px 0 0;width:100%;max-width:640px;animation:slideUp .22s cubic-bezier(.34,1.56,.64,1)}@media (min-width: 768px){.modal-overlay{align-items:center}.modal-panel{border-radius:20px;border:1px solid rgba(255,255,255,.08);max-width:400px;background:linear-gradient(160deg,var(--surface2) 0%,var(--surface) 80px);box-shadow:0 24px 64px #0009,0 0 0 1px #0000004d}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 14px;border-bottom:1px solid var(--border)}.modal-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted2)}.modal-form{display:flex;flex-direction:column;gap:16px;padding:20px 18px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.modal-field{display:flex;flex-direction:column;gap:6px}.modal-label{font-size:.72rem;color:var(--muted2);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.modal-input{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:11px 14px;color:var(--text);font-size:.95rem;outline:none;transition:border-color .15s;font-family:inherit}.modal-input::placeholder{color:var(--muted)}.modal-input:focus{border-color:var(--accent)}.modal-error{font-size:.82rem;color:var(--accent2)}.modal-submit{width:100%;padding:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .15s;margin-top:4px}.modal-submit:disabled{opacity:.45;cursor:default}.header-icons{position:absolute;top:50%;right:14px;transform:translateY(-50%);display:flex;align-items:center;gap:8px;padding:6px;border-radius:18px;background:#0e0b09b8;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 24px #00000047,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2}.header-side-control{position:absolute;top:max(18px,env(safe-area-inset-top));display:flex;align-items:center;gap:8px;z-index:3}.header-side-control--left{left:16px}.header-side-control--right{right:16px}.header-icon-btn{position:relative;width:48px;height:48px;background:#ffffff08;border:1px solid rgba(255,255,255,.03);color:var(--muted2);cursor:pointer;padding:0;border-radius:14px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s,border-color .15s,transform .12s;flex-shrink:0}.header-icon-btn svg{width:24px;height:24px}.header-icon-btn:hover{color:var(--text);background:#ffffff14;border-color:#ffffff14}.header-icon-btn:active{transform:scale(.96)}.header-icon-btn--unread{color:var(--text);background:#ff7a3c14;border-color:#ff7a3c2e}.header-icon-badge{position:absolute;top:3px;right:3px;background:var(--accent);color:#fff;font-size:.64rem;font-weight:700;line-height:1;min-width:18px;height:18px;border-radius:9px;padding:0 4px;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface);pointer-events:none}.header-icon-badge--dot{min-width:9px;width:9px;height:9px;border-radius:50%;padding:0;top:5px;right:5px}@media (min-width: 768px){.header-side-control{display:none}.header-desktop-actions .header-icon-btn{width:38px;height:38px;border-radius:11px}.header-desktop-actions .header-icon-btn svg{width:20px;height:20px}}.notif-page .page-header{display:flex;align-items:center;gap:8px}.notif-mark-all{margin-left:auto;background:none;border:none;color:var(--accent);font-size:.78rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:8px}.notif-body{overflow-y:auto;-webkit-overflow-scrolling:touch}.notif-list{display:flex;flex-direction:column}.notif-row{display:flex;align-items:flex-start;gap:12px;padding:16px;background:none;border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;width:100%;transition:background .1s;position:relative}.notif-row:active{background:#ffffff08}.notif-row.read{opacity:.5}.notif-row:not(.read){border-left:3px solid var(--accent);padding-left:13px}.notif-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px}.notif-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notif-title{font-size:.92rem;font-weight:600;color:var(--text);line-height:1.3}.notif-body-text{font-size:.85rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-time{font-size:.72rem;color:var(--muted);margin-top:2px}.notif-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:6px}.notif-empty{display:flex;flex-direction:column;align-items:center;padding:60px 24px;gap:8px}.notif-empty-icon{font-size:2rem;margin:0}.notif-empty-title{font-size:1rem;font-weight:600;color:var(--text);margin:0}.notif-empty-sub{font-size:.82rem;color:var(--muted);margin:0}.notif-loading{display:flex;flex-direction:column}.notif-skeleton{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.notif-skeleton-text{flex:1;display:flex;flex-direction:column;gap:8px;padding-top:3px}.skel-icon{width:24px;height:24px;border-radius:50%}.skel-line{height:12px;border-radius:6px}.skel-line--sm{height:10px}.notif-prefs{padding:24px 16px 40px;border-top:1px solid var(--border);margin-top:8px}.notif-prefs-title{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}.notif-pref-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.notif-pref-row:last-child{border-bottom:none}.notif-pref-label{display:flex;flex-direction:column;gap:3px;flex:1}.notif-pref-name{font-size:.85rem;font-weight:500;color:var(--text)}.notif-pref-desc{font-size:.75rem;color:var(--muted)}.notif-toggle{position:relative;width:44px;height:26px;border-radius:13px;background:#ffffff1f;border:none;cursor:pointer;flex-shrink:0;transition:background .2s;padding:0}.notif-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}.notif-toggle.on{background:var(--accent)}.notif-toggle.on:after{transform:translate(18px)}.notif-toggle:disabled{opacity:.5;cursor:default}.people-dm-btn{margin-left:auto;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);color:var(--text);cursor:pointer;width:42px;height:42px;padding:0;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s,border-color .15s,transform .12s;flex-shrink:0}.people-dm-btn:hover{color:var(--accent);background:#ffffff0f;border-color:#c24a3829}.people-dm-btn:active{transform:scale(.96)}.conv-body{padding:8px 0}.conv-loading,.conv-empty{text-align:center;padding:48px 24px}.conv-loading{color:var(--muted);font-size:.9rem}.conv-empty-icon{font-size:2.5rem;margin:0 0 8px}.conv-empty-title{font-size:1.05rem;font-weight:700;color:var(--text);margin:0 0 6px}.conv-empty-sub{font-size:.85rem;color:var(--muted);margin:0;line-height:1.5}.conv-section{margin-bottom:8px}.conv-section-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 16px 4px;margin:0}.conv-row{display:flex;align-items:center;gap:12px;width:100%;padding:15px 16px;background:none;border:none;text-align:left;cursor:pointer;transition:background .12s}.conv-row:active{background:#ffffff0d}.conv-avatar{width:44px;height:44px;border-radius:50%;font-size:1rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.conv-event-icon{width:44px;height:44px;border-radius:12px;background:#ffffff12;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.conv-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.conv-row-name{font-size:1rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-row-preview{font-size:.87rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.conv-row-time{font-size:.75rem;color:var(--muted);flex-shrink:0}.conv-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.conv-row--unread .conv-row-name{font-weight:700;color:var(--text)}.conv-row--unread .conv-row-time{color:var(--accent)}.dm-screen{display:flex;flex-direction:column}.dm-header-identity{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.dm-header-avatar{width:34px;height:34px;border-radius:50%;font-size:.85rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}img.dm-header-avatar{object-fit:cover}.dm-header-name{font-size:.95rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.dm-bubble-wrap{display:flex;justify-content:flex-start;margin-top:10px}.dm-bubble-wrap--me{justify-content:flex-end}.dm-bubble{max-width:75%;padding:9px 13px;border-radius:18px 18px 18px 5px;background:#ffffff14;color:var(--text);font-size:.92rem;line-height:1.45;word-break:break-word}.dm-bubble--me{border-bottom-left-radius:18px;border-bottom-right-radius:5px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.dm-bubble-wrap--grouped{margin-top:6px}.dm-time{font-size:.68rem;color:var(--muted);opacity:.55;margin:2px 16px 6px;text-align:left}.dm-time--me{text-align:right}.dm-image{display:block;max-width:240px;max-height:280px;width:auto;height:auto;border-radius:14px;object-fit:cover}.dm-composer{display:flex;align-items:center;gap:8px;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.06);background:var(--bg)}.dm-upload-btn{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--muted);cursor:pointer;transition:color .12s,border-color .12s,background .12s}.dm-upload-btn:hover:not(:disabled){color:var(--accent);border-color:#c24a3866;background:#c24a3814}.dm-upload-btn:disabled{opacity:.35;cursor:default}.dm-input{flex:1;min-width:0;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:9px 16px;color:var(--text);font-size:.92rem;outline:none;transition:border-color .15s}.dm-input:focus{border-color:var(--accent)}.dm-input::placeholder{color:var(--muted)}.pub-profile-vibe-score{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;background:#ffc1070a;border:1px solid rgba(255,193,7,.12);border-radius:16px;margin:0 18px}.pub-profile-vibe-stars{font-size:1.4rem;letter-spacing:2px}.vibe-star{color:#ffffff26}.vibe-star--on{color:#fbbf24}.pub-profile-vibe-avg{font-size:1rem;font-weight:700;color:var(--text)}.pub-profile-vibe-count{font-size:.8rem;color:var(--muted2)}.pub-profile-vibe-cta{padding:0 18px}.pub-profile-vibe-btn{width:100%;padding:12px;background:#fbbf2414;border:1px solid rgba(251,191,36,.2);border-radius:12px;color:#fbbf24;font-size:.95rem;font-weight:600;cursor:pointer}.pub-profile-vibe-btn:hover{background:#fbbf2424}.pub-profile-vibe-form{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--bg2);border:1px solid rgba(251,191,36,.18);border-radius:14px}.pub-profile-vibe-form-stars{display:flex;gap:6px;justify-content:center}.vibe-star-btn{font-size:1.8rem;background:none;border:none;cursor:pointer;color:#ffffff26;line-height:1;padding:0 2px;transition:color .15s,transform .1s}.vibe-star-btn.on{color:#fbbf24}.vibe-star-btn:hover{transform:scale(1.15)}.pub-profile-vibe-input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:.9rem;padding:10px 12px;resize:none;font-family:inherit;box-sizing:border-box}.pub-profile-vibe-input::placeholder{color:var(--muted2)}.pub-profile-vibe-input:focus{outline:none;border-color:#fbbf2459}.pub-profile-vibe-form-actions{display:flex;gap:8px;justify-content:flex-end}.pub-profile-vibe-cancel{padding:8px 14px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:.85rem;cursor:pointer}.pub-profile-vibe-submit{padding:8px 16px;background:#fbbf24;border:none;border-radius:8px;color:#000;font-size:.85rem;font-weight:700;cursor:pointer}.pub-profile-vibe-submit:disabled{opacity:.5;cursor:default}.pub-profile-vibes{padding:0 18px;display:flex;flex-direction:column;gap:10px}.pub-profile-vibe-row{display:flex;gap:12px;align-items:flex-start}.pub-profile-vibe-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.pub-profile-vibe-avatar--initials{display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff}.pub-profile-vibe-content{flex:1}.pub-profile-vibe-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.pub-profile-vibe-author{font-size:.85rem;font-weight:700;color:var(--text)}.pub-profile-vibe-rating{color:#fbbf24;font-size:.8rem;letter-spacing:1px}.pub-profile-vibe-msg{font-size:.85rem;color:var(--muted);line-height:1.4;margin:0}.pub-profile-vibes-empty{text-align:center;padding:20px 0;color:var(--muted2);font-size:.85rem;line-height:1.6}.guest-gate{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 24px;max-width:360px;margin:0 auto;text-align:center}.guest-gate-emoji{font-size:3rem;line-height:1}.guest-gate-title{font-size:1.25rem;font-weight:700;color:var(--text);margin:0}.guest-gate-sub{font-size:.95rem;color:var(--muted);line-height:1.5;margin:0}.guest-gate .modal-submit{margin-top:4px;width:100%}.lp{width:100%;min-height:100%;overflow-x:hidden;overflow-y:auto;background:var(--bg);color:var(--text)}.lp-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(40px,env(safe-area-inset-top)) 24px 48px;gap:20px;text-align:center;background:radial-gradient(ellipse 100% 55% at 50% -8%,rgba(194,74,56,.14) 0%,transparent 65%),var(--bg)}.lp-hero-brand{opacity:.92}.lp-hero-h1{font-size:clamp(2.6rem,9vw,4.4rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;background:linear-gradient(135deg,#fff 30%,#ffffffa6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;max-width:580px}.lp-hero-sub{font-size:clamp(1rem,3vw,1.15rem);color:var(--muted2);font-weight:400;line-height:1.55;max-width:400px;margin-top:-4px}.lp-hero-join{width:100%;max-width:380px;margin-top:4px}.lp-join-card{width:100%;max-width:100%}.lp-hero-stores{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:4px}.lp-scroll-hint{position:absolute;bottom:20px;left:50%;transform:translate(-50%);font-size:1.1rem;color:var(--muted);opacity:.5;animation:lp-bounce 2s ease-in-out infinite}@keyframes lp-bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(5px)}}.lp-store-btn{display:flex;align-items:center;gap:10px;padding:10px 18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text);cursor:not-allowed;opacity:.65;transition:opacity .2s;font-family:inherit}.lp-store-icon{font-size:1.5rem;line-height:1}.lp-store-label{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left}.lp-store-top{font-size:.68rem;color:var(--muted2);line-height:1}.lp-store-bottom{font-size:.95rem;font-weight:700;line-height:1}.lp-section{padding:72px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;max-width:800px;margin:0 auto;width:100%}.lp-section-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:.9;margin:0}.lp-section-title{font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:var(--text);margin:0}.lp-how{border-top:1px solid rgba(255,255,255,.05)}.lp-steps{display:grid;grid-template-columns:1fr;gap:20px;width:100%;margin-top:8px}@media (min-width: 600px){.lp-steps{grid-template-columns:repeat(3,1fr);gap:16px}}.lp-step{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;background:#ffffff06;border:1px solid rgba(255,255,255,.06);border-radius:18px;text-align:center}.lp-step-icon{font-size:2rem;line-height:1}.lp-step-num{font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--accent);opacity:.75}.lp-step-title{font-size:1.05rem;font-weight:700;color:var(--text);margin:0}.lp-step-desc{font-size:.9rem;color:var(--muted2);line-height:1.5;margin:0}.lp-stats{border-top:1px solid rgba(255,255,255,.05);padding-top:56px;padding-bottom:56px}.lp-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);border-radius:18px;overflow:hidden}@media (min-width: 600px){.lp-stats-grid{grid-template-columns:repeat(4,1fr)}}.lp-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px 16px;background:#0d0b09b3}.lp-stat-value{font-size:clamp(1.9rem,5vw,2.6rem);font-weight:900;letter-spacing:-.04em;color:var(--text);line-height:1;display:flex;align-items:center;gap:6px}.lp-stat-label{font-size:.78rem;color:var(--muted2);font-weight:500}.lp-stat-live{color:var(--hot-dot)}.lp-stat-pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--hot-dot);box-shadow:0 0 6px var(--hot-dot);animation:lp-pulse 1.8s ease-in-out infinite;flex-shrink:0}@keyframes lp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}.lp-concept{border-top:1px solid rgba(255,255,255,.05);padding-top:80px;padding-bottom:80px}.lp-concept-inner{display:flex;flex-direction:column;align-items:center;gap:28px;max-width:520px}.lp-concept-h2{font-size:clamp(1.9rem,6vw,3rem);font-weight:900;letter-spacing:-.04em;line-height:1.1;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.lp-concept-rules{display:flex;flex-direction:column;gap:6px}.lp-concept-rules p{font-size:1.05rem;color:var(--muted2);line-height:1.5;margin:0}.lp-concept-rules p:first-child{color:var(--text);font-weight:600}.lp-download{border-top:1px solid rgba(255,255,255,.05)}.lp-download-sub{font-size:.9rem;color:var(--muted2);margin:-8px 0 0}.lp-store-badges{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.lp-cta{border-top:1px solid rgba(255,255,255,.05);padding-bottom:80px;background:radial-gradient(ellipse 90% 60% at 50% 110%,rgba(194,74,56,.1) 0%,transparent 65%),transparent}.lp-cta .lp-join-card{width:100%;max-width:380px}.lp-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:28px 24px max(28px,env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.05)}.lp-footer-tagline{font-size:.82rem;color:var(--muted);letter-spacing:.01em}.jc-auth{display:flex;flex-direction:column;gap:14px;padding-top:4px}.jc-auth-divider{position:relative;display:flex;align-items:center;gap:10px}.jc-auth-divider:before,.jc-auth-divider:after{content:"";flex:1;height:1px;background:#ffffff12}.jc-auth-divider-text{font-size:.72rem;color:var(--muted);white-space:nowrap;letter-spacing:.01em}.jc-auth-actions{display:flex;gap:8px}.jc-auth-signup{flex:1;padding:10px 14px;border:1px solid rgba(194,74,56,.55);border-radius:10px;background:#c24a3814;color:var(--accent);font-size:.88rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;text-align:center}.jc-auth-signup:hover{background:#c24a3826;border-color:#c24a38cc}.jc-auth-signin{flex:1;padding:10px 14px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:transparent;color:var(--muted2);font-size:.88rem;font-weight:500;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s;text-align:center}.jc-auth-signin:hover{color:var(--text);border-color:#ffffff2e}.jc-auth-hint{font-size:.68rem;color:var(--muted);text-align:center;margin:0;letter-spacing:.01em}
