.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.loading-container{display:flex;flex-direction:column;align-items:center;gap:20px}.loading-spinner{position:relative;width:60px;height:60px}.spinner-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid transparent;border-top-color:var(--primary);animation:spin 1.5s cubic-bezier(.68,-.55,.265,1.55) infinite}.spinner-ring:nth-child(2){width:85%;height:85%;top:7.5%;left:7.5%;border-top-color:var(--primary-light);animation-delay:.2s}.spinner-ring:nth-child(3){width:70%;height:70%;top:15%;left:15%;border-top-color:var(--primary-lighter);animation-delay:.4s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-size:var(--text-base);color:var(--text-secondary);font-weight:var(--weight-medium);animation:pulse 1.5s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-inline{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px}.loading-spinner-small{position:relative;width:32px;height:32px}.loading-spinner-small .spinner-ring{border-width:2px}.loading-text-small{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--weight-medium)}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:400px;width:calc(100% - 32px);pointer-events:none}.toast-notification{position:relative;background:#14141ef2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,107,157,.3);border-radius:20px;padding:16px;overflow:hidden;cursor:pointer;pointer-events:all;animation:toastEnter .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 10px 40px #ff6b9d33,0 0 0 1px #ffffff0d,inset 0 1px #ffffff1a}.toast-notification.match{border-color:#8b5cf666;box-shadow:0 10px 40px #8b5cf64d,0 0 0 1px #ffffff0d,inset 0 1px #ffffff1a}.toast-notification.exiting{animation:toastExit .3s cubic-bezier(.4,0,1,1) forwards}@keyframes toastEnter{0%{opacity:0;transform:translateY(-100%) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastExit{0%{opacity:1;transform:translateY(0) scale(1);clip-path:inset(0 0 0 0)}to{opacity:0;transform:translateY(0) scale(1);clip-path:inset(0 100% 0 0)}}.toast-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,107,157,.15) 0%,transparent 50%);pointer-events:none;animation:glowPulse 2s ease-in-out infinite}.toast-notification.match .toast-glow{background:radial-gradient(circle at center,rgba(139,92,246,.2) 0%,transparent 50%)}@keyframes glowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.toast-content{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.toast-icon-wrapper{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-icon-pulse{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;background:#ff6b9d33;animation:iconPulse 1.5s ease-in-out infinite}.toast-icon-pulse.match{background:#8b5cf633}@keyframes iconPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:0}}.toast-icon{animation:iconBounce .5s cubic-bezier(.34,1.56,.64,1) .2s backwards;filter:drop-shadow(0 0 10px rgba(255,107,157,.5))}.toast-icon.match{color:#8b5cf6;filter:drop-shadow(0 0 10px rgba(139,92,246,.5))}.toast-icon.success{width:48px;height:48px;background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}@keyframes iconBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.toast-text{flex:1;min-width:0}.toast-title{font-size:16px;font-weight:700;color:#fff;margin:0 0 4px;animation:textSlide .4s ease-out .1s backwards}.toast-message{font-size:13px;color:#ffffffb3;margin:0;animation:textSlide .4s ease-out .2s backwards}@keyframes textSlide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.toast-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,107,157,.5);flex-shrink:0;animation:photoScale .4s cubic-bezier(.34,1.56,.64,1) .3s backwards}@keyframes photoScale{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff1a;overflow:hidden}.toast-progress-bar{height:100%;background:linear-gradient(90deg,#ff6b9d,#c44bff);transform-origin:left;animation:progressShrink linear forwards}.toast-notification.match .toast-progress-bar{background:linear-gradient(90deg,#8b5cf6,#c084fc)}@keyframes progressShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 400px){.toast-container{top:12px;width:calc(100% - 24px)}.toast-notification{padding:12px;border-radius:16px}.toast-icon-wrapper{width:40px;height:40px}.toast-icon{width:20px;height:20px}.toast-title{font-size:14px}.toast-message{font-size:12px}.toast-photo{width:40px;height:40px}}.toast-notification.like:before,.toast-notification.like:after{content:"♥";position:absolute;font-size:14px;color:#ff6b9d;opacity:0;animation:floatHeart 2s ease-in-out infinite}.toast-notification.like:before{top:10px;left:20%;animation-delay:0s}.toast-notification.like:after{top:15px;right:25%;animation-delay:.5s}@keyframes floatHeart{0%,to{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:.8;transform:translateY(-10px) scale(1)}80%{opacity:.8;transform:translateY(-30px) scale(.8)}}*{margin:0;padding:0;box-sizing:border-box}body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;pointer-events:none}img.clickable,.swipe-card img,.card-photo{pointer-events:auto}:root{--bg-dark: #0a0a0f;--bg-primary: #0a0a0f;--bg-card: #12121a;--bg-elevated: #1a1a25;--bg-glass: rgba(255, 255, 255, .03);--gradient-primary: linear-gradient(90deg, #8b5cf6 0%, #9b6df7 50%, #8b5cf6 100%);--gradient-secondary: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);--gradient-danger: linear-gradient(135deg, #ef4444 0%, #f97316 100%);--gradient-gold: linear-gradient(135deg, #f59e0b 0%, #fbbf24 50%, #fcd34d 100%);--gradient-glass: linear-gradient(135deg, rgba(139, 92, 246, .1) 0%, rgba(168, 85, 247, .05) 100%);--primary: #8b5cf6;--primary-light: #a78bfa;--primary-lighter: #c4b5fd;--primary-dark: #7c3aed;--secondary: #ec4899;--accent: #d946ef;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--error: #ef4444;--info: #3b82f6;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .5);--text-muted: rgba(255, 255, 255, .4);--text-disabled: rgba(255, 255, 255, .2);--text-dark: #0a0a0f;--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .15);--border-glow: rgba(139, 92, 246, .3);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .6);--shadow-glow: 0 0 30px rgba(139, 92, 246, .3);--shadow-glow-pink: 0 0 30px rgba(236, 72, 153, .3);--font-primary: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", sans-serif;--font-mono: "SF Mono", "Fira Code", "Consolas", monospace;--text-xs: clamp(.69rem, .65rem + .2vw, .75rem);--text-sm: clamp(.81rem, .77rem + .2vw, .875rem);--text-base: clamp(.94rem, .89rem + .25vw, 1rem);--text-md: clamp(1.06rem, 1rem + .3vw, 1.125rem);--text-lg: clamp(1.19rem, 1.12rem + .35vw, 1.25rem);--text-xl: clamp(1.31rem, 1.22rem + .45vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.35rem + .75vw, 1.875rem);--text-3xl: clamp(1.88rem, 1.65rem + 1.15vw, 2.25rem);--text-4xl: clamp(2.25rem, 1.95rem + 1.5vw, 3rem);--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--icon-xs: .875rem;--icon-sm: 1rem;--icon-base: 1.25rem;--icon-md: 1.5rem;--icon-lg: 2rem;--icon-xl: 2.5rem;--icon-2xl: 3rem;--icon-3xl: 4rem;--safe-area-top: env(safe-area-inset-top, 16px);--safe-area-bottom: env(safe-area-inset-bottom, 24px);--safe-area-left: env(safe-area-inset-left, 16px);--safe-area-right: env(safe-area-inset-right, 16px);--tg-safe-area-top: 0px;--tg-safe-area-bottom: 0px;--tg-safe-area-left: 0px;--tg-safe-area-right: 0px;--tg-content-safe-area-top: 0px;--tg-content-safe-area-bottom: 0px;--tg-content-safe-area-left: 0px;--tg-content-safe-area-right: 0px;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-modal-backdrop: 1300;--z-modal: 1400;--z-popover: 1500;--z-tooltip: 1600}html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{height:100%;overflow:hidden}body{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);background:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:radial-gradient(ellipse at top left,rgba(255,107,157,.12) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(168,85,247,.1) 0%,transparent 50%),radial-gradient(ellipse at center,rgba(255,107,157,.05) 0%,transparent 70%);pointer-events:none;z-index:-1}@keyframes backgroundPulse{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-5%,5%) scale(1.05)}66%{transform:translate(5%,-5%) scale(.95)}}#root{height:100%;display:flex;flex-direction:column}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.font-light{font-weight:var(--weight-light)}.font-normal{font-weight:var(--weight-regular)}.font-medium{font-weight:var(--weight-medium)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}.font-extrabold{font-weight:var(--weight-extrabold)}.leading-none{line-height:var(--leading-none)}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.tracking-tight{letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:var(--tracking-wide)}.tracking-wider{letter-spacing:var(--tracking-wider)}.icon{flex-shrink:0;display:inline-block;vertical-align:middle}.icon-xs{width:var(--icon-xs);height:var(--icon-xs)}.icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.icon-base{width:var(--icon-base);height:var(--icon-base)}.icon-md{width:var(--icon-md);height:var(--icon-md)}.icon-lg{width:var(--icon-lg);height:var(--icon-lg)}.icon-xl{width:var(--icon-xl);height:var(--icon-xl)}.icon-2xl{width:var(--icon-2xl);height:var(--icon-2xl)}.icon-3xl{width:var(--icon-3xl);height:var(--icon-3xl)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-6);background:var(--bg-dark)}.loading-screen p{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.loading-spinner{width:56px;height:56px;border-radius:var(--radius-full);background:var(--gradient-primary);position:relative;animation:spinnerPulse 1.5s ease-in-out infinite}.loading-spinner:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:var(--radius-full);background:var(--bg-dark)}.loading-spinner:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:var(--radius-full);border:3px solid transparent;border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinnerPulse{0%,to{box-shadow:0 0 #8b5cf666}50%{box-shadow:0 0 0 15px #8b5cf600}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.page-loader{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;background:var(--bg-dark)}.page-loader .loading-spinner{width:40px;height:40px}.modal-overlay,.modal-content,.task-card,.btn,button,.nav-item,.swipe-card{will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}button,.btn,.nav-item,a,.clickable{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-overlay{transition:opacity .15s ease-out}.modal-content{transition:transform .15s ease-out,opacity .15s ease-out}.app-layout{display:flex;flex-direction:column;height:100%;overflow:hidden}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--bg-dark)}.bottom-nav{display:flex;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;right:0;margin:var(--space-3) var(--space-4);margin-bottom:calc(var(--space-3) + max(env(safe-area-inset-bottom,20px),var(--tg-safe-area-bottom)));padding:var(--space-2) var(--space-3);background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-3xl);z-index:50;box-shadow:var(--shadow-lg);transition:transform .3s ease,opacity .3s ease}body.hide-navigation .bottom-nav{transform:translateY(150%);opacity:0;pointer-events:none}.nav-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-2);text-decoration:none;color:var(--text-muted);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;border-radius:var(--radius-lg);min-height:44px;min-width:44px;flex:1;max-width:80px}.nav-item svg{width:var(--icon-base);height:var(--icon-base);transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-item span{font-size:.55rem;font-weight:var(--weight-semibold);letter-spacing:0;white-space:nowrap}.nav-item.active{color:var(--text-primary);background:var(--gradient-primary);box-shadow:var(--shadow-glow)}.nav-item.active svg{transform:scale(1.1)}.nav-item:not(.active):active{transform:scale(.95)}.nav-badge{position:absolute;top:var(--space-1);right:var(--space-2);background:var(--gradient-danger);color:#fff;font-size:.625rem;font-weight:var(--weight-bold);min-width:16px;height:16px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 var(--space-1);box-shadow:0 2px 8px #ef444466}.page{min-height:100%;padding:var(--space-4);padding-top:var(--space-4);padding-left:max(var(--space-4),max(var(--safe-area-left),var(--tg-safe-area-left)));padding-right:max(var(--space-4),max(var(--safe-area-right),var(--tg-safe-area-right)));padding-bottom:calc(100px + max(env(safe-area-inset-bottom,20px),var(--tg-safe-area-bottom)));background:var(--bg-dark)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);margin-bottom:var(--space-2)}.page-title{font-size:var(--text-3xl);font-weight:var(--weight-extrabold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:var(--tracking-tight)}.card{background:var(--bg-card);border-radius:var(--radius-2xl);border:1px solid var(--border-subtle);overflow:hidden;transition:all .3s ease}.card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow)}.section{background:var(--bg-card);border-radius:var(--radius-2xl);padding:var(--space-5);margin-bottom:var(--space-4);border:1px solid var(--border-subtle);transition:all .3s ease}.section-title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-1);letter-spacing:var(--tracking-tight)}.section-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-7);border:2px solid transparent;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;position:relative;overflow:hidden;min-height:48px;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;pointer-events:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md);border-color:transparent}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:2px solid var(--border-medium)}.btn-secondary:hover:not(:disabled){background:var(--bg-card);border-color:var(--border-glow)}.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary);color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-glass);color:var(--text-primary)}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:var(--shadow-md)}.btn-danger{background:var(--gradient-danger);color:#fff;box-shadow:var(--shadow-md)}.btn-block{width:100%}.btn-icon{width:60px;height:60px;border-radius:var(--radius-full);padding:0}.btn-icon.small{width:48px;height:48px}.btn-icon.tiny{width:36px;height:36px}.btn:after{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);transform:scale(0);opacity:0;transition:transform .5s,opacity .3s;pointer-events:none}.btn:active:not(:disabled):after{transform:scale(2);opacity:1;transition:0s}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:var(--space-2);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.form-input{width:100%;padding:var(--space-4);border:2px solid var(--border-subtle);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-primary);font-weight:var(--weight-regular);background:var(--bg-elevated);color:var(--text-primary);transition:all .3s ease;min-height:48px}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #8b5cf626;background:var(--bg-card)}.form-input::placeholder{color:var(--text-muted)}textarea.form-input{resize:vertical;min-height:120px;line-height:var(--leading-relaxed)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}.empty-state-icon{width:100px;height:100px;background:var(--gradient-primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-6);box-shadow:var(--shadow-glow);animation:pulse 2s ease-in-out infinite}.empty-state-icon svg{width:var(--icon-2xl);height:var(--icon-2xl);color:#fff}.empty-state-title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state-text{font-size:var(--text-sm);color:var(--text-secondary);max-width:280px;line-height:var(--leading-relaxed)}.error-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg-dark);padding:var(--spacing-xl);padding-top:calc(var(--spacing-xl) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--spacing-xl) + env(safe-area-inset-bottom,0px))}.error-content{text-align:center;max-width:360px;width:100%;animation:fadeInUp .5s ease-out}.error-icon{width:100px;height:100px;margin:0 auto var(--spacing-xl);background:linear-gradient(135deg,#ef444426,#ef44440d);border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid rgba(239,68,68,.3)}.error-icon svg{color:var(--danger);animation:pulse 2s ease-in-out infinite}.error-icon.bot-icon{background:linear-gradient(135deg,#8b5cf626,#8b5cf60d);border-color:#8b5cf64d}.error-icon.bot-icon svg{color:var(--primary)}.error-content h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-md);letter-spacing:var(--tracking-tight)}.error-content p{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--spacing-sm);line-height:var(--leading-relaxed)}.error-content .error-hint{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--spacing-xl)}.error-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-2xl);background:var(--gradient-primary);color:#fff;font-size:var(--text-base);font-weight:var(--weight-semibold);border-radius:var(--radius-full);text-decoration:none;transition:all .25s ease;box-shadow:var(--shadow-glow);min-height:48px;white-space:nowrap}.error-button:active{transform:scale(.98)}.error-button:hover{transform:translateY(-2px);box-shadow:0 8px 30px #8b5cf666}.rojr-error{background:linear-gradient(180deg,#0a0a0f,#1a1a2e,#16213e)}.rojr-logo{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:32px}.rojr-logo svg{color:#a78bfa;filter:drop-shadow(0 0 20px rgba(167,139,250,.5));animation:bunnyBounce 2s ease-in-out infinite}@keyframes bunnyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.rojr-title{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:48px;font-weight:900;letter-spacing:8px;background:linear-gradient(135deg,#a78bfa,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 30px rgba(167,139,250,.3))}.rojr-button{background:linear-gradient(135deg,#8b5cf6,#a78bfa,#c084fc);border:none;padding:16px 32px;border-radius:50px;color:#fff;font-weight:600;font-size:16px;display:inline-flex;align-items:center;gap:10px;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 20px #8b5cf666}.rojr-button:hover{transform:translateY(-2px);box-shadow:0 6px 30px #8b5cf680}.rojr-button:active{transform:translateY(0)}.rojr-button svg{animation:bunnyBounce 1.5s ease-in-out infinite}.avatar{width:48px;height:48px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--border-medium);flex-shrink:0}.avatar.small{width:36px;height:36px}.avatar.large{width:64px;height:64px}.avatar.xlarge{width:80px;height:80px}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.badge-primary{background:#8b5cf626;color:var(--primary-light);border:1px solid rgba(139,92,246,.3)}.badge-success{background:#10b98126;color:var(--success);border:1px solid rgba(16,185,129,.3)}.badge-warning{background:#f59e0b26;color:var(--warning);border:1px solid rgba(245,158,11,.3)}.badge-danger{background:#ef444426;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.badge-gold{background:linear-gradient(135deg,#f59e0b33,#fbbf241a);color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.divider{height:1px;background:var(--border-subtle);margin:var(--space-4) 0}.divider-text{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.divider-text span{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.error-message{font-size:12px;font-weight:500;color:#ef4444;display:flex;align-items:center;gap:4px}.error-state{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary);font-size:16px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (max-width: 359px){.page{padding:var(--space-3);padding-bottom:calc(90px + env(safe-area-inset-bottom,32px))}.page-title{font-size:var(--text-2xl)}.rojr-title{font-size:36px;letter-spacing:6px}}@media (min-width: 360px) and (max-width: 413px){.rojr-title{font-size:42px;letter-spacing:7px}}@media (min-width: 768px){.page{max-width:600px;margin:0 auto}.rojr-title{font-size:56px;letter-spacing:10px}}@media (min-width: 1024px){.page{max-width:700px}}.profile-page,.discover-page,.likes-page,.tasks-page,.premium-page,.welcome-page,.admin-page,.user-profile-page,.chats-page{padding-top:115px!important}.anonymous-chat-page{padding-top:0!important}.anon-header,.chat-room-header{padding-top:115px}.chat-page-header{padding-top:115px;background:var(--bg-dark)}.edit-header,.chat-page .chat-header,.premium-hero,.premium-header{padding-top:115px}@media (hover: hover) and (pointer: fine){.profile-page,.discover-page,.likes-page,.tasks-page,.premium-page,.welcome-page,.admin-page,.user-profile-page,.chats-page{padding-top:70px!important}.anon-header,.chat-room-header,.chat-page-header,.chat-page .chat-header,.edit-header,.premium-hero,.premium-header{padding-top:70px}}@media (max-height: 600px){.bottom-nav{margin:var(--space-2) var(--space-3);padding:var(--space-1) var(--space-2)}.nav-item{padding:var(--space-1) var(--space-2);min-height:40px}.nav-item svg{width:18px;height:18px}.nav-item span{font-size:.5rem}.page{padding-bottom:calc(85px + max(env(safe-area-inset-bottom,16px),var(--tg-safe-area-bottom)))}}@media (min-width: 600px){.bottom-nav{max-width:400px;left:50%;transform:translate(-50%)}.nav-item{max-width:70px}}@media (max-height: 500px) and (orientation: landscape){.bottom-nav{margin:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-2xl)}.nav-item span{display:none}.nav-item{padding:var(--space-2)}.page{padding-bottom:calc(70px + max(env(safe-area-inset-bottom,8px),var(--tg-safe-area-bottom)))}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@supports (padding: max(0px)){.page{padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right))}.bottom-nav{margin-left:max(var(--space-4),env(safe-area-inset-left));margin-right:max(var(--space-4),env(safe-area-inset-right))}}@media (prefers-color-scheme: dark){:root{color-scheme:dark}}@media (hover: none) and (pointer: coarse){.btn{min-height:48px}.nav-item{min-height:44px;min-width:44px}.btn:hover:not(:disabled){transform:none}.btn:active:not(:disabled){transform:scale(.98)}}
