.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:#1a1a2e}.error-boundary-content{max-width:400px;text-align:center;color:#fff;padding:32px;background:#1a1a1a;border-radius:16px;border:2px solid #333}.error-icon{font-size:64px;margin-bottom:16px}.error-boundary-content h2{font-size:24px;margin-bottom:12px;color:#fff}.error-boundary-content p{font-size:16px;color:#999;margin-bottom:24px;line-height:1.5}.error-details{margin:20px 0;padding:12px;background:#2a2a2a;border-radius:8px;text-align:left;font-size:12px;color:#ccc}.error-details summary{cursor:pointer;margin-bottom:8px;color:#ff6b9d;font-weight:600}.error-details pre{margin:8px 0 0;white-space:pre-wrap;word-break:break-word;color:#ff6b6b}.error-retry-btn{background:#ff6b9d;color:#fff;border:none;padding:12px 24px;border-radius:24px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.error-retry-btn:hover{background:#ff5a8a}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);z-index:9999}.splash-logo-wrap{text-align:center;animation:splash-fade-in .5s ease}.splash-logo-icon{font-size:48px;margin-bottom:var(--spacing-sm);animation:float 3s ease-in-out infinite}.splash-logo-text{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);letter-spacing:.5px;font-family:var(--font-display);background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.splash-subtitle{margin-top:var(--spacing-sm);color:var(--text-muted);font-size:var(--font-size-base)}@keyframes splash-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.splash-logo-wrap,.splash-logo-icon{animation:none}}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg-primary);position:relative}.app:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 0%,rgba(255,45,149,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(0,212,170,.04) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(168,85,247,.03) 0%,transparent 60%);pointer-events:none;z-index:0;animation:gradientShift 12s ease infinite;background-size:200% 200%}.app>*{position:relative;z-index:1}.header{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:12px 16px;border-bottom:1px solid var(--border-glass);position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:12px}.header-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;flex:1;letter-spacing:-.02em;font-family:var(--font-display)}.back-button{background:var(--bg-card);border:1px solid var(--border-subtle);font-size:18px;color:var(--text-primary);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--transition-fast)}.back-button:hover{background:var(--bg-elevated);border-color:var(--border-accent)}.content{flex:1;overflow-y:auto;background:transparent;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.tab-bar{display:flex;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-glass);padding:6px 0 10px;padding-bottom:max(10px,env(safe-area-inset-bottom));position:sticky;bottom:0;z-index:100}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 4px;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:all var(--transition-normal);border-radius:var(--radius-md);position:relative}.tab:active{transform:scale(.94)}.tab.active{color:var(--accent-primary)}.tab.active:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:20px;height:2px;background:var(--accent-primary);border-radius:2px;box-shadow:0 0 8px var(--accent-glow)}.tab-icon{font-size:20px;margin-bottom:2px;transition:transform var(--transition-normal)}.tab.active .tab-icon{transform:scale(1.15)}.tab-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.02em}.notification-bell{background:var(--bg-card);border:1px solid var(--border-subtle);font-size:18px;cursor:pointer;position:relative;padding:8px;color:var(--text-secondary);border-radius:var(--radius-full);transition:all var(--transition-normal)}.notification-bell:hover{transform:scale(1.08);color:var(--text-primary);border-color:var(--border-accent)}.notification-badge{position:absolute;top:2px;right:2px;background:var(--accent-primary);color:#fff;border-radius:var(--radius-full);padding:2px 6px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);min-width:16px;text-align:center;animation:pulse 2s ease-in-out infinite}.settings-entry{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);transition:background var(--transition-fast);cursor:pointer}.settings-entry:hover{background:var(--bg-elevated)}.settings-entry-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.settings-entry-text{flex:1}.settings-entry-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary)}.settings-entry-desc{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:2px}.settings-entry-value{font-size:var(--font-size-sm);color:var(--text-dim)}:root{--font-display: "Playfair Display", "Georgia", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;--bg-primary: #06060c;--bg-secondary: #0d0d16;--bg-card: #13131f;--bg-elevated: #1a1a2e;--bg-glass: rgba(13, 13, 22, .75);--bg-glass-hover: rgba(26, 26, 46, .85);--accent-primary: #ff2d95;--accent-primary-soft: rgba(255, 45, 149, .15);--accent-secondary: #00d4aa;--accent-secondary-soft: rgba(0, 212, 170, .15);--accent-tertiary: #a855f7;--accent-tertiary-soft: rgba(168, 85, 247, .15);--accent-gold: #f59e0b;--accent-gold-soft: rgba(245, 158, 11, .15);--accent-glow: rgba(255, 45, 149, .35);--accent-glow-secondary: rgba(0, 212, 170, .35);--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-dim: #4a4a5a;--online: #22c55e;--out-tonight: #f59e0b;--verified: #3b82f6;--premium: #f59e0b;--premier: #a855f7;--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .15);--border-subtle: rgba(255, 255, 255, .06);--border-accent: rgba(255, 45, 149, .25);--border-glass: rgba(255, 255, 255, .08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--accent-glow);--shadow-glow-secondary: 0 0 20px var(--accent-glow-secondary);--font-size-xs: 10px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-size-3xl: 36px;--font-size-display: 48px;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 48px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-elastic: .35s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 100;--z-sticky: 200;--z-overlay: 500;--z-modal: 1000;--z-toast: 2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 8px transparent}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shimmer-text{0%{background-position:-200% center}to{background-position:200% center}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}30%{transform:translateY(-8px)}50%{transform:translateY(0)}70%{transform:translateY(-4px)}}@keyframes heartBeat{0%{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.2)}60%{transform:scale(1)}}@keyframes ripple{0%{transform:scale(.8);opacity:1}to{transform:scale(2.5);opacity:0}}@keyframes neonPulse{0%,to{text-shadow:0 0 8px var(--accent-primary),0 0 20px var(--accent-primary)}50%{text-shadow:0 0 16px var(--accent-primary),0 0 40px var(--accent-primary),0 0 60px var(--accent-primary)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes cardEnter{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tagPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes ringPulse{0%{transform:scale(1);opacity:.6}to{transform:scale(1.8);opacity:0}}@keyframes toastIn{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.95)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-up{animation:slideUp .35s ease-out}.animate-slide-down{animation:slideDown .35s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-card-enter{animation:cardEnter .4s ease-out both}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-heartbeat{animation:heartBeat .6s ease-in-out}.animate-bounce{animation:bounce .5s ease-out}.animate-neon{animation:neonPulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-live-pulse{animation:livePulse 1.5s ease-in-out infinite}.animate-toast-in{animation:toastIn .3s ease-out}.animate-toast-out{animation:toastOut .3s ease-in forwards}.animate-modal-in{animation:modalIn .35s ease-out}.animate-overlay-in{animation:backdropIn .25s ease-out}.transition-fast{transition:all var(--transition-fast)}.transition-normal{transition:all var(--transition-normal)}.transition-slow{transition:all var(--transition-slow)}.transition-elastic{transition:all var(--transition-elastic)}.hover-scale{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.hover-scale:hover{transform:scale(1.03)}.hover-lift{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;font-size:var(--font-size-base);line-height:var(--line-height-normal)}#root{width:100%;min-height:100vh}
