.App{padding-bottom:env(safe-area-inset-bottom,0)}.app-content{min-height:100vh;padding-bottom:76px;padding-top:64px}.page-wrapper{background:var(--background);min-height:calc(100vh - 140px);width:100%}.page-hero{color:var(--text-primary);overflow:hidden;padding:var(--space-8) var(--space-4) var(--space-6);position:relative}.page-hero h1{font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-2);position:relative;z-index:1}.modern-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);margin:var(--space-4);overflow:hidden;padding:var(--space-5);position:relative;transition:all var(--transition-base)}.modern-card:before{background:linear-gradient(90deg,var(--primary-500),var(--accent-500));content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform var(--transition-base)}.modern-card:hover:before{transform:scaleX(1)}.modern-card:active{transform:scale(.98)}.glass-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow);padding:var(--space-5)}.interactive-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;display:flex;gap:var(--space-4);margin-bottom:var(--space-3);overflow:hidden;padding:var(--space-4);position:relative;transition:all var(--transition-base)}.interactive-item:after{color:var(--primary-500);content:"→";font-size:var(--text-xl);opacity:0;position:absolute;right:var(--space-4);transform:translateX(-10px);transition:all var(--transition-base)}.interactive-item:hover{background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateX(4px)}.interactive-item:hover:after{opacity:1;transform:translateX(0)}.interactive-item:active{transform:translateX(4px) scale(.98)}.avatar{background:linear-gradient(135deg,var(--primary-400),var(--accent-400));border-radius:var(--radius-full);box-shadow:0 4px 12px #0000001a;color:#fff;display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);height:48px;width:48px}.avatar img{height:100%;object-fit:cover;width:100%}.avatar-xl{font-size:var(--text-4xl)}.stat-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);padding:var(--space-4)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-5);text-align:center;transition:all var(--transition-base)}.stat-card:active{transform:scale(.95)}.stat-icon{display:block;font-size:var(--text-4xl);margin-bottom:var(--space-2)}.stat-value{display:block;font-size:var(--text-3xl);margin-bottom:var(--space-1)}.stat-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.fab{align-items:center;background:linear-gradient(135deg,var(--primary-500),var(--accent-500));border:none;border-radius:var(--radius-full);bottom:calc(76px + var(--space-4));box-shadow:0 8px 24px #ff472766;color:#fff;cursor:pointer;display:flex;font-size:var(--text-2xl);height:60px;justify-content:center;position:fixed;right:var(--space-4);transition:all var(--transition-base);width:60px;z-index:var(--z-fixed)}.fab:hover{box-shadow:0 12px 32px #ff472780;transform:scale(1.1)}.fab:active{transform:scale(.95)}.tag{align-items:center;background:var(--neutral-100);border-radius:var(--radius-full);color:var(--neutral-700);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-3);white-space:nowrap}.theme-dark .tag{background:var(--neutral-800);color:var(--neutral-300)}.tag-primary{background:#ff472726;color:var(--primary-600)}.tag-accent{background:#a855f726;color:var(--accent-600)}.tag-success{background:#10b98126;color:var(--success-600)}.theme-dark .tag-primary{background:#ff472733;color:var(--primary-400)}.theme-dark .tag-accent{background:#a855f733;color:var(--accent-400)}.theme-dark .tag-success{background:#10b98133;color:var(--success-400)}.progress-bar{background:var(--neutral-200);border-radius:var(--radius-full);height:8px;position:relative;width:100%}.theme-dark .progress-bar{background:var(--neutral-800)}.progress-fill{background:linear-gradient(90deg,var(--primary-500),var(--accent-500));border-radius:var(--radius-full);transition:width var(--transition-slow)}.search-container{background:var(--background);box-shadow:0 2px 8px #0000000d;padding:var(--space-4);position:-webkit-sticky;position:sticky;top:64px;z-index:var(--z-sticky)}.search-input-wrapper{position:relative}.search-input:focus{box-shadow:0 0 0 4px #ff47271a}.search-icon{color:var(--text-tertiary);font-size:var(--text-xl);left:var(--space-4);position:absolute;top:50%;transform:translateY(-50%)}@media (max-width:640px){.page-hero h1{font-size:var(--text-2xl)}.modern-card{margin:var(--space-3);padding:var(--space-4)}.stat-grid{gap:var(--space-2)}}.animate-in{animation:slideInUp .4s ease-out}.fade-in{animation:fadeIn .3s ease-out}.list-item:first-child{animation-delay:.05s}.list-item:nth-child(2){animation-delay:.1s}.list-item:nth-child(3){animation-delay:.15s}.list-item:nth-child(4){animation-delay:.2s}.list-item:nth-child(5){animation-delay:.25s}.pull-to-refresh{background:var(--surface);border-radius:var(--radius-full);box-shadow:var(--shadow-md);left:50%;opacity:0;padding:var(--space-3);position:absolute;top:64px;transform:translateX(-50%);transition:opacity var(--transition-base)}.pull-to-refresh.active{opacity:1}@supports (padding:max(0px)){.app-content{padding-bottom:max(76px,env(safe-area-inset-bottom));padding-top:max(64px,env(safe-area-inset-top))}.search-container{top:max(64px,env(safe-area-inset-top))}.fab{bottom:calc(max(76px, env(safe-area-inset-bottom)) + var(--space-4));right:max(var(--space-4),env(safe-area-inset-right))}}.top-navbar{background:var(--background);border-bottom:1px solid var(--border);box-shadow:0 1px 3px #0000000d;height:64px;left:0;overflow:visible;position:fixed;right:0;top:0;transition:all var(--transition-base);z-index:1000}.top-navbar-content{align-items:center;display:flex;height:100%;justify-content:space-between;max-width:100%;overflow:visible;padding:0 var(--space-4)}.navbar-logo{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:-.02em;text-decoration:none;transition:all var(--transition-base)}.navbar-logo:active{transform:scale(.95)}.navbar-logo-text{color:var(--text-primary)}.hamburger-menu{align-items:center;background:rgba(var(--primary-500-rgb),.1);border:2px solid rgba(var(--primary-500-rgb),.3);border-radius:var(--radius-full);cursor:pointer;display:flex;flex-direction:column;gap:6px;height:36px;justify-content:center;padding:0;position:relative;transition:all var(--transition-base);width:36px;z-index:1}.hamburger-menu:hover{background:rgba(var(--primary-500-rgb),.15);border-color:rgba(var(--primary-500-rgb),.4)}.hamburger-menu:active{transform:scale(.9)}.hamburger-line{background:var(--text-primary);border-radius:var(--radius-full);height:2px;transition:all var(--transition-base);width:14px}.hamburger-menu:hover .hamburger-line{background:var(--primary-500)}.hamburger-line.open:first-child{transform:rotate(45deg) translateY(8px)}.hamburger-line.open:nth-child(2){opacity:0;transform:translateX(-20px)}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translateY(-8px)}.sidebar-menu{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:1100}.sidebar-menu.open{pointer-events:all}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;inset:0;opacity:0;position:absolute;transition:opacity var(--transition-base)}.sidebar-menu.open .sidebar-overlay{opacity:1}.sidebar-content{background:var(--background);bottom:0;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow-y:auto;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform var(--transition-base);width:min(280px,60vw)}.sidebar-menu.open .sidebar-content{transform:translateX(0)}.sidebar-header{align-items:center;background:var(--background);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--space-5) var(--space-4)}.sidebar-header-left{align-items:center;display:flex;gap:var(--space-2)}.sidebar-logo{border-radius:var(--radius-full);height:28px;width:28px}.sidebar-header h3{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0}.sidebar-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:4px;height:40px;justify-content:center;padding:8px;width:40px}.close-line,.sidebar-close{transition:all var(--transition-base)}.close-line{background:var(--text-primary);border-radius:2px;height:2px;width:20px}.sidebar-close:hover{background:#ffffff1a}.sidebar-close:active{transform:scale(.9)}.sidebar-nav{flex:1 1;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff0d}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full)}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sidebar-user-profile{align-items:center;background:var(--background-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;display:flex;gap:var(--space-3);margin:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-5);transition:all var(--transition-base)}.sidebar-user-profile:hover{background:rgba(var(--primary-500-rgb),.25);border-color:rgba(var(--primary-500-rgb),.4)}.sidebar-user-profile:active{transform:scale(.98)}.sidebar-user-avatar{align-items:center;background:var(--gradient-primary);border-radius:var(--radius-full);color:var(--neutral-900);display:flex;flex-shrink:0;font-size:20px;font-weight:var(--font-bold);height:48px;justify-content:center;width:48px}.sidebar-user-info{flex:1 1;min-width:0}.sidebar-user-name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:2px}.sidebar-user-action{color:var(--text-secondary);font-size:var(--text-sm)}.sidebar-section-label{color:var(--text-tertiary);font-size:11px;font-weight:var(--font-bold);letter-spacing:1px;margin-top:var(--space-2);text-transform:uppercase}.sidebar-link,.sidebar-section-label{padding:var(--space-3) var(--space-5)}.sidebar-link{align-items:center;background:none;border:none;border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-3);position:relative;text-align:left;text-decoration:none;transition:all var(--transition-base)}.sidebar-icon{stroke:currentColor;flex-shrink:0;height:20px;width:20px}.sidebar-link.active{background:rgba(var(--primary-500-rgb),.15);color:var(--primary-400)}.sidebar-link:hover:not(.active){background:var(--surface-hover);color:var(--text-primary)}.sidebar-link:active{transform:scale(.98)}.sidebar-divider{background:var(--border);height:1px;margin:var(--space-3) var(--space-5)}.sidebar-logout,.sidebar-logout:hover{color:var(--error-500)}.sidebar-logout:hover{background:rgba(var(--error-500-rgb),.15)}.bottom-navbar{align-items:center;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-xl);bottom:var(--space-4);box-shadow:0 4px 20px #0000001f,0 1px 3px #00000014;display:flex;height:64px;justify-content:space-evenly;left:var(--space-4);padding:0 var(--space-5);position:fixed;right:var(--space-4);z-index:1000}.bottom-nav-item{align-items:center;color:#fff;display:flex;flex-shrink:0;height:100%;justify-content:center;position:relative;text-decoration:none;transition:all var(--transition-base)}.bottom-nav-item svg{stroke:var(--text-primary);transition:all var(--transition-base)}.bottom-nav-item:active{transform:scale(.9)}.bottom-nav-item.active{color:var(--primary-500)}.bottom-nav-item.active svg{stroke:var(--primary-500)}.bottom-nav-item:after{background:var(--primary-500);border-radius:var(--radius-full);content:"";height:40px;opacity:0;pointer-events:none;position:absolute;transform:scale(0);transition:all var(--transition-base);width:40px}.bottom-nav-item:active:after{opacity:.2;transform:scale(1)}.bottom-nav-fab{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--primary-500);border:0 solid var(--background);border-radius:var(--radius-full);box-shadow:0 4px 16px #0009;cursor:pointer;display:flex;flex-shrink:0;height:60px;justify-content:center;top:-6px;width:60px;z-index:10}.bottom-nav-fab,.bottom-nav-fab svg{transition:all var(--transition-base)}.bottom-nav-fab svg{stroke:var(--neutral-900)}.bottom-nav-fab:hover{background:var(--primary-400);box-shadow:0 6px 20px #0009;transform:scale(1.05)}.bottom-nav-fab:active{transform:scale(.92)}.bottom-nav-fab:active svg{transform:rotate(90deg)}.bottom-nav-fab.active svg{transform:rotate(45deg)}.bottom-nav-fab.active{background:var(--primary-600)}@keyframes fadeInDot{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.fab-backdrop{animation:fabBackdropFadeIn .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000b3;cursor:pointer;inset:0;position:fixed;z-index:1050}@keyframes fabBackdropFadeIn{0%{opacity:0}to{opacity:1}}.fab-menu{animation:fabMenuSlideUp .4s cubic-bezier(.34,1.56,.64,1);bottom:calc(var(--space-4) + 80px);display:flex;flex-direction:column;gap:var(--space-3);left:50%;position:fixed;transform:translateX(-50%);z-index:1051}@keyframes fabMenuSlideUp{0%{opacity:0;transform:translateX(-50%) translateY(40px) scale(.8)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.fab-menu-item{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 8px 24px #0006,0 2px 8px #0000004d;cursor:pointer;display:flex;gap:var(--space-3);min-width:220px;overflow:hidden;padding:var(--space-4) var(--space-5);position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.fab-menu-item:before{background:linear-gradient(135deg,#0000,#ffffff0d);content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s ease}.fab-menu-item:hover:before{opacity:1}.fab-menu-item:active{transform:scale(.96)}.fab-menu-item-icon{align-items:center;border-radius:var(--radius-lg);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.fab-menu-item-icon,.fab-menu-item-icon svg{transition:all .2s ease}.fab-menu-event .fab-menu-item-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.fab-menu-event .fab-menu-item-icon svg{stroke:#fff}.fab-menu-event{border-color:#667eea66}.fab-menu-event:hover{background:var(--background-secondary);border-color:#667eea99;box-shadow:0 12px 32px #667eea4d,0 4px 12px #0000004d;transform:translateX(-4px)}.fab-menu-challenge .fab-menu-item-icon{background:linear-gradient(135deg,#f093fb,#f5576c)}.fab-menu-challenge .fab-menu-item-icon svg{stroke:#fff}.fab-menu-challenge{border-color:#f5576c66}.fab-menu-challenge:hover{background:var(--background-secondary);border-color:#f5576c99;box-shadow:0 12px 32px #f5576c4d,0 4px 12px #0000004d;transform:translateX(-4px)}.fab-menu-wishlist .fab-menu-item-icon{background:linear-gradient(135deg,#93fbe8,#9ff92d)}.fab-menu-wishlist .fab-menu-item-icon svg{stroke:#fff}.fab-menu-wishlist{border-color:#6cf55766}.fab-menu-wishlist:hover{background:var(--background-secondary);border-color:#0af90699;box-shadow:0 12px 32px #4adc824d,0 4px 12px #0000004d;transform:translateX(-4px)}.fab-menu-item-label{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);letter-spacing:-.01em}.fab-menu .fab-menu-item:first-child{animation-delay:.05s}.fab-menu .fab-menu-item:nth-child(2){animation-delay:.1s}.fab-menu .fab-menu-item:nth-child(3){animation-delay:.15s}@media (max-width:640px){.fab-menu{bottom:calc(var(--space-4) + 75px);left:var(--space-4);right:var(--space-4);transform:none}@keyframes fabMenuSlideUp{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.fab-menu-item{min-width:0;min-width:auto;width:100%}}@media (min-width:768px){.fab-menu{bottom:calc(var(--space-4) + 90px)}}@media (prefers-reduced-motion:reduce){.fab-backdrop,.fab-menu,.fab-menu-item{animation:none;transition-duration:.01ms}}@supports (padding:max(0px)){.fab-menu{bottom:max(calc(var(--space-4) + 80px),calc(var(--space-4) + 80px + env(safe-area-inset-bottom)))}.top-navbar{height:max(64px,calc(64px + env(safe-area-inset-top)));padding-top:env(safe-area-inset-top)}.bottom-navbar{bottom:max(var(--space-4),calc(var(--space-4) + env(safe-area-inset-bottom)));left:max(var(--space-4),calc(var(--space-4) + env(safe-area-inset-left)));right:max(var(--space-4),calc(var(--space-4) + env(safe-area-inset-right)))}.sidebar-content{bottom:env(safe-area-inset-bottom,0);top:env(safe-area-inset-top,0)}}@media (min-width:768px){.bottom-navbar{left:50%;max-width:640px;padding:0 var(--space-8);transform:translateX(-50%)}.bottom-nav-item svg{height:24px;width:24px}.bottom-nav-fab{border-width:5px;height:68px;top:-16px;width:68px}.bottom-nav-fab svg{height:28px;width:28px}}@media (min-width:1024px){.bottom-navbar{max-width:720px;padding:0 var(--space-10)}}.bottom-navbar.hidden{transform:translateY(100%)}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.sidebar-menu.open .sidebar-link{animation:slideInRight .3s ease-out backwards}.sidebar-menu.open .sidebar-link:first-child{animation-delay:.05s}.sidebar-menu.open .sidebar-link:nth-child(2){animation-delay:.1s}.sidebar-menu.open .sidebar-link:nth-child(3){animation-delay:.15s}.sidebar-menu.open .sidebar-link:nth-child(4){animation-delay:.2s}.sidebar-menu.open .sidebar-link:nth-child(5){animation-delay:.25s}.sidebar-menu.open .sidebar-link:nth-child(6){animation-delay:.3s}.sidebar-menu.open .sidebar-link:nth-child(7){animation-delay:.35s}.sidebar-menu.open .sidebar-link:nth-child(8){animation-delay:.4s}.sidebar-menu.open .sidebar-link:nth-child(9){animation-delay:.45s}.sidebar-menu.open .sidebar-link:nth-child(10){animation-delay:.5s}.sidebar-menu.open .sidebar-link:nth-child(11){animation-delay:.55s}.sidebar-menu.open .sidebar-link:nth-child(12){animation-delay:.6s}.sidebar-menu.open .sidebar-link:nth-child(13){animation-delay:.65s}.sidebar-menu.open .sidebar-link:nth-child(14){animation-delay:.7s}.sidebar-menu.open .sidebar-link:nth-child(15){animation-delay:.75s}.sidebar-menu.open .sidebar-link:nth-child(16){animation-delay:.8s}.sidebar-menu.open .sidebar-link:nth-child(17){animation-delay:.85s}.sidebar-menu.open .sidebar-link:nth-child(18){animation-delay:.9s}.sidebar-menu.open .sidebar-link:nth-child(19){animation-delay:.95s}.sidebar-menu.open .sidebar-link:nth-child(20){animation-delay:1.6s}@media (prefers-reduced-motion:reduce){.bottom-nav-fab,.bottom-nav-fab svg,.hamburger-line,.sidebar-content,.sidebar-link{animation:none;transition-duration:.01ms}}.bottom-nav-fab:focus-visible,.bottom-nav-item:focus-visible,.hamburger-menu:focus-visible,.sidebar-link:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.notification-bell-container{z-index:1010}.notification-bell,.notification-bell-container{align-items:center;display:flex;position:relative}.notification-bell{-webkit-tap-highlight-color:transparent;background:rgba(var(--primary-500-rgb),.1);border:2px solid rgba(var(--primary-500-rgb),.3);border-radius:var(--radius-full);cursor:pointer;height:36px;justify-content:center;transition:all var(--transition-base);width:36px}.notification-bell:hover{background:rgba(var(--primary-500-rgb),.15);border-color:rgba(var(--primary-500-rgb),.4)}.notification-bell:active{transform:scale(.9)}.bell-icon{color:var(--text-primary);height:18px;transition:all var(--transition-base);width:18px}.notification-bell:hover .bell-icon{animation:bellRing .5s ease-in-out;color:var(--primary-500)}@keyframes bellRing{0%,to{transform:rotate(0deg)}10%,30%,50%,70%,90%{transform:rotate(-10deg)}20%,40%,60%,80%{transform:rotate(10deg)}}.notification-badge{align-items:center;animation:notificationPulse 2s cubic-bezier(.4,0,.6,1) infinite;background:linear-gradient(135deg,var(--error-500) 0,var(--error-600) 100%);border:2.5px solid var(--background);border-radius:var(--radius-full);box-shadow:0 2px 8px rgba(var(--error-500-rgb),.5),0 4px 12px rgba(var(--error-500-rgb),.3),0 0 0 0 rgba(var(--error-500-rgb),.7);color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;line-height:1;min-width:20px;padding:0 6px;position:absolute;right:-4px;top:-4px;transform-origin:center;z-index:1010}@keyframes notificationPulse{0%{box-shadow:0 2px 8px #ff475780,0 4px 12px #ff47574d,0 0 0 0 #ff4757b3;transform:scale(1)}50%{box-shadow:0 2px 8px #ff475780,0 4px 12px #ff47574d,0 0 0 4px #ff475700;transform:scale(1.05)}to{box-shadow:0 2px 8px #ff475780,0 4px 12px #ff47574d,0 0 0 0 #ff4757b3;transform:scale(1)}}.notification-dropdown{animation:slideDown .2s ease-out;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:600px;overflow:hidden;position:absolute;right:0;top:calc(100% + 12px);width:min(380px,90vw);z-index:var(--z-dropdown)}@media (max-width:640px){.notification-dropdown{left:var(--space-4);max-height:calc(100vh - 140px);position:fixed;right:var(--space-4);top:70px;width:auto}}.notification-dropdown-header{align-items:center;background:linear-gradient(to bottom,var(--surface),var(--background-secondary));border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5)}.notification-dropdown-header h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.mark-all-read-btn{background:var(--primary-50);border:none;border-radius:var(--radius-md);color:var(--primary-600);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);transition:all var(--transition-base)}.mark-all-read-btn:hover{background:var(--primary-100);color:var(--primary-700)}.mark-all-read-btn:active{transform:scale(.95)}@media (max-width:640px){.notification-dropdown-header{padding:var(--space-3) var(--space-4)}.notification-dropdown-header h3{font-size:var(--text-base)}.mark-all-read-btn{font-size:12px;padding:var(--space-1-5) var(--space-2-5)}}.notification-dropdown-body{max-height:480px;overflow-y:auto;overscroll-behavior:contain}.notification-dropdown-body::-webkit-scrollbar{width:6px}.notification-dropdown-body::-webkit-scrollbar-track{background:#0000}.notification-dropdown-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.notification-dropdown-body::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media (max-width:640px){.notification-dropdown-body{max-height:calc(100vh - 240px)}}.notification-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;padding:var(--space-12)}.notification-spinner{animation:spin .8s linear infinite;border:3px solid var(--border);border-radius:var(--radius-full);border-top-color:var(--primary-500);height:32px;width:32px}.notification-error{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-2);justify-content:center;padding:var(--space-12);text-align:center}.error-icon{font-size:2rem}.notification-empty{align-items:center;color:var(--text-tertiary);display:flex;flex-direction:column;gap:var(--space-2);justify-content:center;padding:var(--space-12);text-align:center}.empty-icon{font-size:3rem}.notification-empty p{font-size:var(--text-sm);margin:0}.notification-item{align-items:center;cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);position:relative;transition:all var(--transition-base)}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--surface-hover)}.notification-item:active{transform:scale(.98)}.notification-item.unread{background:var(--neutral-800)}.notification-item.unread:hover{background:var(--neutral-600)}.notification-icon{align-items:center;background:var(--background);border-radius:var(--radius-full);display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;width:40px}.notification-content{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1);min-width:0}.notification-title{-webkit-line-clamp:1;line-clamp:1;color:var(--text-primary);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.notification-message,.notification-title{-webkit-box-orient:vertical;display:-webkit-box;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis}.notification-message{-webkit-line-clamp:2;line-clamp:2;color:var(--text-secondary);line-height:var(--leading-normal)}.notification-meta{align-items:flex-end;display:flex;flex-direction:column;gap:var(--space-1);min-width:60px;text-align:right}.notification-time{color:var(--text-tertiary);font-size:var(--text-xs);white-space:nowrap}.notification-unread-dot{background:var(--primary-500);border-radius:var(--radius-full);box-shadow:0 0 0 3px var(--primary-100);height:8px;width:8px}.notification-dropdown-footer{background:var(--background-secondary);border-top:1px solid var(--border)}.view-all-btn{background:#0000;border:none;border-radius:var(--radius-md);color:var(--primary-600);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3);transition:all var(--transition-base);width:100%}.view-all-btn:hover{background:var(--primary-50)}.view-all-btn:active{transform:scale(.98)}.top-navbar-actions{align-items:center;display:flex;gap:var(--space-2);overflow:visible;position:relative;z-index:1010}@media (max-width:640px){.notification-badge{border-width:2px;font-size:10px;height:18px;min-width:18px;padding:0 5px;right:-3px;top:-3px}.notification-item{gap:var(--space-2);padding:var(--space-4) var(--space-3)}.notification-icon{font-size:1rem;height:32px;width:32px}.notification-title{font-size:13px}.notification-message{-webkit-line-clamp:1;line-clamp:1;font-size:12px}.notification-time{font-size:11px}.notification-unread-dot{height:6px;width:6px}.notification-dropdown-footer{padding:var(--space-2) var(--space-4)}.view-all-btn{font-size:13px;padding:var(--space-2)}}@media (prefers-reduced-motion:reduce){.notification-badge,.notification-bell:active,.notification-dropdown,.notification-item:active{animation:none;transition-duration:.01ms}}.mark-all-read-btn:focus-visible,.notification-bell:focus-visible,.view-all-btn:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.page-container,.page-wrapper{background:var(--background);min-height:calc(100vh - 136px);padding-bottom:72px;padding-top:64px;width:100%}.event-hero,.page-hero,.profile-hero{border-bottom:1px solid var(--border);color:var(--text-primary);overflow:hidden;padding:var(--space-8) var(--space-4) var(--space-6);position:relative}.profile-hero{height:300px;margin-bottom:var(--space-6);overflow:hidden;padding:0;position:relative}.profile-hero-image{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%;z-index:0}.profile-hero-overlay{align-items:flex-end;background:linear-gradient(0deg,#000c,#0000);bottom:0;display:flex;left:0;padding:var(--space-6) var(--space-4);position:absolute;right:0;top:0;z-index:1}.profile-hero-content{margin:0 auto;max-width:1280px;width:100%}.profile-hero .profile-bio,.profile-hero .profile-name,.profile-hero .profile-username{color:#fff;text-shadow:0 2px 4px #00000080}.profile-hero:not(:has(.profile-hero-image)) .profile-hero-overlay{background:#0000}.profile-hero:not(:has(.profile-hero-image)) .profile-bio,.profile-hero:not(:has(.profile-hero-image)) .profile-name,.profile-hero:not(:has(.profile-hero-image)) .profile-username{color:#fff}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(-20px,20px)}}.page-hero h1,.profile-hero h1{font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-2);position:relative;z-index:1}.page-hero p{font-size:var(--text-base);opacity:.95;position:relative;z-index:1}.content-section{padding:var(--space-4)}.section-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);gap:var(--space-2);margin-bottom:var(--space-4)}.section-title:before{background:var(--primary-500);border-radius:var(--radius-full);content:"";height:24px;width:4px}.card-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr;padding:var(--space-4)}@media (min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.card-grid{grid-template-columns:repeat(3,1fr)}}.event-card,.location-card,.user-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;overflow:hidden;transition:all var(--transition-base)}.event-card:hover,.location-card:hover,.user-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.event-card:active,.location-card:active,.user-card:active{transform:translateY(-2px) scale(.98)}.card-content{padding:var(--space-4)}.card-footer{padding-top:var(--space-3)}.avatar-xl,.profile-avatar-large{align-items:center;border:4px solid #fff;border-radius:var(--radius-full);color:#fff;display:flex;font-size:var(--text-4xl);font-weight:var(--font-bold);height:120px;justify-content:center;margin:0 auto var(--space-4);overflow:hidden;width:120px}.theme-dark .avatar-xl,.theme-dark .profile-avatar-large{border-color:var(--surface)}.avatar-xl img,.profile-avatar-large img{height:100%;object-fit:cover;width:100%}.profile-name{font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-1);text-align:center}.profile-username{color:#ffffffe6;margin-bottom:var(--space-2)}.profile-bio,.profile-username{font-size:var(--text-base);text-align:center}.profile-bio{color:#ffffffd9;margin:0 auto;max-width:600px}.profile-stats-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);padding:0}@media (min-width:640px){.profile-stats-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr)}}.profile-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-4);text-align:center}.profile-stat-icon{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.profile-stat-value{color:var(--primary-500);font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.profile-stat-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase}.profile-points-section{margin-top:0;padding-bottom:var(--space-2);padding-top:var(--space-4)}.points-display-minimal{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);margin:0 auto;max-width:400px;padding:var(--space-3) var(--space-4)}.points-minimal-icon{align-items:center;background:var(--primary-100);border-radius:var(--radius-full);color:var(--primary-600);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}[data-theme=dark] .points-minimal-icon{background:var(--primary-900);color:var(--primary-400)}.points-minimal-content{align-items:baseline;display:flex;flex:1 1;gap:var(--space-2);min-width:0}.points-minimal-value{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1}.points-minimal-label{color:var(--text-secondary);font-size:var(--text-sm);text-transform:lowercase}.points-minimal-rank{align-items:center;background:var(--accent-100);border-radius:var(--radius-full);color:var(--accent-700);display:flex;flex-shrink:0;padding:var(--space-1) var(--space-3)}[data-theme=dark] .points-minimal-rank{background:var(--accent-900);color:var(--accent-300)}.points-minimal-rank .rank-label{font-size:var(--text-sm);font-weight:var(--font-semibold)}@media (max-width:480px){.points-display-minimal{gap:var(--space-2);padding:var(--space-3)}.points-minimal-icon{height:36px;width:36px}.points-minimal-value{font-size:var(--text-xl)}.points-minimal-rank{padding:var(--space-1) var(--space-2)}}.points-display-container{background:linear-gradient(135deg,var(--primary-500) 0,var(--accent-500) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:#fff;padding:var(--space-5)}.points-display-header{align-items:center;border-bottom:1px solid #fff3;display:flex;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.points-display-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.points-display-content{flex:1 1;min-width:0}.points-display-label{font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:.05em;margin-bottom:var(--space-1);opacity:.9;text-transform:uppercase}.points-display-value{font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:1;text-shadow:0 2px 8px #00000026}.points-display-stats{display:flex;flex-wrap:wrap;gap:var(--space-3)}.points-stat-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:var(--radius-lg);display:flex;flex:1 1;gap:var(--space-2);min-width:120px;padding:var(--space-3)}.points-stat-icon{align-items:center;background:#ffffff26;border-radius:var(--radius-md);color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.points-stat-content{flex:1 1;min-width:0}.points-stat-label{font-size:var(--text-xs);letter-spacing:.05em;margin-bottom:2px;opacity:.85;text-transform:uppercase}.points-stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);line-height:1}@media (max-width:640px){.points-display-container{padding:var(--space-4)}.points-display-header{gap:var(--space-3)}.points-display-icon{height:56px;width:56px}.points-display-value{font-size:var(--text-3xl)}.points-display-stats{gap:var(--space-2)}.points-stat-item{min-width:100px;padding:var(--space-2) var(--space-3)}.points-stat-icon{height:36px;width:36px}.points-stat-value{font-size:var(--text-lg)}}.profile-kudos-section{margin-top:0}.kudos-container{background:var(--bg-secondary);border:2px solid var(--primary-color);border-radius:var(--radius-lg);padding:var(--space-4)}.kudos-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-2)}.kudos-header h3{margin:0 0 var(--space-1) 0}.kudos-remaining{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.kudos-form{background:var(--bg-primary);border-radius:var(--radius-md);margin-top:var(--space-3);padding:var(--space-3)}.kudos-form .form-label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2)}.kudos-form .form-hint{color:var(--text-secondary);display:block;font-size:var(--text-sm);margin-bottom:var(--space-3)}.kudos-form-actions{display:flex;gap:var(--space-2)}.kudos-depleted{color:var(--text-tertiary);font-size:var(--text-sm);margin-bottom:0;margin-top:var(--space-2)}.profile-badges-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr)}@media (min-width:640px){.profile-badges-grid{grid-template-columns:repeat(3,1fr)}}.profile-badge-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-4);text-align:center;transition:all var(--transition-base)}.profile-badge-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.profile-badge-icon{font-size:var(--text-4xl);margin-bottom:var(--space-2)}.profile-badge-name{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.profile-badge-description{color:var(--text-secondary);font-size:var(--text-xs)}.event-info-item{align-items:center;background:var(--background-secondary);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);padding:var(--space-4)}.event-info-icon{color:var(--accent-500);flex-shrink:0;height:24px;width:24px}.event-info-icon svg{display:block;height:100%;width:100%}.event-info-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);margin-bottom:var(--space-1);text-transform:uppercase}.event-info-value{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.content-description{color:var(--text-secondary);font-size:var(--text-base);line-height:1.7;white-space:pre-wrap}.participants-grid{grid-gap:var(--space-3);background:var(--background-secondary);border:1px solid var(--border);border-radius:var(--radius-2xl);display:grid;gap:var(--space-3);grid-template-columns:repeat(3,1fr);padding:var(--space-4)}@media (min-width:640px){.participants-grid{grid-template-columns:repeat(5,1fr)}}.participant-card{text-align:center}.participant-avatar-event{margin:0 auto var(--space-2)}.participant-avatar-challenge,.participant-avatar-event{align-items:center;border-radius:var(--radius-full);color:#fff;display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);height:60px;justify-content:center;overflow:hidden;width:60px}.participant-avatar img{height:100%;object-fit:cover;width:100%}.participant-name{font-weight:var(--font-medium)}.calendar-container{padding:var(--space-4)}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-5);padding:0 var(--space-2)}.calendar-header h2{flex:1 1;font-size:var(--text-2xl);text-align:center}.calendar-header h2,.calendar-nav-btn{color:var(--text-primary);font-weight:var(--font-bold)}.calendar-nav-btn{align-items:center;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-full);cursor:pointer;display:flex;font-size:var(--text-3xl);height:48px;justify-content:center;transition:all var(--transition-base);width:48px}.calendar-nav-btn:hover{background:var(--surface-hover);border-color:var(--primary-500);transform:scale(1.05)}.calendar-nav-btn:active{transform:scale(.95)}.calendar-weekdays{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-3);padding:0 var(--space-2)}.calendar-weekday{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-bold);padding:var(--space-2) 0;text-align:center;text-transform:uppercase}.calendar-grid{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:repeat(7,1fr);padding:0 var(--space-2)}.calendar-day{align-items:center;aspect-ratio:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-size:var(--text-base);font-weight:var(--font-semibold);justify-content:center;padding:var(--space-2);position:relative;transition:all var(--transition-base)}.calendar-day.empty{background:#0000;border:none;cursor:default}.calendar-day:not(.empty):hover{background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.calendar-day.today{border-color:var(--primary-500);border-width:2px;font-weight:var(--font-bold)}.calendar-day.selected{background:linear-gradient(135deg,var(--primary-500),var(--accent-500));border-color:#0000;color:#fff}.day-number{font-size:var(--text-base);font-weight:var(--font-semibold)}.event-dots{display:flex;gap:2px;margin-top:var(--space-1)}.event-dot{background:var(--primary-500);border-radius:var(--radius-full);height:5px;width:5px}.event-dot.birthday-dot{background:var(--accent-500)}.calendar-day.selected .event-dot{background:#fff}.calendar-day.selected .event-dot.birthday-dot{background:#ffffffe6}.calendar-day.has-events{font-weight:var(--font-bold)}.selected-date-events{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);margin-left:var(--space-4);margin-right:var(--space-4);margin-top:var(--space-6);padding:var(--space-5)}.selected-date-events h3{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-4)}.selected-date-events .events-list{display:flex;flex-direction:column;gap:var(--space-3)}.selected-date-events .event-card{background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-4);transition:all var(--transition-base)}.theme-dark .selected-date-events .event-card{background:var(--neutral-900)}.selected-date-events .event-card:hover{background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateX(4px)}.selected-date-events .event-card h4{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.selected-date-events .event-card p{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-2)}.event-meta{display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:var(--space-3)}.event-meta,.no-events{color:var(--text-tertiary)}.no-events{font-size:var(--text-base);padding:var(--space-6);text-align:center}.leaderboard-list{padding:var(--space-4)}.leaderboard-item{margin-bottom:var(--space-3)}.leaderboard-item:hover{box-shadow:var(--shadow-md);transform:translateX(4px)}.leaderboard-rank{color:var(--primary-500);font-size:var(--text-2xl);font-weight:var(--font-bold);min-width:40px;text-align:center}.leaderboard-item:first-child .leaderboard-rank{color:var(--medal-gold)}.leaderboard-item:nth-child(2) .leaderboard-rank{color:var(--medal-silver)}.leaderboard-item:nth-child(3) .leaderboard-rank{color:var(--medal-bronze)}.form-section,.search-bar{padding:var(--space-4)}.search-bar{background:var(--background);box-shadow:0 2px 8px #0000000d;position:-webkit-sticky;position:sticky;top:64px;z-index:100}.search-input{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--text-base);padding:var(--space-4) var(--space-5) var(--space-4) var(--space-12);transition:all var(--transition-base);width:100%}.search-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 4px rgba(var(--primary-500-rgb),.1);outline:none}.review-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);margin-bottom:var(--space-4);padding:var(--space-5)}.review-header{gap:var(--space-3);margin-bottom:var(--space-3)}.review-rating{color:var(--medal-gold);font-size:var(--text-lg)}.review-content{color:var(--text-primary);line-height:var(--leading-relaxed);margin-bottom:var(--space-3);margin-top:var(--space-3)}.stats-overview{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);padding:var(--space-4)}@media (min-width:640px){.stats-overview{grid-template-columns:repeat(4,1fr)}}.back-button{align-items:center;background:none;border:none;color:var(--text-secondary);display:inline-flex;font-size:var(--text-base);gap:var(--space-2);padding:var(--space-2) var(--space-3)}.back-button:hover{color:var(--text-primary);transform:translateX(-4px)}.empty-state-text{color:var(--text-tertiary);font-size:var(--text-base);padding:var(--space-8);text-align:center}@media (max-width:640px){.page-hero h1,.profile-hero h1{font-size:var(--text-2xl)}.card-grid{gap:var(--space-3);padding:var(--space-3)}}.profile-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.profile-hero-background{display:none}.profile-hero-content{position:relative;text-align:center;z-index:1}.profile-avatar-placeholder{align-items:center;color:#fff;display:flex;font-size:var(--text-4xl);font-weight:var(--font-bold);height:100%;justify-content:center;width:100%}.profile-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin:var(--space-4);padding:var(--space-5)}.profile-section-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);gap:var(--space-2);margin-bottom:var(--space-4)}.profile-section-title:before{background:linear-gradient(to bottom,var(--primary-500),var(--accent-500));border-radius:var(--radius-full);content:"";height:24px;width:4px}.profile-empty-state{padding:var(--space-8) var(--space-4);text-align:center}.profile-empty-icon{font-size:var(--text-5xl);margin-bottom:var(--space-3);opacity:.3}.profile-empty-hint{color:var(--text-tertiary);font-size:var(--text-sm);margin-top:var(--space-2)}.point-transactions-list{display:flex;flex-direction:column;gap:var(--space-3)}.point-transaction-item{align-items:center;background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:var(--space-4);transition:all var(--transition-base)}.theme-dark .point-transaction-item{background:var(--neutral-900)}.point-transaction-item:hover{background:var(--surface-hover);box-shadow:var(--shadow-sm)}.point-transaction-info{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1)}.point-transaction-reason{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium)}.point-transaction-date{color:var(--text-tertiary);font-size:var(--text-sm)}.point-transaction-amount{border-radius:var(--radius-md);font-size:var(--text-xl);font-weight:var(--font-bold);min-width:80px;padding:var(--space-2) var(--space-4);text-align:center}.point-transaction-amount.positive{background:#10b9811a;color:var(--success-700)}.point-transaction-amount.negative{background:#ef44441a;color:var(--error-700)}.profile-info-section{margin-top:var(--space-4)}.profile-info-list{display:flex;flex-direction:column;gap:var(--space-3)}.profile-info-item{align-items:center;border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:var(--space-3)}.profile-info-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.profile-info-value{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.home-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.home-hero{color:var(--text-primary);overflow:hidden;padding:var(--space-10) var(--space-4) var(--space-8);position:relative;text-align:center}.home-hero h1{font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-3)}.home-hero h1,.home-hero p{position:relative;z-index:1}.home-hero p{font-size:var(--text-lg);margin:0 auto;max-width:600px;opacity:.95}.home-stats{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);margin-top:-var(--space-8);padding:var(--space-4);position:relative;z-index:2}@media (min-width:640px){.home-stats{grid-template-columns:repeat(4,1fr)}}.home-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-5);text-align:center;transition:all var(--transition-base)}.home-stat-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.home-quick-actions{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);padding:var(--space-4)}@media (min-width:640px){.home-quick-actions{grid-template-columns:repeat(3,1fr)}}.quick-action-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);cursor:pointer;padding:var(--space-5);text-align:center;text-decoration:none;transition:all var(--transition-base)}.quick-action-card:hover{background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-action-icon{font-size:var(--text-4xl);margin-bottom:var(--space-3)}.quick-action-label,.quick-action-title{font-size:var(--text-base);font-weight:var(--font-semibold)}.users-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.users-list{flex-direction:column;gap:var(--space-3)}.user-card,.users-list{display:flex;padding:var(--space-4)}.user-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;gap:var(--space-4);transition:all var(--transition-base)}.user-card:hover{background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateX(4px)}.user-avatar{align-items:center;border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:var(--text-xl);font-weight:var(--font-bold);height:60px;justify-content:center;overflow:hidden;width:60px}.user-avatar img{height:100%;object-fit:cover;width:100%}.user-avatar-placeholder{align-items:center;color:#fff;display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);height:100%;justify-content:center;width:100%}.user-info h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.user-bio{color:var(--text-secondary);margin-bottom:var(--space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-bio,.user-stats{font-size:var(--text-sm)}.user-stats{color:var(--text-tertiary);gap:var(--space-3)}.events-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.events-page-actions{padding:var(--space-4);text-align:center}.events-section{margin-bottom:var(--space-6)}.events-page .events-section{margin-bottom:var(--space-6);padding:var(--space-5)}.events-section-header{align-items:center;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:var(--space-5);padding-bottom:var(--space-3)}.events-section-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-2xl);font-weight:var(--font-bold);gap:var(--space-3);margin:0}.events-section-icon{font-size:var(--text-3xl)}.events-section-count{align-items:center;background:linear-gradient(135deg,var(--primary-500),var(--accent-500));border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-bold);height:36px;justify-content:center;min-width:36px;padding:0 var(--space-3)}.events-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr}@media (min-width:640px){.events-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.events-grid{grid-template-columns:repeat(3,1fr)}}.event-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:all var(--transition-base)}.event-card:hover{border-color:var(--primary-500);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.event-card-past{opacity:.7}.event-card-past:hover{opacity:1}.event-card-image{background:linear-gradient(135deg,var(--primary-100),var(--accent-100));height:180px;overflow:hidden;position:relative;width:100%}.event-card-image img{height:100%;object-fit:cover;width:100%}.event-card-past-badge{background:#000000b3;font-weight:var(--font-semibold);text-transform:uppercase}.event-card-participant-badge,.event-card-past-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);padding:var(--space-2) var(--space-3);position:absolute;right:var(--space-3);top:var(--space-3)}.event-card-participant-badge{align-items:center;background:var(--success-600);display:flex;font-weight:var(--font-bold);gap:var(--space-1)}.event-card-content{padding:var(--space-4)}.event-card-header{margin-bottom:var(--space-3)}.event-card-title{font-size:var(--text-xl);line-height:var(--leading-tight)}.event-card-date{align-items:center;background:var(--primary-100);border-radius:var(--radius-full);color:var(--primary-700);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-semibold);gap:var(--space-2);padding:var(--space-2) var(--space-3)}.theme-dark .event-card-date{background:#ff472733;color:var(--primary-400)}.event-card-date-icon,.event-card-description{font-size:var(--text-sm)}.event-card-description{color:var(--text-secondary);flex:1 1;line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.event-card-meta{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3)}.event-card-meta-item{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-xs);gap:var(--space-2)}.event-card-meta-icon{flex-shrink:0;font-size:var(--text-base)}.page-header{background:linear-gradient(135deg,var(--primary-500),var(--accent-500));box-shadow:var(--shadow-md);color:#fff;padding:var(--space-6) var(--space-4);z-index:100}.modal-overlay{animation:fadeIn .2s ease-out;inset:0;z-index:1300}.modal-content{animation:slideUp .3s ease-out;max-width:500px;overflow-y:auto;padding:var(--space-6)}.modal-content h3{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-5)}.modal-actions{margin-top:var(--space-6)}.modal-actions .btn{flex:1 1}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left:4px solid var(--error-500);border-radius:var(--radius-lg);color:#991b1b;margin:var(--space-4);padding:var(--space-4)}.theme-dark .error-message{background:#ef444426;color:#fca5a5}.success-message{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-left:4px solid var(--success-500);color:#065f46;font-size:var(--text-sm);font-weight:var(--font-medium);margin:var(--space-4);padding:var(--space-4)}.theme-dark .success-message{background:#10b98126;color:#6ee7b7}.event-detail-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.event-detail-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;padding:var(--space-4)}.event-actions{display:flex;gap:var(--space-2);width:100%}.event-title-edit{background:#ffffff1a;border:2px solid #ffffff4d;color:#fff;font-size:var(--text-3xl);font-weight:var(--font-bold)}.event-title-edit:focus{background:#ffffff26;border-color:#ffffff80}.event-hero-image{height:300px;object-fit:cover;width:100%}.event-title{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0}.event-info-card{grid-gap:var(--space-2);display:grid;grid-template-columns:repeat(2,1fr);margin:var(--space-4)}@media (min-width:640px){.event-info-card{grid-template-columns:repeat(4,1fr)}}.event-edit-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4)}.event-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);margin:var(--space-4);padding:var(--space-5)}.event-section-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);gap:var(--space-2);margin-bottom:var(--space-4)}.event-section-title:before{background:linear-gradient(to bottom,var(--primary-500),var(--accent-500));border-radius:var(--radius-full);content:"";height:24px;width:4px}.event-description{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);white-space:pre-wrap}.full-width{width:100%}.review-status{align-items:center;background:linear-gradient(135deg,#22c55e1a,#10b98126);border:2px solid #22c55e4d;border-radius:var(--radius-2xl);box-shadow:0 4px 12px #22c55e1a;display:flex;gap:var(--space-4);min-height:80px;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative;transition:all var(--transition-base)}.review-status:before{background:var(--gradient-primary);border-radius:var(--radius-full) 0 0 var(--radius-full);content:"";height:100%;left:0;position:absolute;top:0;width:6px}.review-status:after{background:radial-gradient(circle,#22c55e26,#0000);border-radius:50%;content:"";height:150px;pointer-events:none;position:absolute;right:-10%;top:-50%;width:150px}.review-status:hover{border-color:#22c55e80;box-shadow:0 8px 20px #22c55e26;transform:translateY(-2px)}.theme-dark .review-status{background:linear-gradient(135deg,#22c55e26,#10b98133);border-color:#22c55e66;box-shadow:0 4px 12px #22c55e33}.theme-dark .review-status:hover{border-color:#22c55e99;box-shadow:0 8px 20px #22c55e40}.review-status-icon{align-items:center;animation:checkPulse 2s ease-in-out infinite;background:var(--gradient-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-primary);color:#fff;display:flex;flex-shrink:0;font-size:28px;font-weight:700;height:56px;justify-content:center;position:relative;width:56px;z-index:1}@keyframes checkPulse{0%,to{box-shadow:0 4px 12px #22c55e4d;transform:scale(1)}50%{box-shadow:0 6px 16px #22c55e66;transform:scale(1.05)}}.review-status span:not(.review-status-icon){color:#166534;flex:1 1;font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:1.6;position:relative;z-index:1}.theme-dark .review-status span:not(.review-status-icon){color:#86efac}@media (max-width:640px){.review-status{border-radius:var(--radius-xl);gap:var(--space-3);min-height:72px;padding:var(--space-4) var(--space-5)}.review-status-icon{font-size:24px;height:48px;width:48px}.review-status span:not(.review-status-icon){font-size:var(--text-base)}}@media (max-width:375px){.review-status{flex-direction:column;min-height:auto;padding:var(--space-5);text-align:center}.review-status:before{border-radius:var(--radius-full) var(--radius-full) 0 0;height:6px;width:100%}.review-status-icon{font-size:26px;height:52px;width:52px}}.todos-list{flex-direction:column}.todo-item-display,.todos-list{display:flex;gap:var(--space-3)}.todo-item-display{align-items:center;background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3)}.theme-dark .todo-item-display{background:var(--neutral-900)}.todo-checkbox{cursor:pointer;height:20px;width:20px}.todo-text{color:var(--text-primary);flex:1 1;font-size:var(--text-base)}.todo-text.completed{color:var(--text-tertiary);text-decoration:line-through}.polls-container{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-5)}.poll-card{background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000d;padding:var(--space-5);transition:box-shadow var(--transition-base)}.poll-card:hover{box-shadow:0 4px 6px #00000012}.theme-dark .poll-card{background:var(--neutral-900)}.poll-question{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);line-height:1.4;margin-bottom:var(--space-2)}.poll-options{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.poll-option{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;padding:var(--space-3) var(--space-4);position:relative;text-align:left;transition:all var(--transition-base);width:100%}.poll-option:hover:not(:disabled){border-color:var(--primary-400);box-shadow:0 2px 4px #0000000d}.poll-option:active:not(:disabled){transform:scale(.98)}.poll-option:disabled{cursor:not-allowed;opacity:.7}.poll-option-content{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;position:relative;z-index:2}.poll-option-text{color:var(--text-primary);flex:1 1;font-size:var(--text-base);font-weight:var(--font-medium);line-height:1.5;word-break:break-word}.poll-option-votes{color:var(--text-secondary);flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-semibold);white-space:nowrap}.poll-option-bar{background:linear-gradient(90deg,var(--primary-50),var(--primary-100));border-radius:var(--radius-md);height:100%;left:0;position:absolute;top:0;transition:width .4s ease-out;z-index:1}.theme-dark .poll-option-bar{background:linear-gradient(90deg,#ff47271a,#ff472733)}.poll-voted-text{color:var(--success-600);font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-3)}.poll-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.poll-badge{align-items:center;background:var(--primary-50);border-radius:var(--radius-full);color:var(--primary-700);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-medium);letter-spacing:.025em;padding:var(--space-1) var(--space-3)}.theme-dark .poll-badge{background:#ff472726;color:var(--primary-300)}.poll-option-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.poll-option.user-voted{background:var(--primary-50);border-color:var(--primary-500)}.theme-dark .poll-option.user-voted{background:#ff47271a}.poll-voters{background:var(--neutral-50);border-radius:var(--radius-md);margin-top:var(--space-2);padding:var(--space-2) var(--space-3)}.theme-dark .poll-voters{background:var(--neutral-800)}.poll-voters-label{color:var(--text-secondary);display:block;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;margin-bottom:var(--space-1);text-transform:uppercase}.poll-voters-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.poll-voter-name{align-items:center;background:var(--surface);border-radius:var(--radius-sm);color:var(--text-secondary);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2)}.theme-dark .poll-voter-name{background:var(--neutral-700)}.poll-info-text{border-top:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-sm);font-style:italic;margin-top:var(--space-3);padding-top:var(--space-3);text-align:center}@media (max-width:640px){.polls-container{gap:var(--space-4)}.poll-card{border-radius:var(--radius-lg);padding:var(--space-4)}.poll-question{font-size:var(--text-base);margin-bottom:var(--space-2)}.poll-options{gap:var(--space-2);margin-top:var(--space-3)}.poll-option{border-radius:var(--radius-sm);min-height:48px;padding:var(--space-2) var(--space-3)}.poll-option-content{gap:var(--space-2)}.poll-option-text{font-size:var(--text-sm);line-height:1.4}.poll-option-votes{font-size:var(--text-xs)}.poll-meta{gap:var(--space-1);margin-bottom:var(--space-2)}.poll-badge{font-size:10px;padding:3px var(--space-2)}.poll-voters{margin-top:var(--space-1);padding:var(--space-2)}.poll-voters-label{font-size:10px}.poll-voter-name{font-size:10px;padding:2px var(--space-2)}.poll-info-text{font-size:var(--text-xs);margin-top:var(--space-2);padding-top:var(--space-2)}}.poll-creator{background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius-xl);padding:var(--space-5)}.form-section-subtitle{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:var(--space-4)}.poll-option-input{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.poll-option-input .form-input{flex:1 1}.option-remove{background:var(--error-100);border:none;border-radius:var(--radius-md);color:var(--error-700);cursor:pointer;flex-shrink:0;font-size:var(--text-lg);height:36px;transition:all var(--transition-base);width:36px}.option-remove:hover{background:var(--error-200);transform:scale(1.1)}.btn-link{background:none;border:none;color:var(--primary-600);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2);transition:color var(--transition-base)}.btn-link:hover{color:var(--primary-700);text-decoration:underline}.location-detail-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.location-hero{height:300px;overflow:hidden;position:relative}.location-hero-image{height:100%;object-fit:cover;width:100%}.location-hero-overlay{background:linear-gradient(0deg,#000c,#0000);bottom:0;left:0;padding:var(--space-6) var(--space-4);position:absolute;right:0}.location-hero-content{margin:0 auto;max-width:1280px}.location-title{color:#fff;font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.location-category{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:var(--radius-full);color:#fff;display:inline-block;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-4)}.location-info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);margin:var(--space-4);padding:var(--space-5)}.location-stats{grid-gap:var(--space-4);border-bottom:1px solid var(--border);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:var(--space-5);padding-bottom:var(--space-5)}.location-stat{align-items:center;display:flex;gap:var(--space-3)}.stat-content{flex:1 1}.location-address{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2);margin-bottom:var(--space-5)}.address-icon{font-size:var(--text-xl)}.location-contact-section{gap:var(--space-4);margin-bottom:var(--space-5)}.location-contact-info,.location-contact-section{color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--text-sm)}.location-contact-info{gap:var(--space-3);margin-top:var(--space-3)}.location-description{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.location-tag{color:var(--primary-700);padding:var(--space-2) var(--space-3)}.theme-dark .location-tag{color:var(--primary-400)}.review-action-section{padding:var(--space-4)}.review-form-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-2xl);box-shadow:0 4px 12px #0000000d;margin:var(--space-4);padding:var(--space-6);transition:all var(--transition-base)}.theme-dark .review-form-card{box-shadow:0 4px 12px #0000004d}.review-form-title{-webkit-text-fill-color:#0000;align-items:center;background:linear-gradient(135deg,var(--primary-500),var(--accent-500));-webkit-background-clip:text;background-clip:text;color:var(--text-primary);display:flex;font-size:var(--text-3xl);font-weight:var(--font-bold);gap:var(--space-3);margin-bottom:var(--space-3)}.review-form-hint{background:var(--background);border-left:4px solid var(--primary-500);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4)}@media (max-width:640px){.review-form-card{border-radius:var(--radius-xl);margin:var(--space-3);padding:var(--space-5)}.review-form-title{font-size:var(--text-2xl)}.review-form-title:before{font-size:var(--text-3xl)}}.form-label.required:after{color:var(--error-500);content:" *"}.rating-form-group{margin-bottom:var(--space-5)}.rating-input-container{align-items:center;background:var(--neutral-50);border:2px solid var(--border);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);transition:all var(--transition-base)}.rating-input-container:hover{border-color:var(--primary-300);box-shadow:0 4px 12px #0000000d}.theme-dark .rating-input-container{background:var(--neutral-900)}.theme-dark .rating-input-container:hover{box-shadow:0 4px 12px #0003}.star-selector-simple{gap:var(--space-2)}.star-button-simple,.star-selector-simple{align-items:center;display:flex;justify-content:center}.star-button-simple{background:none;border:none;border-radius:var(--radius-lg);cursor:pointer;height:56px;margin:0;padding:var(--space-2);position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);width:56px}.star-button-simple:hover{background:#ffd7001a;transform:scale(1.15)}.star-button-simple:active{transform:scale(.95)}.star-icon{display:block;font-size:48px;line-height:1;position:relative;transition:all .2s ease}.star-button-simple.star-empty .star-icon{color:var(--neutral-300)}.star-button-simple.star-full .star-icon{color:var(--medal-gold);filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}.star-button-simple.star-quarter .star-icon{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--medal-gold) 25%,var(--neutral-300) 25%);-webkit-background-clip:text;background-clip:text}.star-button-simple.star-half .star-icon{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--medal-gold) 50%,var(--neutral-300) 50%);-webkit-background-clip:text;background-clip:text}.star-button-simple.star-three-quarter .star-icon{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--medal-gold) 75%,var(--neutral-300) 75%);-webkit-background-clip:text;background-clip:text}.rating-value-display{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-500),var(--accent-500));-webkit-background-clip:text;background-clip:text;border:2px solid var(--primary-200);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);min-width:120px;padding:var(--space-3) var(--space-5);text-align:center}.theme-dark .rating-value-display{border-color:var(--primary-600)}@media (max-width:640px){.star-button-simple{height:64px;padding:var(--space-3);width:64px}.star-icon{font-size:56px}.star-selector-simple{gap:var(--space-1)}.rating-input-container{padding:var(--space-6)}.rating-value-display{font-size:var(--text-3xl);min-width:140px;padding:var(--space-4) var(--space-6)}}@media (max-width:400px){.star-selector-simple{flex-wrap:wrap;gap:var(--space-2)}.star-button-simple{height:60px;width:60px}.star-icon{font-size:52px}}.stars-container{display:flex;gap:4px}.star{color:var(--neutral-300);font-size:24px;line-height:1}.star.star-full{color:var(--medal-gold);text-shadow:0 0 8px #ffd70080}.star.star-quarter{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--medal-gold) 25%,var(--neutral-300) 25%);-webkit-background-clip:text;background-clip:text}.star.star-half{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--medal-gold) 50%,var(--neutral-300) 50%);-webkit-background-clip:text;background-clip:text}.star.star-three-quarter{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--medal-gold) 75%,var(--neutral-300) 75%);-webkit-background-clip:text;background-clip:text}.breakdown-toggle{align-items:center;background:var(--background);border:2px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.breakdown-toggle:hover{color:var(--primary-600);transform:translateX(4px)}.breakdown-toggle-icon{font-size:var(--text-xs);transition:transform var(--transition-base)}.breakdown-toggle-text{font-weight:var(--font-semibold)}.review-breakdown{animation:slideDown .3s ease-out;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-4)}.rating-breakdown-item{align-items:center;border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-2);transition:background var(--transition-base)}.rating-breakdown-item:hover{background:var(--neutral-100)}.rating-breakdown-icon{align-items:center;display:flex;flex-shrink:0;font-size:20px;height:28px;justify-content:center;width:28px}.rating-breakdown-label{color:var(--text-secondary);flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-medium);min-width:70px}.rating-breakdown-stars{align-items:center;display:flex;flex:1 1}.rating-breakdown-stars .stars-container{gap:2px}.rating-breakdown-stars .star{font-size:18px}.rating-breakdown-value{color:var(--text-primary);flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-bold);min-width:32px;text-align:right}@media (max-width:640px){.breakdown-toggle{padding:var(--space-2) var(--space-3)}.review-breakdown{gap:var(--space-1);padding:var(--space-3)}.rating-breakdown-item{gap:var(--space-2);padding:var(--space-2)}.rating-breakdown-icon{font-size:22px;height:30px;width:30px}.rating-breakdown-label{font-size:var(--text-base);min-width:80px}.rating-breakdown-stars .star{font-size:20px}.rating-breakdown-value{font-size:var(--text-base);min-width:36px}}.rating-item{align-items:center;display:flex;gap:var(--space-2)}.rating-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);min-width:80px}.rating-stars-small{color:var(--medal-gold);font-size:var(--text-base);letter-spacing:2px}.rating-value-small{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--font-medium)}.money-input-wrapper{align-items:center;background:var(--background);border:2px solid var(--border);border-radius:var(--radius-lg);display:flex;overflow:hidden;position:relative;transition:all var(--transition-base)}.money-input-wrapper:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a}.money-symbol{align-items:center;color:#fff;display:flex;flex-shrink:0;font-size:var(--text-xl);font-weight:var(--font-bold);height:100%;justify-content:center;min-width:48px;padding:0 var(--space-3);position:relative}.money-input{background:#0000!important;border:none!important;color:var(--text-primary);flex:1 1;font-size:var(--text-lg)!important;font-weight:var(--font-semibold);padding:var(--space-4) var(--space-4)!important}.money-input:focus{box-shadow:none!important;outline:none!important}.money-input::placeholder{color:var(--text-tertiary);font-weight:var(--font-normal)}@media (max-width:640px){.money-symbol{font-size:var(--text-2xl);min-width:56px;padding:0 var(--space-4)}.money-input{font-size:var(--text-xl)!important;padding:var(--space-5) var(--space-4)!important}}.form-actions{justify-content:flex-end;margin-top:var(--space-5)}.reviews-section{padding:var(--space-4)}.reviews-list{gap:var(--space-4)}.review-user{align-items:center;display:flex;gap:var(--space-3)}.review-avatar{background:linear-gradient(135deg,var(--primary-400),var(--accent-400))}.review-username{font-size:var(--text-base)}.review-date{color:var(--text-tertiary);font-size:var(--text-sm)}.review-rating-display{align-items:center;display:flex;gap:var(--space-2)}.rating-number{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-bold)}.review-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin:var(--space-3) 0}.review-cost{align-items:center;background:var(--success-100);border-radius:var(--radius-md);color:var(--success-700);display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);width:-webkit-fit-content;width:fit-content}.theme-dark .review-cost{background:#10b98133;color:var(--success-400)}.cost-icon{font-size:var(--text-base)}.review-images{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:var(--space-4)}.review-image{border:1px solid var(--border);border-radius:var(--radius-lg);height:150px;object-fit:cover;width:100%}.empty-state-hint{color:var(--text-tertiary);font-size:var(--text-sm);margin-top:var(--space-2)}.location-card-stats{border-top:1px solid var(--border);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3)}.location-card-stat-item{align-items:center;display:flex;gap:var(--space-1)}.location-card-stat-icon{font-size:var(--text-sm)}.create-event-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.create-event-header{align-items:center;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.create-event-header h1{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold)}.create-event-form{margin:0 auto;max-width:800px;padding:var(--space-4)}.form-section{border-radius:var(--radius-xl)}.form-section-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);gap:var(--space-2);margin-bottom:var(--space-4)}.form-section-title:before{background:linear-gradient(to bottom,var(--primary-500),var(--accent-500));border-radius:var(--radius-full);content:"";height:24px;width:4px}.form-section-description{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-4)}@media (min-width:640px){.form-row{grid-template-columns:repeat(2,1fr)}}.image-upload-container{position:relative}.image-input{height:0;opacity:0;position:absolute;width:0}.image-upload-label{border:2px dashed var(--border);border-radius:var(--radius-xl);cursor:pointer;display:block;min-height:200px;overflow:hidden;transition:all var(--transition-base);width:100%}.image-upload-label:hover{background:var(--surface-hover);border-color:var(--primary-500)}.image-preview{height:100%;object-fit:cover;width:100%}.image-upload-placeholder{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-3);height:200px;justify-content:center}.upload-icon{font-size:var(--text-5xl)}.todo-input-container{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.todo-input-container .form-input{flex:1 1}.todo-list{flex-direction:column}.todo-item,.todo-list{display:flex;gap:var(--space-3)}.todo-item{align-items:center;background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3)}.theme-dark .todo-item{background:var(--neutral-900)}.todo-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:var(--text-base);padding:var(--space-2)}.todo-input:focus{outline:none}.todo-remove{background:var(--error-100);border:none;border-radius:var(--radius-md);color:var(--error-700);cursor:pointer;flex-shrink:0;font-size:var(--text-lg);height:32px;transition:all var(--transition-base);width:32px}.todo-remove:hover{background:var(--error-200);transform:scale(1.1)}.checkbox-label{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--space-4);justify-content:space-between;min-height:56px;padding:var(--space-4) var(--space-5);position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.checkbox-label:active{opacity:.7}.checkbox-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.checkbox-label span{color:var(--text-primary);flex:1 1;font-size:var(--text-base);font-weight:var(--font-medium);line-height:1.4;order:0}.checkbox-label:before{background:#e5e5ea;border-radius:31px;box-shadow:inset 0 0 0 1px #0000000a;content:"";flex-shrink:0;height:31px;order:1;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:51px}.theme-dark .checkbox-label:before{background:#39393d;box-shadow:inset 0 0 0 1px #ffffff0a}.checkbox-label:after{background:#fff;border-radius:50%;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029,0 3px 1px #0000001a;content:"";height:27px;position:absolute;right:var(--space-5);right:calc(var(--space-5) + 2px);top:50%;transform:translateY(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);width:27px}.checkbox-input:checked+span+.checkbox-label:before,.checkbox-input:checked~.checkbox-label:before,.checkbox-label:has(.checkbox-input:checked):before{background:#34c759}.theme-dark .checkbox-label:has(.checkbox-input:checked):before{background:#30d158}.checkbox-input:checked+span+.checkbox-label:after,.checkbox-input:checked~.checkbox-label:after,.checkbox-label:has(.checkbox-input:checked):after{box-shadow:0 3px 8px #00000026,0 3px 1px #0000000f;transform:translateY(-50%) translateX(-22px)}.checkbox-input:focus-visible~.checkbox-label:before,.checkbox-label:has(.checkbox-input:focus-visible):before{box-shadow:inset 0 0 0 1px #0000000a,0 0 0 4px #34c7594d}.checkbox-input:disabled~.checkbox-label,.checkbox-label:has(.checkbox-input:disabled){cursor:not-allowed;opacity:.4}.checkbox-input:disabled~.checkbox-label:active,.checkbox-label:has(.checkbox-input:disabled):active{opacity:.4;transform:none}@media (max-width:640px){.checkbox-label{min-height:60px;padding:var(--space-4) var(--space-5)}.checkbox-label:before{height:31px;width:51px}.checkbox-label:after{height:27px;width:27px}.checkbox-label span{font-size:var(--text-lg)}.checkbox-label:has(.checkbox-input:checked):after{transform:translateY(-50%) translateX(-22px)}}@media (hover:none) and (pointer:coarse){.checkbox-label:active{opacity:.7}.checkbox-label:after{transition:all .35s cubic-bezier(.175,.885,.32,1.275)}}.checkbox-label+.form-hint{border-left:3px solid var(--primary-300);display:block;margin-left:var(--space-2);margin-top:var(--space-2);padding-left:var(--space-3)}.theme-dark .checkbox-label+.form-hint{border-left-color:var(--primary-600)}.form-hint-warning{border-left-color:#f59e0b!important;border-left:3px solid #f59e0b;color:#f59e0b!important;display:block;font-weight:var(--font-medium);margin-left:var(--space-2);margin-top:var(--space-2);padding-left:var(--space-3)}.theme-dark .form-hint-warning{border-left-color:#fbbf24!important;color:#fbbf24!important}.checkbox-disabled{cursor:not-allowed!important;opacity:.5}.checkbox-disabled:active{opacity:.5!important;transform:none!important}.polls-list{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.poll-preview{background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-4)}.theme-dark .poll-preview{background:var(--neutral-900)}.poll-preview-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.poll-preview-header h4{color:var(--text-primary);flex:1 1;font-size:var(--text-base);font-weight:var(--font-semibold)}.poll-remove{background:var(--error-100);border:none;border-radius:var(--radius-md);color:var(--error-700);cursor:pointer;flex-shrink:0;font-size:var(--text-lg);height:32px;transition:all var(--transition-base);width:32px}.poll-remove:hover{background:var(--error-200);transform:scale(1.1)}.poll-options-preview{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.poll-options-preview li{background:var(--surface);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.admin-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.admin-header{background:linear-gradient(135deg,var(--primary-500) 0,var(--accent-600) 100%);color:#fff;overflow:hidden;padding:var(--space-10) var(--space-4) var(--space-8);position:relative;text-align:center}.admin-header:before{animation:float 8s ease-in-out infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:150%;position:absolute;right:-20%;top:-50%;width:150%}.admin-header h1{font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-2);position:relative;z-index:1}.admin-header p{font-size:var(--text-lg);opacity:.95;position:relative;z-index:1}.admin-tabs{background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-4);position:-webkit-sticky;position:sticky;top:64px;z-index:100}.admin-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);padding:var(--space-3) var(--space-5);transition:all var(--transition-base);white-space:nowrap}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{border-bottom-color:var(--primary-600);color:var(--primary-600);font-weight:var(--font-semibold)}.admin-content{margin:0 auto;max-width:1280px;padding:var(--space-4)}.admin-section-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-6)}.admin-stats-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr);margin-bottom:var(--space-8)}@media (min-width:640px){.admin-stats-grid{grid-template-columns:repeat(4,1fr)}}.admin-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-5);text-align:center;transition:all var(--transition-base)}.admin-stat-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.admin-stat-label{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium);margin-bottom:var(--space-2)}.admin-stat-value{color:var(--primary-600);font-size:var(--text-4xl);font-weight:var(--font-bold)}.admin-stat-icon{font-size:var(--text-4xl);margin-bottom:var(--space-3)}.admin-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--space-8);padding:var(--space-6)}.admin-table-container{border-radius:var(--radius-lg);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table thead tr{background:var(--neutral-50);border-bottom:2px solid var(--border)}.admin-table thead th{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.05em;padding:var(--space-3);text-align:left;text-transform:uppercase}.admin-table tbody tr{border-bottom:1px solid var(--border);transition:background var(--transition-fast)}.admin-table tbody tr:hover{background:var(--neutral-50)}.admin-table tbody td{color:var(--text-primary);padding:var(--space-3)}.admin-table-secondary{color:var(--text-secondary);font-size:var(--text-sm)}.admin-table-center{text-align:center}.admin-table-actions{text-align:right;white-space:nowrap}.admin-table-actions .btn{margin-left:var(--space-2)}.admin-table-highlight{font-weight:var(--font-semibold)}.theme-dark .admin-table tbody tr:hover,.theme-dark .admin-table thead tr{background:var(--neutral-800)}@media (max-width:640px){.profile-stats-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);padding:0}.stat-item{min-height:110px}.stat-item,.upload-stats .stat-item{gap:var(--space-1);padding:var(--space-4)}.upload-stats .stat-item{min-height:0}.stat-value{font-size:var(--text-xl)}.stat-label{font-size:10px;line-height:1.2}.profile-section{margin:var(--space-3);padding:var(--space-4)}}@media (max-width:400px){.profile-stats-grid{gap:var(--space-2)}.stat-item{min-height:100px;padding:var(--space-3)}.stat-icon svg{height:28px!important;width:28px!important}.stat-value{font-size:var(--text-lg)}.stat-label{font-size:9px}.profile-section{margin:var(--space-2);padding:var(--space-3)}.profile-section-title{font-size:var(--text-lg)}}.leaderboard-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.podium-container{align-items:flex-end;background:linear-gradient(180deg,rgba(var(--primary-rgb),.05) 0,#0000 100%);display:flex;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-6);padding:var(--space-6) var(--space-4)}.podium-item{align-items:center;animation:podiumSlideUp .6s ease-out;display:flex;flex:1 1;flex-direction:column;gap:var(--space-2);max-width:120px}@keyframes podiumSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.podium-first{animation-delay:.2s;z-index:3}.podium-second{animation-delay:0s;z-index:2}.podium-third{animation-delay:.4s;z-index:1}.podium-avatar{align-items:center;background:linear-gradient(135deg,var(--primary-400),var(--primary-600));border:3px solid var(--surface);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);color:#fff;display:flex;font-size:var(--text-2xl);font-weight:var(--font-bold);height:64px;justify-content:center;margin-bottom:var(--space-1);width:64px}.podium-avatar-first{animation:pulse 2s ease-in-out infinite;background:var(--medal-gold-gradient);border:4px solid var(--medal-gold);box-shadow:0 0 20px #ffd70080,var(--shadow-xl);font-size:var(--text-3xl);height:80px;width:80px}.podium-rank{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:var(--text-3xl);margin-bottom:var(--space-1)}.podium-username{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.podium-points{color:var(--primary-500);font-size:var(--text-xs);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.podium-platform{align-items:center;background:linear-gradient(180deg,var(--neutral-200),var(--neutral-300));border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:inset 0 2px 4px #0000001a;color:var(--text-secondary);display:flex;font-size:var(--text-2xl);font-weight:var(--font-bold);justify-content:center;transition:all var(--transition-base);width:100%}.podium-platform-first{background:var(--medal-gold-gradient);box-shadow:0 -4px 20px #ffd7004d,inset 0 2px 4px #0003;color:#fff;font-size:var(--text-3xl);height:120px}.podium-platform-second{background:var(--medal-silver-gradient);box-shadow:0 -4px 15px #c0c0c04d,inset 0 2px 4px #0003;color:#fff;font-size:var(--text-2xl);height:90px}.podium-platform-third{background:var(--medal-bronze-gradient);box-shadow:0 -4px 15px #cd7f324d,inset 0 2px 4px #0003;color:#fff;font-size:var(--text-xl);height:70px}.leaderboard-table-container{padding:var(--space-4)}.leaderboard-section-title{align-items:center;border-bottom:2px solid var(--border);color:var(--text-primary);display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.leaderboard-list{display:flex;flex-direction:column;gap:var(--space-3)}.leaderboard-item{align-items:center;animation:fadeInUp .4s ease-out;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);display:flex;gap:var(--space-4);padding:var(--space-4);transition:all var(--transition-base)}.leaderboard-item:hover{border-color:var(--primary-500);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.leaderboard-item.rank-gold{background:linear-gradient(135deg,#ffd70014 0,var(--surface) 100%);border-color:var(--medal-gold)}.leaderboard-item.rank-silver{background:linear-gradient(135deg,#c0c0c014 0,var(--surface) 100%);border-color:var(--medal-silver)}.leaderboard-item.rank-bronze{background:linear-gradient(135deg,#cd7f3214 0,var(--surface) 100%);border-color:var(--medal-bronze)}.leaderboard-rank{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:48px}.rank-badge{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:var(--text-2xl);font-weight:var(--font-bold)}.rank-normal .rank-badge{color:var(--text-secondary);font-size:var(--text-lg)}.leaderboard-user{align-items:center;display:flex;flex:1 1;gap:var(--space-3);min-width:0}.leaderboard-avatar{align-items:center;background:linear-gradient(135deg,var(--primary-400),var(--primary-600));border:2px solid var(--border);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:var(--text-lg);font-weight:var(--font-bold);height:48px;justify-content:center;width:48px}.leaderboard-user-info{flex:1 1;min-width:0}.leaderboard-username{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-stats{flex-shrink:0;text-align:right}.leaderboard-points{align-items:flex-end;display:flex;flex-direction:column}.points-value{color:var(--primary-500);font-size:var(--text-xl);line-height:1.2}.points-label{color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase}@media (max-width:480px){.podium-container{gap:var(--space-2);padding:var(--space-4) var(--space-2)}.podium-item{max-width:100px}.podium-avatar{font-size:var(--text-lg);height:48px;width:48px}.podium-avatar-first{height:64px;width:64px}.podium-avatar-first,.podium-rank{font-size:var(--text-2xl)}.podium-username{font-size:var(--text-xs)}.podium-points{font-size:var(--text-2xs)}.podium-platform-first{font-size:var(--text-2xl);height:100px}.podium-platform-second{font-size:var(--text-xl);height:75px}.podium-platform-third{font-size:var(--text-lg);height:60px}.leaderboard-item{gap:var(--space-3);padding:var(--space-3)}.leaderboard-avatar{font-size:var(--text-base);height:40px;width:40px}.leaderboard-username{font-size:var(--text-sm)}.points-value{font-size:var(--text-lg)}}.review-reactions{align-items:center;border-top:1px solid var(--border);display:flex;gap:var(--space-3);justify-content:space-between;margin-top:var(--space-3);padding-top:var(--space-3)}.reaction-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.reaction-button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-size:var(--text-lg);gap:var(--space-1);padding:var(--space-1) var(--space-2);transition:all var(--transition-base)}.reaction-button:hover{background:var(--neutral-100);border-color:var(--primary-500);transform:scale(1.1)}.reaction-button.reacted{background:linear-gradient(135deg,var(--primary-100),var(--accent-100));border-color:var(--primary-500);box-shadow:0 0 0 2px var(--primary-200)}.reaction-count{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);min-width:16px;text-align:center}.theme-dark .reaction-button{background:var(--neutral-800)}.theme-dark .reaction-button:hover{background:var(--neutral-700)}.theme-dark .reaction-button.reacted{background:linear-gradient(135deg,rgba(var(--primary-rgb),.2),rgba(var(--accent-rgb),.2))}.review-comments-section{background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:var(--space-4);padding:var(--space-4)}.theme-dark .review-comments-section{background:var(--neutral-900)}.review-comment{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3)}.comment-avatar{align-items:center;background:linear-gradient(135deg,var(--primary-400),var(--primary-600));border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-bold);height:36px;justify-content:center;width:36px}.comment-content{flex:1 1;min-width:0}.comment-header{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-1)}.comment-username{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.comment-date{color:var(--text-tertiary);font-size:var(--text-xs)}.comment-text{word-wrap:break-word;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.add-comment-form{border-top:1px solid var(--border);display:flex;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3)}.comment-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);flex:1 1;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);transition:all var(--transition-base)}.comment-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100);outline:none}.theme-dark .comment-input:focus{box-shadow:0 0 0 3px rgba(var(--primary-rgb),.2)}@media (max-width:640px){.review-reactions{align-items:flex-start;flex-direction:column}.reaction-buttons{width:100%}.reaction-button{font-size:var(--text-base)}.add-comment-form{flex-direction:column}}.tasks-list{display:flex;flex-direction:column}.task-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);transition:all var(--transition-base)}.task-item:hover{border-color:var(--primary-300);box-shadow:0 2px 8px #0000001a}.task-header{margin-bottom:var(--space-3)}.task-title-section{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.task-type-badge{background:var(--primary-color);border-radius:.25rem;color:#fff;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.task-ended-notice{color:var(--danger-color);font-size:.875rem;font-style:italic;margin-bottom:0;margin-top:.5rem}.select,.task-type-select{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);cursor:pointer;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.select:focus,.task-type-select:focus{border-color:var(--primary-color);outline:none}.select:disabled,.task-type-select:disabled{background:var(--disabled-color);cursor:not-allowed;opacity:.6}.task-form-buttons{display:flex;gap:.5rem;margin-top:.75rem}.task-name{color:var(--text-primary);font-size:var(--text-lg);margin:0}.task-name,.task-status{font-weight:var(--font-semibold)}.task-status{border-radius:var(--radius-full);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);text-transform:uppercase}.task-status-pending{background:var(--warning-100);color:var(--warning-700)}.task-status-on-going{background:var(--primary-100);color:var(--primary-700)}.task-status-completed{background:var(--success-100);color:var(--success-700)}.theme-dark .task-status-pending{background:var(--status-pending-bg);color:var(--warning-300)}.theme-dark .task-status-on-going{background:var(--status-ongoing-bg);color:var(--cool-300)}.theme-dark .task-status-completed{background:var(--status-completed-bg);color:var(--success-300)}.task-description{margin:0}.task-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3)}.task-owner-info{flex:1 1;min-width:200px}.task-owners{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.task-label{color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--font-medium)}.task-owner-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.task-owner-badge{background:var(--primary-100);border-radius:var(--radius-md);color:var(--primary-700);font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2)}.theme-dark .task-owner-badge{background:rgba(var(--primary-rgb),.2);color:var(--primary-300)}.task-unclaimed{color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic}.task-actions{flex-wrap:wrap;margin-top:var(--space-3)}.task-action-btn{min-height:36px}.task-confirmation-actions{border-top:1px solid #e0e0e0;border-top:1px solid var(--color-border,#e0e0e0);display:flex;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3)}.btn-claim-task,.btn-complete-task{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.btn-claim-task{background:var(--primary-500);color:#fff}.btn-claim-task:hover{background:var(--primary-600);box-shadow:0 2px 8px rgba(var(--primary-rgb),.3);transform:translateY(-1px)}.btn-complete-task{background:var(--success-500);color:#fff}.btn-complete-task:hover{background:var(--success-600);box-shadow:0 2px 8px #22c55e4d;transform:translateY(-1px)}.btn-toggle-logs{align-items:center;background:none;border:none;color:var(--primary-500);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-1);padding:var(--space-2) 0;transition:color var(--transition-base)}.btn-toggle-logs:hover{color:var(--primary-600);text-decoration:underline}.task-logs{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-3);padding:var(--space-3)}.task-log-entry{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;padding:var(--space-2) 0}.task-log-entry:last-child{border-bottom:none}.log-username{color:var(--primary-600);font-weight:var(--font-semibold)}.log-task-name{color:var(--text-primary);font-weight:var(--font-medium)}.no-logs{color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic;margin:0;padding:var(--space-2);text-align:center}@media (max-width:640px){.task-meta{align-items:flex-start;flex-direction:column}.task-owner-info{width:100%}.task-actions{flex-direction:column;width:100%}.task-actions .btn{min-height:44px;width:100%}.task-confirmation-actions{flex-direction:column}.task-confirmation-actions .btn{min-height:44px;width:100%}.btn-claim-task,.btn-complete-task{flex:1 1;min-height:44px}}.task-list-section{margin-top:var(--space-6)}.section-header{margin-bottom:var(--space-4)}.task-count{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3)}.add-task-form{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-5);padding:var(--space-4);transition:all var(--transition-base)}.add-task-form:focus-within{border-color:var(--primary-400);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.add-task-input-group{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.task-input{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);flex:1 1;font-size:var(--text-base);padding:var(--space-3);transition:all var(--transition-base)}.task-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);outline:none}.task-input::placeholder{color:var(--text-tertiary)}.task-description-input{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-2);padding:var(--space-2) var(--space-3);transition:all var(--transition-base);width:100%}.task-description-input:focus{border-color:var(--primary-400);outline:none}.task-description-input::placeholder{color:var(--text-tertiary);font-style:italic}.task-description-input-wrapper{margin-top:var(--space-2);position:relative}.task-description-input-wrapper .task-description-input{margin-top:0;resize:vertical}.char-counter{background:var(--background);border-radius:var(--radius-sm);bottom:var(--space-2);color:var(--text-tertiary);font-size:var(--text-xs);padding:2px 4px;position:absolute;right:var(--space-3)}.btn-edit-task-description{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:var(--space-1);transition:all var(--transition-base)}.btn-edit-task-description:hover{background:var(--gray-100);color:var(--primary-500)}.task-description-wrapper{margin:var(--space-2) 0}.task-description.collapsed{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap}.btn-expand-description{background:none;border:none;color:var(--primary-500);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-1);padding:var(--space-1) 0;transition:color var(--transition-base)}.btn-expand-description:hover{color:var(--primary-600);text-decoration:underline}.task-description-edit-wrapper{margin:var(--space-2) 0}.task-description-edit{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);line-height:1.5;min-height:80px;padding:var(--space-2) var(--space-3);resize:vertical;width:100%}.task-description-edit:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);outline:none}.task-description-edit-actions{align-items:center;display:flex;justify-content:space-between;margin-top:var(--space-2);position:relative}.task-description-edit-actions .char-counter{background:#0000;position:static}.task-description-edit-actions .edit-buttons{display:flex;gap:var(--space-2)}.btn-add-task{align-items:center;background:var(--primary-500);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-2xl);font-weight:var(--font-bold);height:48px;justify-content:center;transition:all var(--transition-base);width:48px}.btn-add-task:hover:not(:disabled){background:var(--primary-600);box-shadow:0 4px 12px rgba(var(--primary-rgb),.4);transform:scale(1.05)}.btn-add-task:active:not(:disabled){transform:scale(.95)}.btn-add-task:disabled{cursor:not-allowed;opacity:.5}.task-card{align-items:flex-start;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);margin-bottom:var(--space-3);overflow:hidden;padding:var(--space-3);position:relative;transition:all var(--transition-base)}.task-card:before{bottom:0;content:"";left:0;position:absolute;top:0;transition:background var(--transition-base);width:4px}.task-card.task-pending:before{background:var(--status-pending)}.task-card.task-on-going:before{background:var(--status-on-going)}.task-card.task-completed:before{background:var(--status-completed)}.task-status-indicator{flex-shrink:0;font-size:var(--text-xl);line-height:1;margin-top:4px}.task-card.task-pending .task-status-indicator{color:var(--status-pending)}.task-card.task-on-going .task-status-indicator{color:var(--status-on-going)}.task-card.task-completed .task-status-indicator{color:var(--status-completed)}.task-content{flex:1 1;min-width:0}.task-header-row{align-items:flex-start;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-2)}.task-title{word-wrap:break-word;color:var(--text-primary);flex:1 1;font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1.4;margin:0}.task-card.task-completed .task-title{opacity:.7;text-decoration:line-through}.task-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--space-2) 0;white-space:pre-wrap}.task-owners-action-row{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--space-2);margin-top:var(--space-2)}.task-owners-section{flex:1 1;min-width:0;overflow:hidden}.task-owners-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.owner-chip{background:var(--primary-100);border-radius:var(--radius-md);color:var(--primary-700);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2);white-space:nowrap}.theme-dark .owner-chip{background:rgba(var(--primary-rgb),.2);color:var(--primary-300)}.task-unclaimed-badge{background:var(--gray-100);border-radius:var(--radius-md);color:var(--text-tertiary);display:inline-block;font-size:var(--text-xs);font-style:italic;font-weight:var(--font-medium);padding:var(--space-1) var(--space-2)}.theme-dark .task-unclaimed-badge{background:#ffffff0d}.task-status-badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.05em;padding:var(--space-1) var(--space-2);text-transform:uppercase;white-space:nowrap}.task-status-badge.status-pending{background:var(--warning-100);color:var(--warning-700)}.task-status-badge.status-on-going{background:var(--primary-100);color:var(--primary-700)}.task-status-badge.status-completed{background:var(--success-100);color:var(--success-700)}.theme-dark .task-status-badge.status-pending{background:var(--status-pending-bg);color:var(--warning-300)}.theme-dark .task-status-badge.status-on-going{background:var(--status-ongoing-bg);color:var(--cool-300)}.theme-dark .task-status-badge.status-completed{background:var(--status-completed-bg);color:var(--success-300)}.task-actions{flex-direction:row;flex-shrink:0;gap:var(--space-2)}.task-action-btn,.task-actions{align-items:center;display:flex}.task-action-btn{border:none;border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-1);justify-content:center;min-width:80px;padding:var(--space-1) var(--space-2);transition:all var(--transition-base);white-space:nowrap}.btn-icon{font-size:var(--text-base)}.claim-btn{background:var(--status-pending);color:#fff}.claim-btn:hover{background:var(--status-on-going);box-shadow:0 4px 12px rgba(var(--primary-rgb),.3);transform:translateY(-1px)}.claim-btn:active{transform:translateY(0)}.complete-btn{background:var(--status-on-going);color:#fff}.complete-btn:hover{background:var(--status-completed);box-shadow:0 4px 12px rgba(var(--primary-rgb),.3);transform:translateY(-1px)}.complete-btn:active{transform:translateY(0)}.task-activity{border-top:1px solid var(--border);margin-top:var(--space-3);padding-top:var(--space-3)}.task-activity-toggle{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);padding:var(--space-2) 0;transition:color var(--transition-base);width:100%}.task-activity-toggle:hover{color:var(--primary-600)}.toggle-icon{font-size:var(--text-xs);transition:transform var(--transition-base)}.task-activity-logs{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-3);padding:var(--space-3)}.activity-log-entry{align-items:baseline;border-bottom:1px solid var(--border);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-1);line-height:1.5;padding:var(--space-2) 0}.activity-log-entry:last-child{border-bottom:none}.log-user{color:var(--primary-600);font-weight:var(--font-semibold)}.theme-dark .log-user{color:var(--primary-400)}.log-action{color:var(--text-secondary)}.log-time{font-size:var(--text-xs);margin-left:auto}.log-time,.no-activity{color:var(--text-tertiary)}.no-activity{font-size:var(--text-sm);font-style:italic;margin:0;padding:var(--space-2);text-align:center}.empty-task-list{background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-4);text-align:center}.empty-icon{display:block;font-size:48px;margin-bottom:var(--space-3);opacity:.5}.empty-text{color:var(--text-tertiary);font-size:var(--text-base);margin:0}.task-header-actions{align-items:center;display:flex;gap:var(--space-3)}.btn-add-task-toggle{align-items:center;background:#0000;border:2px solid var(--primary-500);border-radius:var(--radius-md);color:var(--primary-600);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.btn-add-task-toggle:hover{background:var(--primary-500);box-shadow:0 4px 12px rgba(var(--primary-rgb),.3);color:#fff;transform:translateY(-1px)}.btn-add-task-toggle:active{transform:translateY(0)}.theme-dark .btn-add-task-toggle{border-color:var(--primary-400);color:var(--primary-400)}.theme-dark .btn-add-task-toggle:hover{background:var(--primary-500);color:#fff}.activity-tracker-section{border-top:2px solid var(--border);margin-top:var(--space-6);padding-top:var(--space-5)}.activity-tracker-toggle{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-3);padding:var(--space-3) var(--space-4);transition:all var(--transition-base);width:100%}.activity-tracker-toggle:hover{background:var(--background);border-color:var(--primary-400);box-shadow:0 2px 8px #0000000d}.activity-tracker-toggle .toggle-icon{color:var(--text-tertiary);font-size:var(--text-xs);transition:transform var(--transition-base)}.activity-count{background:var(--primary-100);border-radius:var(--radius-full);color:var(--primary-700);font-size:var(--text-xs);font-weight:var(--font-bold);margin-left:auto;padding:var(--space-1) var(--space-2)}.theme-dark .activity-count{background:rgba(var(--primary-rgb),.2);color:var(--primary-300)}.activity-tracker-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:var(--space-4);padding:0 var(--space-4)}.activity-loading{color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic;padding:var(--space-6);text-align:center}.activity-timeline{padding-left:var(--space-4);position:relative}.activity-timeline:before{background:linear-gradient(to bottom,var(--primary-300),var(--primary-100));bottom:8px;content:"";left:8px;position:absolute;top:8px;width:2px}.theme-dark .activity-timeline:before{background:linear-gradient(to bottom,rgba(var(--primary-rgb),.4),rgba(var(--primary-rgb),.1))}.activity-entry{border-bottom:1px solid var(--border);display:flex;gap:var(--space-3);padding:var(--space-3) 0;position:relative}.activity-entry:last-child{border-bottom:none}.activity-dot{background:var(--primary-500);border:3px solid var(--surface);border-radius:50%;flex-shrink:0;height:16px;left:-22px;position:absolute;top:18px;width:16px;z-index:1}.activity-details{flex:1 1;min-width:0}.activity-main{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-1)}.activity-user{color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-semibold)}.theme-dark .activity-user{color:var(--primary-400)}.activity-action{color:var(--text-secondary);font-size:var(--text-sm)}.activity-task-name{color:var(--text-primary);font-size:var(--text-sm);font-style:italic;font-weight:var(--font-medium)}.activity-time-event{color:var(--text-tertiary);display:block;font-size:var(--text-xs);margin-top:var(--space-1)}.settings-page{margin:0 auto;max-width:900px;padding:var(--space-6) var(--space-4);padding-bottom:calc(var(--space-20) + env(safe-area-inset-bottom))}.settings-header{margin-bottom:var(--space-8)}.settings-title{color:var(--text-primary);font-size:var(--text-4xl);font-weight:var(--font-bold);margin:0}.settings-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;min-height:60vh}.spinner{animation:spin 1s linear infinite;border:4px solid var(--border);border-radius:var(--radius-full);border-top-color:var(--primary-500);height:48px;width:48px}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:var(--radius-full);border-top-color:#fff;display:inline-block;height:16px;width:16px}.settings-message{align-items:center;animation:slideDown .3s ease-out;border-radius:var(--radius-lg);display:flex;font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4)}.settings-message-success{background:var(--success-50);border:1px solid var(--success-200);color:var(--success-700)}.settings-message-error{background:var(--error-50);border:1px solid var(--error-500);color:var(--error-700)}.settings-message-icon{font-size:var(--text-xl);font-weight:var(--font-bold)}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin:var(--space-10);padding:var(--space-6);transition:box-shadow var(--transition-base)}.settings-section:hover{box-shadow:var(--shadow-md)}.settings-section-header{margin-bottom:var(--space-6)}.settings-section-title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.settings-section-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.settings-language-selector{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.language-option{align-items:center;background:var(--background);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-3);padding:var(--space-4);position:relative;transition:all var(--transition-base)}.language-option:hover{background:var(--surface-hover);border-color:var(--primary-400);box-shadow:var(--shadow-md);transform:translateY(-2px)}.language-option.active{background:var(--primary-50);border-color:var(--primary-500);box-shadow:0 0 0 3px #06b0d81a}.theme-dark .language-option.active{background:#06b0d826;border-color:var(--primary-400)}.language-flag{font-size:var(--text-3xl);line-height:1}.language-name{flex:1 1}.language-check{color:var(--primary-600);font-size:var(--text-xl);font-weight:var(--font-bold)}.theme-dark .language-check{color:var(--primary-400)}.notification-group{margin-bottom:var(--space-8)}.notification-group:last-of-type{margin-bottom:var(--space-6)}.notification-group-header{border-bottom:1px solid var(--border);margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.notification-group-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0}.notification-group-description{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.notification-list{display:flex;flex-direction:column}.notification-preference-item{align-items:center;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-4);transition:all var(--transition-base)}.notification-preference-item:hover{background:var(--surface-hover);border-color:var(--primary-300);box-shadow:var(--shadow-sm)}.notification-preference-info{flex:1 1}.notification-preference-title{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium);margin-bottom:var(--space-1)}.notification-preference-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.toggle-switch{display:inline-block;flex-shrink:0;height:28px;position:relative;width:52px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:var(--neutral-300);border-radius:34px;bottom:0;box-shadow:inset 0 1px 3px #0000001a;cursor:pointer;left:0;right:0;top:0}.toggle-slider,.toggle-slider:before{position:absolute;transition:all var(--transition-base)}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;content:"";height:22px;left:3px;width:22px}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,var(--primary-500) 0,var(--primary-600) 100%);box-shadow:inset 0 1px 3px #0003,0 0 0 3px #06b0d833,0 4px 12px #06b0d84d}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-switch input:focus+.toggle-slider{box-shadow:inset 0 1px 3px #0000001a,0 0 0 3px #06b0d833}.toggle-switch:hover .toggle-slider{box-shadow:inset 0 1px 3px #0000001a,0 0 0 3px #06b0d826}.toggle-switch:hover input:checked+.toggle-slider{box-shadow:inset 0 1px 3px #0003,0 0 0 3px #06b0d840,0 4px 12px #06b0d866}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.settings-actions{border-top:1px solid var(--border);display:flex;justify-content:flex-end;margin-top:var(--space-2);padding-top:var(--space-4)}.settings-save-btn{align-items:center;display:flex;font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;min-width:180px;padding:var(--space-3) var(--space-6)}.settings-save-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.settings-page{padding:var(--space-4) var(--space-3);padding-bottom:calc(var(--space-20) + env(safe-area-inset-bottom))}.settings-title{font-size:var(--text-3xl)}.settings-section{padding:var(--space-4)}.settings-section-title{font-size:var(--text-xl)}.settings-language-selector{grid-template-columns:1fr}.notification-preference-item{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.notification-preference-info{width:100%}.toggle-switch{align-self:flex-end}.settings-actions{justify-content:stretch}.settings-save-btn{width:100%}}@media (max-width:480px){.settings-page{padding:var(--space-3) var(--space-2)}.settings-header{margin-bottom:var(--space-6)}.settings-title{font-size:var(--text-2xl)}.settings-section{margin-bottom:var(--space-4)}.notification-preference-item,.settings-section{padding:var(--space-3)}.notification-preference-title{font-size:var(--text-sm)}.notification-preference-description{font-size:var(--text-xs)}.toggle-switch{height:24px;width:44px}.toggle-slider:before{height:18px;width:18px}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}}.theme-dark .settings-message-success{background:#14b8a626;border-color:#14b8a64d;color:var(--success-200)}.theme-dark .settings-message-error{background:#ef444426;border-color:#ef44444d;color:var(--error-500)}.theme-dark .toggle-slider{background-color:var(--neutral-600)}.theme-dark .toggle-slider:before{background-color:var(--neutral-200)}.notifications-page-list{display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:800px;padding:0 var(--space-4) var(--space-4)}.notification-page-item{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-4);position:relative;transition:all var(--transition-base)}.notification-page-item:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--border)}.notification-page-item:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.notification-page-item:only-child{border-radius:var(--radius-lg)}.notification-page-item:hover{background:var(--surface-hover)}.notification-page-item:active{transform:scale(.99)}.notification-page-item.unread{background:var(--neutral-800)}.notification-page-item.unread:hover{background:var(--neutral-600)}.theme-dark .notification-page-item.unread{background:#06b0d814}.theme-dark .notification-page-item.unread:hover{background:#06b0d81f}.notification-page-icon{align-items:center;background:var(--background);border-radius:var(--radius-full);display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;width:40px}.notification-page-content{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1);min-width:0}.notification-page-header{align-items:flex-start;display:flex;gap:var(--space-2);justify-content:space-between}.notification-page-title{color:var(--text-primary);flex:1 1;font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.notification-page-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-2)}.notification-page-time{color:var(--text-tertiary);font-size:var(--text-xs);white-space:nowrap}.notification-delete-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);color:var(--text-tertiary);cursor:pointer;display:flex;font-size:20px;height:28px;justify-content:center;line-height:1;opacity:0;transition:all var(--transition-base);width:28px}.notification-page-item:hover .notification-delete-btn{opacity:1}.notification-delete-btn:hover{background:var(--error-100);color:var(--error-500)}.notification-delete-btn:active{transform:scale(.9)}.theme-dark .notification-delete-btn:hover{background:#ef444433;color:var(--error-500)}.notification-page-message{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.notification-page-date{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:2px}.notification-page-meta{align-items:flex-end;display:flex;flex-direction:column;gap:var(--space-1);min-width:60px}.notification-page-unread-indicator{background:var(--primary-500);border-radius:var(--radius-full);box-shadow:0 0 0 3px var(--primary-100);height:8px;width:8px}.theme-dark .notification-page-unread-indicator{box-shadow:0 0 0 3px #06b0d833}@media (max-width:640px){.notifications-page-list{padding:0 0 var(--space-4)}.notification-page-item{gap:var(--space-2);padding:var(--space-3)}.notification-page-item:first-child{border-radius:0;border-top:none}.notification-page-item:last-child,.notification-page-item:only-child{border-radius:0}.notification-page-icon{font-size:1rem;height:32px;width:32px}.notification-page-title{font-size:13px}.notification-page-message{font-size:12px}.notification-page-date,.notification-page-time{font-size:11px}.notification-delete-btn{height:32px;opacity:1;width:32px}.notification-page-unread-indicator{height:6px;width:6px}.page-header .btn-primary{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between}.page-header h1{color:var(--text-primary);flex:1 1;font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0}.back-button{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.back-button:hover{background:var(--primary-50);border-color:var(--primary-200);color:var(--primary-600)}.back-button:active{transform:scale(.95)}.theme-dark .back-button:hover{background:#06b0d81a;border-color:#06b0d84d;color:var(--primary-300)}.empty-state,.error-message{align-items:center;display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;padding:var(--space-12) var(--space-4);text-align:center}.empty-icon{font-size:4rem;opacity:.3}.error-icon{font-size:3rem}.empty-state h2{color:var(--text-secondary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0}.empty-state p{color:var(--text-tertiary);margin:0}.theme-dark .error-message{color:var(--error-500)}.confirm_delete_notification{display:none}@media (max-width:640px){.notifications-page-list{gap:0;margin:var(--space-3)}.notification-page-item{margin-bottom:var(--space-2);padding:var(--space-4)}.notification-page-icon{font-size:1.25rem;height:40px;width:40px}.notification-page-title{font-size:var(--text-sm)}.notification-page-message{font-size:var(--text-xs)}.notification-delete-btn{opacity:1}.page-header{padding:var(--space-3)}.page-header h1{font-size:var(--text-xl)}}@media (prefers-reduced-motion:reduce){.back-button,.notification-page-item,.notification-page-item:hover{transition-duration:.01ms}}.back-button:focus-visible,.notification-delete-btn:focus-visible,.notification-page-item:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.push-permission-container{margin-top:var(--space-4)}.push-permission-status{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);padding:var(--space-4)}.push-permission-status.push-enabled{background:rgba(var(--success-rgb),.1);border-color:var(--success-color)}.push-permission-status.push-denied{background:rgba(var(--danger-rgb),.1);border-color:var(--danger-color)}.push-status-icon{align-items:center;background:var(--bg-primary);border-radius:50%;display:flex;flex-shrink:0;font-size:2rem;height:48px;justify-content:center;width:48px}.push-enabled .push-status-icon{background:var(--success-500);color:#fff}.push-denied .push-status-icon{background:var(--error-500);color:#fff}.push-status-title{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.push-status-description{color:var(--text-secondary);font-size:var(--text-sm)}.push-permission-action{padding:var(--space-6) var(--space-4);text-align:center}.push-enable-button{font-size:var(--text-base);font-weight:var(--font-semibold);min-width:200px;padding:var(--space-3) var(--space-6)}.push-enable-hint{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-3)}@media (max-width:480px){.push-permission-status{flex-direction:column;padding:var(--space-3);text-align:center}.push-enable-button{min-width:0;min-width:auto;width:100%}}.challenges-page{background:var(--background);min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom, 0))}.challenges-page .page-hero{color:var(--text-primary);overflow:hidden;padding:var(--space-8) var(--space-4) var(--space-6);position:relative}.challenges-page .page-hero h1{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0;position:relative;z-index:1}.challenges-page .page-hero .hero-subtitle{font-size:var(--text-base);opacity:.9;position:relative;z-index:1}.challenges-stats{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);margin-top:calc(var(--space-6)*-1);padding:var(--space-4);position:relative;z-index:2}.challenges-stats .stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);overflow:hidden;padding:var(--space-5);position:relative;text-align:center;transition:all var(--transition-base)}.challenges-stats .stat-card:before{background:linear-gradient(90deg,var(--primary-500),var(--accent-500));content:"";height:3px;left:0;position:absolute;right:0;top:0}.challenges-stats .stat-card:active{transform:scale(.95)}.challenges-stats .stat-value{color:var(--primary-500);display:block;font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.challenges-stats .stat-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.challenges-filters{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:0 var(--space-4) var(--space-4);scrollbar-width:none}.challenges-filters::-webkit-scrollbar{display:none}.filter-btn{flex-shrink:0;font-weight:var(--font-semibold)}.filter-btn.active{background:linear-gradient(135deg,var(--primary-500),var(--accent-500));border-color:#0000;box-shadow:0 4px 12px #06b0d84d}.challenges-grid{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-4) var(--space-4)}.challenge-card{border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);color:inherit;display:block;padding:var(--space-5)}.challenge-card:before{background:linear-gradient(90deg,var(--primary-500),var(--accent-500));content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.challenge-card:active:before{transform:scaleX(1)}.challenge-card.challenge-resolved{opacity:.7}.challenge-card-header{align-items:flex-start;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3)}.challenge-card-title{color:var(--text-primary);flex:1 1;font-size:var(--text-xl)}.status-badge{flex-shrink:0;font-size:var(--text-xs);letter-spacing:.05em;padding:var(--space-1) var(--space-3)}.status-badge.status-open{background:linear-gradient(135deg,var(--success-500),var(--success-600));box-shadow:0 2px 8px #14b8a64d;color:#fff}.status-badge.status-closed{background:linear-gradient(135deg,var(--warning-500),var(--warning-600));box-shadow:var(--shadow-warm);color:#fff}.status-badge.status-resolved{background:var(--neutral-200);color:var(--neutral-700)}.challenge-card-description{line-height:1.6;margin-bottom:var(--space-4);text-overflow:ellipsis}.challenge-card-meta{grid-gap:var(--space-3);background:var(--background-secondary);border-radius:var(--radius-xl);display:grid;gap:var(--space-3);grid-template-columns:repeat(3,1fr);margin-bottom:var(--space-4);padding:var(--space-4)}.challenge-meta-item{display:flex;flex-direction:column;gap:var(--space-1);text-align:center}.challenge-meta-label{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--font-medium)}.challenge-meta-value{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold)}.challenge-points-highlight{color:var(--primary-500);font-weight:var(--font-extrabold)}.challenge-card-footer{border-top:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-sm);padding-top:var(--space-3)}.challenge-organizer{align-items:center;font-weight:var(--font-medium);gap:var(--space-2)}.challenge-organizer:before{content:"👤";font-size:var(--text-base)}.challenge-deadline-expired{color:var(--error-500);font-weight:var(--font-bold)}.challenge-card-badge{align-items:center;background:linear-gradient(135deg,var(--success-500),var(--success-600));border-radius:var(--radius-full);box-shadow:0 4px 12px #14b8a666;color:#fff;display:flex;font-size:var(--text-xs);font-weight:var(--font-bold);gap:var(--space-1);padding:var(--space-2) var(--space-3);position:absolute;right:var(--space-4);top:var(--space-4)}.challenge-card-badge:before{content:"✓"}.empty-state{padding:var(--space-12) var(--space-4)}.empty-state p{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-6)}.challenges-page .fab{align-items:center;background:linear-gradient(135deg,var(--primary-500),var(--accent-500));border:none;border-radius:var(--radius-full);bottom:calc(76px + var(--space-4) + env(safe-area-inset-bottom, 0));box-shadow:0 8px 24px #06b0d866;color:#fff;cursor:pointer;display:flex;font-size:var(--text-3xl);height:64px;justify-content:center;position:fixed;right:var(--space-4);transition:all var(--transition-base);width:64px;z-index:100}.challenges-page .fab:active{transform:scale(.9)}.challenge-detail-page{background:var(--background);min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom, 0))}.btn-back{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--text-sm);margin:var(--space-4);padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.btn-back:active{background:var(--surface-hover);transform:scale(.95)}.challenge-detail-page .page-title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0;padding:0 var(--space-4) var(--space-4)}.challenge-status-bar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);display:flex;flex-direction:column;gap:var(--space-3);margin:0 var(--space-4) var(--space-6);padding:var(--space-5)}.status-item{align-items:center;display:flex;font-size:var(--text-sm);gap:var(--space-2)}.status-label{color:var(--text-secondary);font-weight:var(--font-medium)}.status-value{color:var(--text-primary);flex:1 1;font-weight:var(--font-semibold);text-align:right}.challenge-description{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin:0 var(--space-4) var(--space-6);padding:var(--space-5)}.challenge-description h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0}.challenge-description p{color:var(--text-secondary);line-height:1.7;margin:0}.challenge-info-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);padding:0 var(--space-4) var(--space-6)}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:var(--space-5);text-align:center;transition:all var(--transition-base)}.info-card:active{transform:scale(.95)}.info-label{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;margin-bottom:var(--space-2);text-transform:uppercase}.info-value{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold)}.challenge-options{padding:0 var(--space-4) var(--space-6)}.challenge-options h3{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 var(--space-4) 0}.options-grid{display:flex;flex-direction:column;gap:var(--space-3)}.option-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-2xl);overflow:hidden;padding:var(--space-5);position:relative;transition:all var(--transition-base)}.option-card:before{background:linear-gradient(180deg,var(--primary-500),var(--accent-500));content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--transition-base);width:6px}.option-card:active{transform:scale(.98)}.option-card:active:before{opacity:1}.option-card.option-winning{background:linear-gradient(135deg,#14b8a61a,#0f766e0d);border-color:var(--success-500)}.option-card.option-winning:before{background:linear-gradient(180deg,var(--success-500),var(--success-600));opacity:1}.option-card.option-selected{background:linear-gradient(135deg,#06b0d81a,#088db50d);border-color:var(--primary-500)}.option-card.option-selected:before{opacity:1}.option-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.option-title{color:var(--text-primary);flex:1 1;font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.winning-badge{align-items:center;background:linear-gradient(135deg,var(--success-500),var(--success-600));border-radius:var(--radius-full);color:#fff;display:flex;font-size:var(--text-xs);font-weight:var(--font-bold);gap:var(--space-1);padding:var(--space-1) var(--space-3)}.winning-badge:before{content:"🏆"}.selected-badge{align-items:center;background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-full);color:#fff;display:flex;font-size:var(--text-xs);font-weight:var(--font-bold);gap:var(--space-1);padding:var(--space-1) var(--space-3)}.selected-badge:before{content:"✓"}.option-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--space-3)}.option-footer{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding-top:var(--space-3)}.option-participants{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.challenge-actions{display:flex;flex-direction:column;gap:var(--space-3);padding:0 var(--space-4) var(--space-6)}.btn-large{border:none;border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);cursor:pointer;font-size:var(--text-lg);font-weight:var(--font-bold);padding:var(--space-4) var(--space-6);transition:all var(--transition-base)}.btn-large:active{transform:scale(.97)}.participation-notice{background:linear-gradient(135deg,#06b0d826,#ff6b4a1a);border:2px solid var(--primary-400);border-radius:var(--radius-2xl);padding:var(--space-5);text-align:center}.participation-notice p{color:var(--text-primary);font-weight:var(--font-semibold);margin:0}.participation-detail{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-2)!important}.challenge-detail-sidebar{padding:0 var(--space-4) var(--space-6)}.sidebar-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:var(--space-5)}.sidebar-section h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-4) 0}.participants-list{-webkit-overflow-scrolling:touch;max-height:400px;overflow-y:auto}.participant-item{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--space-3) 0}.participant-item:last-child{border-bottom:none}.participant-info{display:flex;flex-direction:column;gap:var(--space-1)}.participant-name{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.participant-option{color:var(--text-secondary);font-size:var(--text-xs)}.participant-prize{color:var(--success-500);font-size:var(--text-sm);font-weight:var(--font-bold)}.empty-message{color:var(--text-tertiary);font-size:var(--text-sm);padding:var(--space-6) 0;text-align:center}.challenge-hero{background:linear-gradient(135deg,#92d63a1a,#84cc160d)}.challenge-hero .event-hero-content{align-items:flex-start;display:flex;flex-direction:column;gap:var(--space-3)}.event-info-item .challenge-points-highlight{color:var(--primary-500);font-weight:var(--font-bold)}.event-info-meta{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--space-1)}.challenge-options-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr}@media (min-width:640px){.challenge-options-grid{grid-template-columns:repeat(2,1fr)}}.challenge-option-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-2xl);display:flex;flex-direction:column;overflow:hidden;padding:var(--space-5);position:relative;transition:all var(--transition-base)}.challenge-option-card:before{background:linear-gradient(180deg,var(--primary-500),var(--primary-600));content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--transition-base);width:6px}.challenge-option-card:hover:before{opacity:.5}.challenge-option-card.option-winning{background:linear-gradient(135deg,#72ad281a,#5784230d);border-color:var(--success-500)}.challenge-option-card.option-winning:before{background:linear-gradient(180deg,var(--success-500),var(--success-600));opacity:1}.challenge-option-card.option-selected{background:linear-gradient(135deg,#92d63a1a,#84cc160d);border-color:var(--primary-500)}.challenge-option-card.option-selected:before{opacity:1}.challenge-option-card .option-header{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.challenge-option-card .option-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.challenge-option-card .option-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.challenge-option-card .option-description{color:var(--text-secondary);flex-grow:1;font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--space-3)}.challenge-option-card .option-footer{align-items:center;border-top:1px solid var(--border);display:flex;margin-top:auto;padding-top:var(--space-3)}.challenge-option-card .option-participants{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.challenge-participants-list{display:flex;flex-direction:column;gap:var(--space-3)}.challenge-participant-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);display:flex;justify-content:space-between;padding:var(--space-4);transition:all var(--transition-base)}.challenge-participant-item:hover{background:var(--surface-hover);transform:translateX(4px)}.challenge-participant-item .participant-main{align-items:center;display:flex;flex:1 1;gap:var(--space-3)}.challenge-participant-item .participant-avatar{align-items:center;background:var(--gradient-primary);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:var(--text-lg);font-weight:var(--font-bold);height:44px;justify-content:center;width:44px}.challenge-participant-item .participant-details{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.challenge-participant-item .participant-name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.challenge-participant-item .participant-option-choice{color:var(--text-secondary);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challenge-participant-item .participant-prize{background:var(--gradient-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-primary);color:#fff;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-bold);padding:var(--space-2) var(--space-4)}@media (max-width:640px){.challenge-participant-item .participant-option-choice{max-width:150px}}.create-challenge-page{background:var(--background);min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom, 0))}.challenge-form{max-width:100%;padding:0 var(--space-4) var(--space-6)}.form-section{margin-bottom:var(--space-6);padding:var(--space-6)}.form-section h2{margin:0 0 var(--space-5) 0}.form-section-header{margin-bottom:var(--space-5)}.form-group{margin-top:var(--space-3)}.form-group input[type=datetime-local],.form-group input[type=number],.form-group input[type=text],.form-group textarea{-webkit-appearance:none;appearance:none;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--text-base);padding:var(--space-4);transition:all var(--transition-base);width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #06b0d81a;outline:none}.form-group input.error,.form-group textarea.error{border-color:var(--error-500)}.form-group textarea{font-family:var(--font-sans);min-height:120px;resize:vertical}.error-message{font-size:var(--text-xs);margin-top:var(--space-2)}.option-item{background:var(--background-secondary);border:1px solid var(--border);padding:var(--space-5)}.option-item-header{margin-bottom:var(--space-4)}.btn-remove{background:var(--error-50);font-size:var(--text-xl);height:36px;padding:var(--space-2);width:36px}.btn-remove:active{background:var(--error-500);color:#fff}.btn-small{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.btn-small:active{background:var(--surface-hover);transform:scale(.95)}.form-actions{grid-gap:var(--space-3);display:grid;grid-template-columns:1fr 1fr;margin-top:var(--space-6)}.form-actions button{border:none;border-radius:var(--radius-2xl);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-bold);padding:var(--space-4) var(--space-6);transition:all var(--transition-base)}.form-actions button:active{transform:scale(.95)}.modal-overlay{align-items:flex-end;animation:fadeIn .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0009;padding:0;z-index:1000}.modal{animation:slideUp .3s ease;background:var(--surface);border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;box-shadow:0 -8px 32px #0000004d;max-height:85vh;max-width:100%;overflow-y:auto;padding:var(--space-6);position:relative;width:100%}.modal:before{background:var(--border);border-radius:var(--radius-full);content:"";height:5px;left:50%;position:absolute;top:var(--space-3);transform:translateX(-50%);width:40px}.modal h2{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:var(--space-6) 0 var(--space-4) 0;text-align:center}.modal p{color:var(--text-secondary);line-height:1.6}.modal p,.modal-warning{margin-bottom:var(--space-5);text-align:center}.modal-warning{background:linear-gradient(135deg,rgba(var(--warm-500-rgb),.15),rgba(var(--warm-500-rgb),.1));border:1px solid var(--warning-500);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-4)}.modal-options{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.modal-option{align-items:flex-start;background:var(--background);border:2px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;display:flex;gap:var(--space-4);padding:var(--space-4);transition:all var(--transition-base)}.modal-option:active{background:linear-gradient(135deg,#06b0d80d,#ff6b4a08);border-color:var(--primary-500);transform:scale(.98)}.modal-option input[type=radio]{accent-color:var(--primary-500);cursor:pointer;height:20px;margin-top:var(--space-1);width:20px}.modal-option-content{flex:1 1}.modal-option-content strong{color:var(--text-primary);display:block;font-size:var(--text-base);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.modal-option-content p{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-2) 0;text-align:left}.modal-option-content small{color:var(--text-tertiary);display:block;font-size:var(--text-xs);text-align:left}.modal-actions{grid-gap:var(--space-3);display:grid;grid-template-columns:1fr 1fr}.modal-actions button{border:none;border-radius:var(--radius-2xl);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-bold);padding:var(--space-4);transition:all var(--transition-base)}.modal-actions button:active{transform:scale(.95)}.modal-actions button:disabled{cursor:not-allowed;opacity:.5}@media (min-width:768px){.challenges-stats{grid-template-columns:repeat(4,1fr);margin-top:calc(var(--space-8)*-1);padding:var(--space-6)}.challenge-actions,.challenge-description,.challenge-detail-page .page-title,.challenge-detail-sidebar,.challenge-form,.challenge-info-grid,.challenge-options,.challenge-status-bar,.challenges-grid{padding-left:var(--space-6);padding-right:var(--space-6)}.challenge-info-grid{grid-template-columns:repeat(4,1fr)}.form-row{grid-template-columns:repeat(2,1fr)}.modal{animation:scaleIn .3s ease;border-radius:var(--radius-3xl);max-width:600px;width:auto}.modal-overlay{align-items:center}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}}@supports (padding:max(0px)){.modal{padding-bottom:max(var(--space-6),env(safe-area-inset-bottom))}.challenges-page .fab{bottom:max(calc(76px + var(--space-4)),calc(76px + env(safe-area-inset-bottom)))}}.home-hero-section{background:var(--background);border-bottom:1px solid var(--border);padding:var(--space-4)}.home-user-profile-card{overflow:hidden;padding:var(--space-5);position:relative;transition:all var(--transition-base)}.home-profile-left{align-items:center;display:flex;gap:var(--space-4);margin-bottom:var(--space-5)}.home-profile-avatar{cursor:pointer;flex-shrink:0;transition:transform var(--transition-base)}.home-profile-avatar:hover{transform:scale(1.05)}.home-profile-info{flex:1 1;min-width:0}.home-profile-name{word-wrap:break-word;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold);line-height:1.2;margin:0 0 var(--space-1) 0}.home-profile-username{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-2) 0}.home-profile-rank-badge{align-items:center;background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-full);box-shadow:0 2px 8px #92d63a4d;color:#fff;display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-bold);justify-content:center;letter-spacing:.05em;padding:var(--space-1) var(--space-3)}.home-profile-rank-badge.rank-1{background:linear-gradient(135deg,gold,orange);box-shadow:0 2px 8px #ffd70066,0 0 16px #ffd70033}.home-profile-rank-badge.rank-2{background:linear-gradient(135deg,silver,#a8a8a8);box-shadow:0 2px 8px #c0c0c066,0 0 16px #c0c0c033}.home-profile-rank-badge.rank-3{background:linear-gradient(135deg,#cd7f32,#b87333);box-shadow:0 2px 8px #cd7f3266,0 0 16px #cd7f3233}.home-profile-stats-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);margin-bottom:var(--space-4)}@media (min-width:480px){.home-profile-stats-grid{grid-template-columns:repeat(3,1fr)}}.home-stat-compact{align-items:center;background:var(--background-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);padding:var(--space-3);transition:all var(--transition-base)}.home-stat-compact:hover{border-color:var(--primary-500);box-shadow:0 2px 8px #92d63a26;transform:translateY(-1px)}.home-stat-kudos{grid-column:span 2}@media (min-width:480px){.home-stat-kudos{grid-column:span 1}}.home-stat-icon{color:var(--primary-500);flex-shrink:0;height:32px;width:32px}.home-stat-content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.home-stat-value{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1}.home-stat-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.home-badges-preview{border-top:1px solid var(--border);padding-top:var(--space-4)}.home-badges-preview-title{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;margin-bottom:var(--space-3);text-transform:uppercase}.home-badges-preview-list,.home-badges-preview-title{align-items:center;display:flex;gap:var(--space-2)}.home-badge-mini{align-items:center;background:var(--background-secondary);border:2px solid var(--primary-500);border-radius:var(--radius-lg);box-shadow:0 2px 8px #92d63a33;display:flex;height:48px;justify-content:center;overflow:hidden;padding:var(--space-2);position:relative;transition:all var(--transition-base);width:48px}.home-badge-mini:before{background:linear-gradient(135deg,#92d63a1a,#14b8a61a);content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--transition-base)}.home-badge-mini:hover{box-shadow:0 4px 12px #92d63a4d;transform:translateY(-2px)}.home-badge-mini:hover:before{opacity:1}.home-badge-mini-img{filter:drop-shadow(0 1px 3px rgba(0,0,0,.2));height:100%;object-fit:contain;width:100%}.home-badge-more{align-items:center;background:var(--background-secondary);border:2px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);display:flex;font-size:var(--text-sm);font-weight:var(--font-bold);height:48px;justify-content:center;text-decoration:none;transition:all var(--transition-base);width:48px}.home-badge-more:hover{background:#92d63a0d;border-color:var(--primary-500);color:var(--primary-500);transform:translateY(-2px)}@media (min-width:640px){.home-hero-section{padding:var(--space-5)}.home-user-profile-card{padding:var(--space-6)}.home-profile-name{font-size:var(--text-2xl)}.home-profile-username{font-size:var(--text-base)}.home-badge-mini,.home-badge-more{height:56px;width:56px}}@media (min-width:1024px){.home-profile-stats-grid{grid-template-columns:repeat(3,minmax(0,220px))}}.stat-label{line-height:1.3;text-align:center}@media (hover:none) and (pointer:coarse){.stat-item:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:none}.stat-item:active{background:var(--background-secondary);border-color:var(--primary-400);transform:scale(.98)}.stat-item:hover .stat-icon{transform:none}}.stat-divider{background:#fff3;height:32px;width:1px}.quick-actions-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(3,1fr);padding:var(--space-2) 0}.quick-action-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);text-decoration:none;transition:all var(--transition-base)}.quick-action-btn:active{background:var(--surface-hover);transform:scale(.96)}.quick-action-icon{font-size:var(--text-2xl)}.quick-action-text{font-size:var(--text-xs);font-weight:var(--font-medium);text-align:center}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.view-all-link{color:var(--accent-500);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none}.horizontal-scroll-container{-webkit-overflow-scrolling:touch;display:flex;gap:var(--space-3);margin:0 calc(var(--space-4)*-1);overflow-x:auto;padding:0 var(--space-4) var(--space-2);scrollbar-width:none}.horizontal-scroll-container::-webkit-scrollbar{display:none}.event-card-compact{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);display:flex;gap:var(--space-3);padding:var(--space-3);text-decoration:none;transition:all var(--transition-base)}.event-card-compact:hover{background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.event-date,.event-date-badge{align-items:center;background:linear-gradient(135deg,var(--primary-100),var(--primary-200));border:2px solid var(--primary-300);border-radius:var(--radius-lg);display:flex;flex-direction:column;flex-shrink:0;height:56px;justify-content:center;min-width:56px;padding:var(--space-2)}.theme-dark .event-date,.theme-dark .event-date-badge{background:linear-gradient(135deg,#06b0d833,#06b0d84d);border-color:var(--primary-500)}.date-day,.event-day{color:var(--primary-700);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1}.theme-dark .date-day,.theme-dark .event-day{color:var(--primary-300)}.date-month,.event-month{color:var(--primary-600);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.theme-dark .date-month,.theme-dark .event-month{color:var(--primary-400)}.event-details h4,.event-info h3{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-details p,.event-info p{color:var(--text-secondary);font-size:var(--text-sm);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-info{flex:1 1;min-width:0}.transactions-list{display:flex;flex-direction:column;gap:var(--space-3)}.transaction-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);padding:var(--space-3)}.transaction-user-avatar{background:var(--neutral-200);border-radius:var(--radius-full);flex-shrink:0;height:40px;overflow:hidden;width:40px}.transaction-user-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{color:var(--neutral-100);font-weight:var(--font-bold)}.transaction-info{display:flex;flex:1 1;flex-direction:column}.transaction-desc{color:var(--text-primary);font-size:var(--text-sm)}.transaction-time{color:var(--text-tertiary);font-size:10px}.transaction-points{font-size:var(--text-sm);font-weight:var(--font-bold)}.transaction-points.positive{color:var(--success-500)}.transaction-points.negative{color:var(--error-500)}.events-list,.events-list-modern,.reviews-list{display:flex;flex-direction:column;gap:var(--space-3)}.events-list-modern{margin-bottom:var(--space-4)}.event-card-modern{align-items:stretch;background:var(--background-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:inherit;display:flex;gap:0;justify-content:space-between;overflow:hidden;padding:0;position:relative;text-decoration:none;transition:all var(--transition-base)}.event-card-modern:before{content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity var(--transition-base);width:100%}.theme-light .event-card-modern{border-color:#3a3a3a}.event-card-modern:hover{border-left-color:var(--primary-400);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.event-card-modern:hover:before{opacity:1}.event-card-icon-wrapper{align-items:center;background:linear-gradient(135deg,var(--primary-700) 0,var(--primary-600) 100%);border-radius:var(--radius-xl) 0 0 var(--radius-xl);display:flex;flex-direction:column;justify-content:center;min-width:80px;padding:var(--space-5);position:relative}.event-card-icon-wrapper:after{background:linear-gradient(180deg,#0000,#ffffff1a 50%,#0000);bottom:0;content:"";position:absolute;right:0;top:0;width:1px}.event-card-date-badge{align-items:center;color:#fff;display:flex;flex-direction:column;text-align:center}.event-card-date-month{color:var(--primary-200);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;margin-bottom:var(--space-1);text-transform:uppercase}.event-card-date-day{color:#fff;font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:1}.event-card-date-weekday{color:var(--primary-200);font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:var(--space-1)}.event-card-content{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0;padding:var(--space-4) var(--space-5)}.event-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:var(--text-lg);font-weight:var(--font-bold);line-height:1.3;margin:0 0 var(--space-2) 0;overflow:hidden}.event-card-subtitle{color:var(--text-secondary);font-weight:var(--font-medium);gap:var(--space-1);margin:0 0 var(--space-2) 0}.event-card-datetime,.event-card-subtitle{align-items:center;display:flex;font-size:var(--text-sm)}.event-card-datetime{color:var(--text-tertiary);flex-wrap:wrap;gap:var(--space-2)}.event-card-time{align-items:center;color:var(--primary-400);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-1)}.event-card-action-wrapper{align-items:center;display:flex;padding:var(--space-4)}.event-card-view-btn{background:var(--primary-500);border:none;border-radius:var(--radius-full);box-shadow:0 2px 8px #a3d84733;color:var(--neutral-50);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-5);text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.event-card-view-btn:hover{background:var(--primary-400);box-shadow:0 4px 12px #a3d8474d;transform:translateY(-2px)}.event-card-view-btn:active{transform:translateY(0)}.view-all-upcoming-link{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--primary-500);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);margin:var(--space-5) 0 0 auto;padding:var(--space-3) var(--space-4);position:relative;text-decoration:none;transition:all var(--transition-base);width:-webkit-fit-content;width:fit-content}.view-all-upcoming-link:after{content:"→";display:inline-block;font-size:var(--text-base);transition:transform var(--transition-base)}.view-all-upcoming-link:hover{background:rgba(var(--primary-500-rgb),.08);color:var(--primary-400)}.view-all-upcoming-link:hover:after{transform:translateX(4px)}.view-all-upcoming-link:active{background:rgba(var(--primary-500-rgb),.12)}@media (max-width:768px){.view-all-upcoming-link{background:rgba(var(--primary-500-rgb),.06);border:1px solid rgba(var(--primary-500-rgb),.15);font-size:var(--text-base);justify-content:center;margin:var(--space-4) 0 0 0;padding:var(--space-3) var(--space-4);width:100%}.view-all-upcoming-link:after{font-size:var(--text-lg)}}@media (max-width:480px){.view-all-upcoming-link{min-height:44px}}.challenges-list-home,.upcoming-events-title{margin-bottom:var(--space-4)}.challenges-list-home{display:flex;flex-direction:column;gap:var(--space-3)}.challenge-card-home{align-items:stretch;background:var(--background-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);display:flex;gap:0;justify-content:space-between;overflow:hidden;padding:0;position:relative;text-decoration:none;transition:all var(--transition-base)}.challenge-card-home:before{background:var(--background-secondary);content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity var(--transition-base);width:100%;z-index:-1}.challenge-card-home:hover{border-left-color:var(--primary-400);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.challenge-card-home:hover:before{opacity:1}.challenge-card-home-icon-wrapper{align-items:center;background:linear-gradient(135deg,var(--primary-600) 0,var(--primary-500) 100%);display:flex;flex-direction:column;justify-content:center;min-width:80px;padding:var(--space-4);position:relative}.challenge-card-home-badge{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff26;border-radius:var(--radius-xl);box-shadow:inset 0 1px 3px #ffffff4d;display:flex;height:48px;justify-content:center;width:48px}.challenge-card-home-content{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-4)}.challenge-card-home-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:var(--text-base);font-weight:var(--font-bold);line-height:1.4;margin:0;overflow:hidden}.challenge-card-home-stats{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:var(--space-2);line-height:1.2}.challenge-stat-item{align-items:center;display:flex;gap:4px;white-space:nowrap}.challenge-stat-item.highlight{color:var(--primary-500);font-weight:var(--font-bold)}.challenge-stat-divider{color:var(--border);-webkit-user-select:none;user-select:none}.challenge-card-home-deadline{align-items:center;color:var(--text-tertiary);display:flex;font-size:11px;gap:4px;margin-top:2px}.challenge-card-home-action-wrapper{align-items:center;display:flex;justify-content:center;padding:var(--space-4)}.challenge-card-home-view-btn{background:var(--primary-500);border:none;border-radius:var(--radius-full);box-shadow:0 2px 8px #a3d84733;color:var(--neutral-50);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-5);transition:all var(--transition-base);white-space:nowrap}.challenge-card-home-view-btn:hover{background:var(--primary-400);box-shadow:0 4px 12px #a3d8474d;transform:translateY(-2px)}.challenge-card-home-view-btn.joined{color:#fff;cursor:default;pointer-events:none}.challenge-card-home-view-btn.joined,.challenge-card-home-view-btn.joined:hover{background:linear-gradient(135deg,var(--success-600),var(--success-700));box-shadow:0 2px 8px #72ad284d}.challenge-card-home-view-btn.joined:hover{transform:none}.review-card-compact{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);display:block;padding:var(--space-4);text-decoration:none;transition:all var(--transition-base)}.review-card-compact:hover{background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.review-header{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-2)}.review-rating{font-size:var(--text-base);line-height:1}.review-location{color:var(--text-primary);font-weight:var(--font-semibold);text-overflow:ellipsis;white-space:nowrap}.review-location,.review-text{font-size:var(--text-sm);overflow:hidden}.review-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;line-height:var(--leading-normal);margin:0 0 var(--space-2) 0}.review-author{color:var(--text-tertiary);font-size:var(--text-xs)}.review-author small{font-style:italic}.reviews-list-modern{display:flex;flex-direction:column;gap:var(--space-4)}.review-card-modern{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--text-primary);display:block;padding:var(--space-5);text-decoration:none;transition:all var(--transition-base)}.review-card-modern:hover{background:var(--surface-hover);border-color:var(--primary-600);box-shadow:var(--shadow-md);transform:translateY(-2px)}.review-card-header{justify-content:space-between;margin-bottom:var(--space-4)}.review-avatar-wrapper,.review-card-header{align-items:flex-start;display:flex;gap:var(--space-3)}.review-avatar-wrapper{flex:1 1;min-width:0}.review-avatar{align-items:center;border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:var(--text-lg);font-weight:var(--font-bold);height:48px;justify-content:center;width:48px}.review-user-info{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1);min-width:0}.review-username{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:1.4}.review-location-link{align-items:center;color:var(--primary-400);display:flex;font-size:var(--text-sm);gap:var(--space-1);line-height:1.4}.review-location-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-timestamp{color:var(--text-tertiary);flex-shrink:0;font-size:var(--text-sm);white-space:nowrap}.review-rating-stars{display:flex;gap:var(--space-1);margin-bottom:var(--space-3)}.review-content-text{color:var(--text-secondary);font-size:var(--text-base);font-style:italic;line-height:1.6;margin:0}@media (max-width:640px){.review-card-modern{padding:var(--space-4)}.review-avatar{height:40px;width:40px}.review-avatar,.review-username{font-size:var(--text-base)}.review-timestamp{font-size:var(--text-xs)}.review-content-text{font-size:var(--text-sm)}}.empty-state-compact{color:var(--text-tertiary);font-size:var(--text-sm);padding:var(--space-6) var(--space-4);text-align:center}.empty-state-compact p{margin:0}.challenges-filters-container{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:var(--space-4);scrollbar-width:none}.challenges-filters-container::-webkit-scrollbar{display:none}.challenges-filters{display:flex;gap:var(--space-2)}.filter-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:all var(--transition-base);white-space:nowrap}.filter-chip.active{background:var(--primary-800);border-color:var(--primary-800);color:#fff}.challenges-list{gap:var(--space-3);padding:0 var(--space-4) var(--space-4)}.challenge-card,.challenges-list{display:flex;flex-direction:column}.challenge-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);gap:var(--space-4);overflow:hidden;padding:var(--space-4);position:relative;text-decoration:none;transition:all var(--transition-base)}.challenge-card:active{transform:scale(.98)}.challenge-card-header{display:flex;flex-direction:column;gap:var(--space-2)}.challenge-header-top{align-items:flex-start;display:flex;gap:var(--space-2);justify-content:space-between}.challenge-card-title{font-size:var(--text-lg);font-weight:var(--font-bold);line-height:1.3;margin:0}.challenge-card-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:var(--text-sm);line-height:1.5;margin:0;overflow:hidden}.challenge-card-stats{align-items:center;border-radius:var(--radius-lg);display:flex;padding:var(--space-3)}.challenge-stat{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:2px}.challenge-stat-label{color:var(--text-tertiary);font-size:10px;font-weight:var(--font-bold);text-transform:uppercase}.challenge-stat-value{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold)}.challenge-stat-value.highlight{color:var(--accent-500)}.challenge-stat-divider{background:var(--border);height:24px;width:1px}.challenge-card-footer{align-items:center;display:flex;font-size:var(--text-xs);justify-content:space-between}.challenge-organizer{color:var(--text-secondary);display:flex;gap:var(--space-1)}.organizer-label{color:var(--text-tertiary)}.challenge-deadline,.organizer-name{font-weight:var(--font-medium)}.challenge-deadline{color:var(--text-tertiary)}.challenge-deadline.expired{color:var(--error-500)}.challenge-participated-badge{background:var(--success-500);border-bottom-left-radius:var(--radius-lg);color:#fff;font-size:10px;font-weight:var(--font-bold);padding:4px 8px;position:absolute;right:0;top:0}.status-badge{border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-bold);padding:2px 8px;text-transform:uppercase}.status-open{background:var(--success-500);color:#fff}.status-closed{background:var(--neutral-500);color:#fff}.status-resolved{background:var(--accent-500);color:#fff}.auth-page{align-items:center;background:var(--background);display:flex;justify-content:center;min-height:100vh;padding:var(--space-4)}.auth-container{animation:slideUp .4s cubic-bezier(.16,1,.3,1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:400px;padding:var(--space-6);width:100%}.auth-header{margin-bottom:var(--space-6);text-align:center}.auth-logo{height:64px;margin-bottom:var(--space-4);width:64px}.auth-header h1{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.auth-header p{color:var(--text-secondary);font-size:var(--text-base)}.auth-error{background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);color:var(--error-500);font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3);text-align:center}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-label-group{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-2)}.forgot-password-link{color:var(--primary-500);font-size:var(--text-xs);font-weight:var(--font-medium);text-decoration:none}.forgot-password-link:hover{text-decoration:underline}.auth-footer{border-top:1px solid var(--border);margin-top:var(--space-6);padding-top:var(--space-6);text-align:center}.auth-footer p{color:var(--text-secondary);font-size:var(--text-sm)}.auth-link{color:var(--primary-600);font-weight:var(--font-semibold);text-decoration:none;transition:color var(--transition-base)}.auth-link:hover{color:var(--primary-700);text-decoration:underline}.kudos-balance-card{align-items:center;background:linear-gradient(135deg,var(--primary-500) 0,var(--primary-600) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:#fff;display:flex;gap:var(--space-4);margin-bottom:var(--space-2);padding:var(--space-4)}.kudos-balance-icon{align-items:center;background:#fff3;border-radius:var(--radius-lg);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.kudos-balance-info{flex:1 1}.kudos-balance-label{font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-1);opacity:.9}.kudos-balance-value{font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1}.users-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr}@media (min-width:640px){.users-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.users-grid{grid-template-columns:repeat(3,1fr)}}.user-card-modern{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-3);overflow:hidden;padding:var(--space-4);position:relative;transition:all var(--transition-base)}.user-card-modern:before{background:linear-gradient(90deg,var(--primary-500),var(--primary-600));content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.user-card-modern:hover{border-color:var(--primary-300);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.user-card-modern:hover:before{transform:scaleX(1)}.user-card-modern:active{transform:translateY(-2px) scale(.98)}.user-card-avatar{flex-shrink:0}.user-card-content{flex:1 1;text-align:center;width:100%}.user-card-username{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold);margin-bottom:var(--space-1);word-break:break-word}.user-card-mood{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2);justify-content:center;margin-bottom:var(--space-2)}.user-card-mood .mood-emoji{font-size:var(--text-lg);line-height:1}.user-card-mood .mood-name{color:var(--text-primary);font-weight:var(--font-medium);text-transform:capitalize}.user-card-mood .mood-unknown{color:var(--text-tertiary);font-size:var(--text-xs);font-style:italic}.user-card-bio{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:var(--text-sm);line-height:1.4;margin-bottom:var(--space-2);overflow:hidden}.user-card-stats{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-2)}.user-stat{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2)}.user-stat svg{color:var(--primary-500);flex-shrink:0}.user-card-actions{display:flex;gap:var(--space-2);width:100%}.user-card-actions .btn{align-items:center;display:flex;flex:1 1;justify-content:center}@media (max-width:640px){.kudos-balance-card{padding:var(--space-3)}.kudos-balance-icon{height:40px;width:40px}.kudos-balance-value{font-size:var(--text-xl)}.user-card-modern{padding:var(--space-3)}}.home-mood-display{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:var(--space-2);padding:var(--space-3)}.home-mood-emoji{font-size:1.5rem}.home-mood-text{color:var(--text-secondary);flex:1 1;font-size:var(--text-base);text-transform:capitalize}.home-mood-change-btn{background:#0000;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);transition:all .2s}.home-mood-change-btn:hover{background:var(--background);color:var(--text-primary)}.profile-mood-display{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-sm);gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3)}.profile-mood-emoji{font-size:1.25rem;line-height:1}.profile-mood-label{color:var(--text-secondary);text-transform:capitalize}.support-form{margin:0 auto;max-width:768px;padding:var(--space-4)}.form-description{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-4)}.success-message{align-items:center;background:var(--success-100);border-radius:var(--radius-lg);color:var(--success-700);display:flex;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3)}.screenshot-upload-section{margin-top:var(--space-4)}.screenshot-previews{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-bottom:var(--space-3)}.screenshot-preview{aspect-ratio:1;border:2px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;position:relative}.screenshot-preview img{height:100%;object-fit:cover;width:100%}.screenshot-preview-remove{align-items:center;background:var(--error-500);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;position:absolute;right:var(--space-1);top:var(--space-1);width:24px}.screenshot-preview-remove:hover{background:var(--error-600)}.btn-secondary{background:var(--background-secondary)}.btn-secondary:hover{background:var(--background-tertiary)}.markdown-content{line-height:1.6;margin:0 auto;max-width:768px;padding:var(--space-4)}.markdown-content h1{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-4);margin-top:var(--space-8)}.markdown-content h2{border-bottom:2px solid var(--border);font-size:var(--text-xl);margin-bottom:var(--space-3);margin-top:var(--space-6);padding-bottom:var(--space-2)}.markdown-content h2,.markdown-content h3{color:var(--text-primary);font-weight:var(--font-semibold)}.markdown-content h3{font-size:var(--text-lg);margin-bottom:var(--space-2);margin-top:var(--space-4)}.markdown-content ol,.markdown-content p,.markdown-content ul{color:var(--text-secondary);margin-bottom:var(--space-4)}.markdown-content ol,.markdown-content ul{padding-left:var(--space-6)}.markdown-content li{margin-bottom:var(--space-2)}.markdown-content code{background:var(--background-secondary);border-radius:var(--radius-sm);color:var(--text-primary);font-family:Courier New,monospace;font-size:var(--text-sm);padding:var(--space-1) var(--space-2)}.markdown-content pre{background:var(--background-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-4);overflow-x:auto;padding:var(--space-4)}.markdown-content pre code{background:#0000;padding:0}.markdown-content strong{color:var(--text-primary);font-weight:var(--font-semibold)}.markdown-content a{color:var(--primary-500);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content blockquote{border-left:4px solid var(--primary-500);color:var(--text-tertiary);font-style:italic;margin:var(--space-4) 0;padding-left:var(--space-4)}.changelog-container{margin:0 auto;max-width:768px;padding:var(--space-4)}.changelog-version{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-bottom:var(--space-4);padding:var(--space-5)}.changelog-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.changelog-version-info{align-items:center;display:flex;gap:var(--space-3)}.version-badge{border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-3)}.badge-major{background:var(--primary-100);color:var(--primary-700)}.badge-minor{background:#3b82f61a;color:#3b82f6}.badge-patch{background:var(--neutral-100);color:var(--neutral-700)}.theme-dark .badge-major{background:#94a54d33;color:var(--primary-400)}.theme-dark .badge-minor{background:#3b82f633;color:#60a5fa}.theme-dark .badge-patch{background:#9ca3af33;color:#d1d5db}.version-date{color:var(--text-tertiary);font-size:var(--text-sm)}.changelog-changes{display:flex;flex-direction:column;gap:var(--space-4)}.change-section-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-2);margin-bottom:var(--space-2)}.change-list{list-style:none;padding-left:var(--space-6)}.change-list li{color:var(--text-secondary);margin-bottom:var(--space-2);position:relative}.change-list li:before{color:var(--primary-500);content:"•";left:-12px;position:absolute}.loading-spinner{align-items:center;color:var(--text-tertiary);display:flex;justify-content:center;padding:var(--space-8)}.wishlists-list-modern{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-4) var(--space-8)}.wishlist-card-modern{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-4);padding:var(--space-5);transition:var(--transition-base)}.wishlist-card-modern:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.wishlist-card-icon-wrapper{align-items:center;background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-radius:var(--radius-lg);display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.wishlist-card-content{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2);min-width:0}.wishlist-card-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.wishlist-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:var(--text-sm);line-height:1.5;margin:0;overflow:hidden}.wishlist-card-meta{color:var(--text-tertiary);font-size:var(--text-sm)}.wishlist-card-actions,.wishlist-card-meta{align-items:center;display:flex;gap:var(--space-2)}.wishlist-card-actions{flex-direction:column;flex-shrink:0}.wishlist-action-btn{align-items:center;background:var(--surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:var(--transition-base);width:40px}.wishlist-action-btn:hover{background:var(--surface-tertiary);transform:scale(1.05)}.wishlist-action-star{color:var(--warning-500)}.wishlist-action-star:hover{background:var(--warning-50);border-color:var(--warning-200)}.wishlist-action-convert{color:var(--primary-500)}.wishlist-action-convert:hover{background:var(--primary-50);border-color:var(--primary-200)}.wishlist-action-edit{color:var(--accent-500)}.wishlist-action-edit:hover{background:var(--accent-50);border-color:var(--accent-200)}.wishlist-action-delete{color:var(--error-500)}.wishlist-action-delete:hover{background:var(--error-50);border-color:var(--error-200)}.wishlist-action-realize{color:var(--success-500)}.wishlist-action-realize:hover{background:var(--success-50);border-color:var(--success-200)}.wishlist-realized-badge{align-items:center;background:var(--success-50);border-radius:var(--radius-md);color:var(--success-700);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-medium);gap:4px;padding:4px 8px}.wishlist-star-count-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;margin:0;padding:0;transition:color var(--transition-base)}.wishlist-star-count-btn:hover{color:var(--warning-600);text-decoration:underline}.wishlist-stars-user-item{border-radius:var(--radius-md)}.wishlist-stars-user-item:hover{background-color:var(--surface-tertiary)}.wishlist-stars-user-item:active{background-color:var(--surface-quaternary)}@media (max-width:640px){.wishlist-card-modern{flex-direction:column;gap:var(--space-3)}.wishlist-card-icon-wrapper{align-self:flex-start}.wishlist-card-actions{flex-direction:row;justify-content:flex-end;width:100%}.wishlist-action-btn{height:44px;width:44px}}.event-media-gallery{background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:2rem;padding:1.5rem}.gallery-header h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem}.media-upload-section{background:var(--background-secondary);border:2px dashed var(--border-color);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.upload-restriction{color:var(--text-secondary);font-style:italic;padding:1rem;text-align:center}.upload-stats{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:1rem}.stat-item{gap:.5rem}.stat-label{color:var(--text-secondary);font-weight:500}.stat-value{font-size:1.1rem;font-weight:600}.upload-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.upload-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--primary-500);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;min-width:150px;padding:1rem;touch-action:manipulation;transition:all .3s ease;-webkit-user-select:none;user-select:none}.upload-btn:hover:not(:disabled){background:var(--primary-600);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.upload-btn:active:not(:disabled){transform:translateY(0)}.upload-btn:disabled{cursor:not-allowed;opacity:.5}.upload-media-btn{background:linear-gradient(135deg,var(--primary-500) 0,var(--primary-600) 100%);font-size:1.05rem;min-width:200px;padding:1.25rem}.upload-icon{font-size:1.5rem}.upload-progress-container{background:var(--background-primary);border-radius:8px;margin-top:1rem;max-height:300px;overflow-y:auto;padding:1rem}.upload-progress-item{background:var(--background-secondary);border-left:3px solid var(--border-color);border-radius:6px;margin-bottom:1rem;padding:.75rem;transition:all .3s ease}.upload-progress-item.status-processing{border-left-color:var(--primary-300)}.upload-progress-item.status-queued{border-left-color:var(--text-secondary)}.upload-progress-item.status-uploading{animation:pulse 2s ease-in-out infinite;border-left-color:var(--primary-500)}.upload-progress-item.status-completed{background:#10b9811a;background:var(--success-bg,#10b9811a);border-left-color:#10b981;border-left-color:var(--success-color,#10b981)}.upload-progress-item.status-failed{background:#ef44441a;background:var(--danger-bg,#ef44441a);border-left-color:#ef4444;border-left-color:var(--danger-color,#ef4444)}.upload-progress-item:last-child{margin-bottom:0}.progress-info{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.file-name{color:var(--text-primary);flex:1 1;font-size:.9rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-status{color:var(--primary-500);flex-shrink:0;font-size:.85rem;font-weight:600;white-space:nowrap}.upload-progress-item.status-completed .progress-status{color:#10b981;color:var(--success-color,#10b981)}.upload-progress-item.status-failed .progress-status{color:#ef4444;color:var(--danger-color,#ef4444)}.progress-bar{background:var(--border-color);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary-400),var(--primary-500));height:100%;overflow:hidden;position:relative;transition:width .3s ease}.progress-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.progress-error{background:#ef44441a;background:var(--danger-bg,#ef44441a);border-radius:4px;color:#ef4444;color:var(--danger-color,#ef4444);font-size:.8rem;margin-top:.5rem;padding:.5rem}.upload-queue-info{background:#3b82f61a;background:var(--info-bg,#3b82f61a);border:1px solid #3b82f64d;border:1px solid var(--info-border,#3b82f64d);border-radius:6px;margin-top:.75rem;padding:.75rem;text-align:center}.upload-queue-info p{color:#3b82f6;color:var(--info-text,#3b82f6);font-size:.85rem;font-weight:500;margin:0}.upload-hints{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.hint-text{color:var(--text-secondary);font-size:.85rem;margin:.25rem 0}.media-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:.5rem;margin-bottom:1.5rem}.media-tabs .tab{background:none;border:none;border-bottom:2px solid #0000;bottom:-2px;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;position:relative;transition:all .3s ease}.media-tabs .tab:hover{color:var(--text-primary)}.media-tabs .tab.active{border-bottom-color:var(--primary-500);color:var(--primary-500)}.media-loading,.no-media{color:var(--text-secondary);padding:3rem;text-align:center}.no-media-icon{display:block;font-size:4rem;margin-bottom:1rem;opacity:.5}.media-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}@media (max-width:768px){.media-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.media-item{aspect-ratio:1;background:var(--background-secondary);border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.media-item:hover{box-shadow:0 8px 16px #0003;transform:scale(1.05)}.media-thumbnail{height:100%;object-fit:cover;width:100%}.video-thumbnail{height:100%;position:relative;width:100%}.video-overlay{align-items:center;background:#0000004d;bottom:0;display:flex;flex-direction:column;gap:.5rem;justify-content:center;left:0;position:absolute;right:0;top:0}.play-icon{color:#fff;font-size:2.5rem;text-shadow:0 2px 4px #00000080}.duration{background:#000000b3;border-radius:4px;bottom:.5rem;font-size:.75rem;font-weight:600;padding:.25rem .5rem;right:.5rem}.duration,.media-info{color:#fff;position:absolute}.media-info{bottom:0;font-size:.8rem;left:0;padding:.5rem;right:0}.uploader{font-weight:500}.media-modal{align-items:center;animation:fadeIn .3s ease;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{gap:1rem;max-width:90vw;position:relative}.modal-close{align-items:center;background:var(--error-500);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;position:absolute;right:0;transition:background .3s ease;width:40px}.modal-close:hover{background:var(--error-300)}.modal-media{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative}.modal-media img,.modal-media video{border-radius:8px;max-height:70vh;max-width:100%;object-fit:contain}.media-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;bottom:0;display:flex;flex-direction:column;gap:1rem;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1}.media-loading-overlay .spinner{animation:spin 1s linear infinite;border:4px solid #fff3;border-radius:50%;border-top:4px solid var(--primary-500);height:48px;width:48px}.media-loading-overlay p{color:#fff;font-size:.9rem;margin:0}.modal-info{background:var(--card-background);border-radius:8px;color:var(--text-primary);padding:1rem}.modal-info p{font-size:.9rem;margin:.5rem 0}.modal-info strong{color:var(--text-secondary);margin-right:.5rem}.modal-actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem}.btn-delete-media,.btn-download-media{align-items:center;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;min-width:120px;padding:.625rem 1.25rem;transition:all .3s ease}.btn-download-media{background:var(--gradient-primary)}.btn-download-media:hover{box-shadow:var(--shadow-primary);transform:translateY(-2px)}.btn-delete-media{background:#ef4444;background:var(--danger-color,#ef4444)}.btn-delete-media:hover{background:#dc2626;box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}@media (max-width:768px){.event-media-gallery,.media-upload-section{padding:1rem}.upload-buttons{flex-direction:column}.upload-btn{font-size:1.1rem;min-height:60px;padding:1.5rem;touch-action:manipulation;width:100%}.upload-media-btn{min-width:100%;padding:1.5rem}.upload-icon{font-size:1.75rem}.upload-progress-container{max-height:250px}.progress-info{flex-wrap:wrap}.file-name{font-size:.85rem;max-width:100%}.progress-status,.upload-queue-info p{font-size:.8rem}.media-modal{padding:1rem}.modal-content{max-width:95vw}.modal-media img,.modal-media video{max-height:60vh}.modal-actions{flex-direction:column}.btn-delete-media,.btn-download-media{font-size:1rem;min-height:48px;width:100%}}.media-gallery-page{margin:0 auto;max-width:1400px;padding:0 1rem 1rem}.media-gallery-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 0}.media-gallery-header h1{color:var(--text-primary);font-size:2rem;margin:0}.media-gallery-filter-toggle{align-items:center;display:flex;font-size:1rem;gap:.5rem;padding:.75rem 1.25rem;position:relative}.filter-icon{font-size:1.2rem}.filter-badge{align-items:center;background:var(--primary-500);border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:1.5rem;justify-content:center;position:absolute;right:-.25rem;top:-.25rem;width:1.5rem}.media-gallery-filters{animation:slideDown .3s ease;background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.filters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.filter-group input[type=date],.filter-group select{background:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.75rem;transition:all .3s ease}.filter-group input[type=date]:focus,.filter-group select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(var(--primary-500-rgb),.1);outline:none}.media-gallery-clear-filters{margin-top:.5rem;padding:.75rem;width:100%}.media-gallery-stats{align-items:center;background:var(--card-background);border-radius:8px;color:var(--text-secondary);display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.media-gallery-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:2rem}@media (max-width:768px){.media-gallery-grid{gap:4px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.media-gallery-item{aspect-ratio:1;background:var(--background-secondary);border-radius:4px;cursor:pointer;overflow:hidden;position:relative;transition:opacity .2s ease}.media-gallery-item:hover{opacity:.85}.media-gallery-item:active{opacity:.7}.media-gallery-item-wrapper{height:100%;position:relative;width:100%}.media-gallery-item-wrapper img{display:block;height:100%;object-fit:cover;width:100%}.media-gallery-video-wrapper{height:100%;position:relative;width:100%}.media-gallery-video-wrapper img{height:100%;object-fit:cover;width:100%}.media-gallery-video-overlay{align-items:center;background:#0000004d;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.media-gallery-play-icon{color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));font-size:2rem;text-shadow:0 2px 4px #00000080}.media-gallery-duration{background:#000c;border-radius:4px;bottom:.5rem;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;position:absolute;right:.5rem}.media-gallery-item-info{bottom:0;left:0;opacity:0;padding:.5rem;position:absolute;right:0;transition:opacity .2s ease}.media-gallery-item:hover .media-gallery-item-info{opacity:1}.media-gallery-item-meta{display:flex;flex-direction:column;gap:.25rem}.media-gallery-item-event,.media-gallery-item-uploader{color:#fff;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #00000080;white-space:nowrap}.media-gallery-item-uploader{font-weight:600}.media-gallery-item-event{opacity:.9}.media-gallery-item-loading{animation:pulse 1.5s ease-in-out infinite;background:var(--background-secondary);font-size:2rem;height:100%;opacity:.5;width:100%}.media-gallery-item-loading,.media-viewer-overlay{align-items:center;display:flex;justify-content:center}.media-viewer-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000f2;bottom:0;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:10000}.media-viewer-container{display:flex;flex-direction:column;gap:1rem;max-height:90vh;max-width:90vw;position:relative}.media-viewer-close{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.75rem;height:48px;justify-content:center;position:absolute;right:0;top:-3rem;transition:all .2s ease;width:48px;z-index:10}.media-viewer-close:hover{background:#ffffff40;transform:scale(1.1)}.media-viewer-close:active{transform:scale(.95)}.media-viewer-content{align-items:center;background:#00000080;border-radius:12px;display:flex;flex:1 1;justify-content:center;overflow:hidden}.media-viewer-content img,.media-viewer-content video{border-radius:8px;max-height:75vh;max-width:100%;object-fit:contain}.media-viewer-info{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border-radius:12px;color:#fff;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.media-viewer-info-row{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.media-viewer-label{font-weight:600;min-width:80px;opacity:.8}.loading-more{color:var(--text-secondary);font-size:.875rem;padding:2rem;text-align:center}@media (max-width:768px){.media-gallery-page{padding:0 .5rem 1rem}.media-gallery-header{align-items:flex-start;flex-direction:column;gap:1rem}.media-gallery-header h1{font-size:1.5rem}.media-gallery-filter-toggle{justify-content:center;width:100%}.media-gallery-filters{padding:1rem}.filters-grid{grid-template-columns:1fr}.media-viewer-overlay{padding:1rem}.media-viewer-container{max-width:95vw}.media-viewer-close{font-size:1.5rem;height:40px;top:-2.5rem;width:40px}.media-viewer-content img,.media-viewer-content video{max-height:60vh}.media-viewer-info{padding:.75rem}.media-viewer-info-row{font-size:.8rem}.media-viewer-label{min-width:70px}}@supports (padding:max(0px)){.media-gallery-page{padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}}.immich-gallery-container{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.immich-gallery-header{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--background-primary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.immich-gallery-title{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.immich-filter-toggle{align-items:center;display:flex;gap:.5rem;position:relative}.immich-filter-badge{background:var(--primary-500);border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;min-width:18px;padding:2px 6px;position:absolute;right:-4px;text-align:center;top:-4px}.immich-filters-panel{animation:slideDown .2s ease;background:var(--card-background);border-bottom:1px solid var(--border-color);padding:1.5rem}.immich-filters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.immich-filter-item{display:flex;flex-direction:column;gap:.5rem}.immich-filter-item label{color:var(--text-secondary);font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.immich-filter-item input[type=date],.immich-filter-item select{background:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.9rem;padding:.625rem;transition:all .2s ease}.immich-filter-item input[type=date]:focus,.immich-filter-item select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(var(--primary-500-rgb),.1);outline:none}.immich-clear-filters{width:100%}.immich-timeline{padding:0}.immich-date-group{margin-bottom:2rem}.immich-date-header{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--background-primary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.5rem .75rem;position:-webkit-sticky;position:sticky;top:65px;z-index:50}.immich-date-label{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.immich-date-count{background:var(--background-secondary);border-radius:12px;color:var(--text-secondary);font-size:.875rem;padding:.25rem .625rem}.immich-gallery-grid{grid-gap:2px;background:var(--border-color);display:grid;gap:2px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:0}@media (min-width:640px){.immich-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (min-width:1024px){.immich-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (min-width:1280px){.immich-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.immich-gallery-item{background:var(--background-secondary);cursor:pointer;overflow:hidden;position:relative;transition:opacity .15s ease}.immich-gallery-item:hover{opacity:.85}.immich-gallery-item:active{opacity:.7}.immich-gallery-img{background:var(--background-secondary);display:block;height:100%;object-fit:contain;object-position:center;width:100%}.immich-video-overlay{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.immich-play-icon{filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));height:48px;pointer-events:none;width:48px}.immich-duration{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000bf;border-radius:4px;bottom:8px;color:#fff;font-size:.75rem;font-weight:600;padding:3px 6px;position:absolute;right:8px}.immich-gallery-skeleton{background:var(--background-secondary);height:100%;overflow:hidden;position:relative;width:100%}.skeleton-shimmer{animation:shimmer 1.5s infinite;height:100%;width:100%}.immich-loading,.immich-loading-more{color:var(--text-secondary);font-size:.9rem;padding:3rem 1rem;text-align:center}.immich-sentinel{height:1px}.immich-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:4rem 2rem}.immich-empty-state svg{color:var(--text-secondary);margin-bottom:1.5rem;opacity:.5}.immich-empty-text{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.immich-empty-hint{color:var(--text-secondary);font-size:.9rem;margin:0}.immich-lightbox{align-items:center;animation:fadeIn .2s ease;background:#000000fa;display:flex;inset:0;justify-content:center;padding:0;position:fixed;touch-action:pan-y;z-index:10000}.immich-lightbox-content{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.immich-lightbox-topbar{align-items:center;display:flex;justify-content:space-between;left:0;padding:1rem;position:absolute;right:0;top:0;z-index:20}.immich-lightbox-counter,.immich-lightbox-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.immich-lightbox-counter{background:#00000080;border-radius:20px;color:#fff;font-size:.9rem;font-weight:500;padding:.5rem .75rem}.immich-lightbox-actions{display:flex;gap:.5rem}.immich-lightbox-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.immich-lightbox-btn:hover{background:#ffffff40;transform:scale(1.05)}.immich-lightbox-btn:active{transform:scale(.95)}.immich-nav-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:56px;z-index:15}.immich-nav-btn:hover{background:#ffffff40;transform:translateY(-50%) scale(1.1)}.immich-nav-btn:active{transform:translateY(-50%) scale(.9)}.immich-nav-prev{left:1rem}.immich-nav-next{right:1rem}.immich-lightbox-media{-webkit-touch-callout:none;align-items:center;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:4rem 0 1rem;position:relative;user-select:none;-webkit-user-select:none}.immich-swipe-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;gap:0;perspective:1000px}.immich-slide,.immich-swipe-container{display:flex;height:100%;margin:0;padding:0;position:relative;width:100%}.immich-slide{align-items:center;flex-grow:0;flex-shrink:0;justify-content:center;min-width:100%;overflow:hidden}.immich-slide,.immich-slide img,.immich-slide video{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.immich-slide img,.immich-slide video{pointer-events:none}.immich-lightbox-media img,.immich-lightbox-media video{max-height:100%;max-width:100%;object-fit:contain}.immich-lightbox-loading{align-items:center;display:flex;justify-content:center}.immich-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff1a;border-radius:50%;border-top-color:#fff;height:48px;width:48px}.immich-lightbox-info{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#000c;border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.immich-info-row{align-items:center;color:#fff;display:flex;font-size:.9rem;gap:.75rem}.immich-info-row svg{flex-shrink:0;opacity:.7}@media (max-width:768px){.immich-gallery-header{padding:.75rem 1rem}.immich-gallery-title{font-size:1.25rem}.immich-filters-panel{padding:1rem}.immich-filters-grid{gap:.75rem;grid-template-columns:1fr}.immich-date-header{padding:.75rem 1rem .5rem}.immich-date-label{font-size:1rem}.immich-gallery-grid{gap:1px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.immich-play-icon{height:36px;width:36px}.immich-nav-btn{display:none}.immich-lightbox-topbar{padding:.75rem}.immich-lightbox-counter{font-size:.85rem;padding:.375rem .625rem}.immich-lightbox-btn{height:36px;width:36px}.immich-lightbox-btn svg{height:18px;width:18px}.immich-lightbox-media{padding:3.5rem .5rem .5rem}.immich-lightbox-info{padding:1rem}.immich-info-row{font-size:.85rem}}@media (min-width:769px){.immich-nav-btn{opacity:0;transition:opacity .2s ease,transform .2s ease}.immich-lightbox:hover .immich-nav-btn{opacity:1}}.theme-dark .immich-gallery-skeleton{background:#ffffff0d}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pageExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.event-card-modern,.location-card-modern,.user-card{transition:all .25s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.event-card-modern:hover,.location-card-modern:hover,.user-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.event-card-modern:active,.location-card-modern:active,.user-card:active{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn,button:not(.no-animation){position:relative;transition:all .2s ease}.btn:active,button:not(.no-animation):active{transform:scale(.96)}.btn:after,button:not(.no-animation):after{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn:active:after,button:not(.no-animation):active:after{height:300px;width:300px}.event-card-modern,.leaderboard-item,.location-card-modern,.user-item{animation:fadeInUp .4s cubic-bezier(.4,0,.2,1) backwards}.event-card-modern:first-child{animation-delay:50ms}.event-card-modern:nth-child(2){animation-delay:.1s}.event-card-modern:nth-child(3){animation-delay:.15s}.event-card-modern:nth-child(4){animation-delay:.2s}.event-card-modern:nth-child(5){animation-delay:.25s}.event-card-modern:nth-child(6){animation-delay:.3s}.location-card-modern:first-child{animation-delay:50ms}.location-card-modern:nth-child(2){animation-delay:.1s}.location-card-modern:nth-child(3){animation-delay:.15s}.modal-overlay{animation:fadeIn .25s ease}.modal-content{animation:scaleUp .3s cubic-bezier(.4,0,.2,1)}@keyframes scaleUp{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.toast{animation:slideInRight .3s cubic-bezier(.4,0,.2,1)}.toast.exiting{animation:slideOutRight .2s cubic-bezier(.4,0,1,1)}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(calc(100% + 20px))}}.loading-spinner,.spinner{animation:rotate .8s linear infinite}.new-badge,.notification-badge{animation:pulse 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.success-icon{animation:bounce .6s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.error,.error-message{animation:shake .5s ease-in-out}.sidebar-menu{transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-menu.open{transform:translateX(0)}:focus-visible{animation:focusRing .3s ease}@keyframes focusRing{0%{outline-color:#0000}to{outline-color:var(--primary-500)}}@keyframes staggerFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-hero{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1)}.page-hero h1{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) .1s backwards}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.btn:active,.event-card-modern:hover,.location-card-modern:hover,.user-card:hover,button:active{transform:none}}.btn,.event-card-modern,.location-card-modern,.modal-content{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;tap-highlight-color:#0000;font-size:16px;text-rendering:optimizeLegibility}body{background:var(--background);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);overflow-x:hidden}[role=button],[tabindex],a,button,input,select,textarea{-webkit-tap-highlight-color:transparent;tap-highlight-color:#0000}html{scroll-behavior:smooth}*{transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out,box-shadow .2s ease-in-out}:where(img,video,iframe,canvas,svg,[role=progressbar],.no-transition){transition:none!important}::selection{background-color:var(--primary-200);color:var(--primary-900)}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.page-loader{align-items:flex-start;background:var(--background);display:flex;justify-content:center;min-height:calc(100vh - 80px);padding:var(--space-8);width:100%}.page-loader-content{animation:fadeIn .2s ease-in-out;max-width:1200px;width:100%}.App{background:var(--background);display:flex;flex-direction:column;min-height:100vh}.navbar{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:var(--glass-bg);border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.navbar-content{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin:0 auto;max-width:1280px;padding:var(--space-4) var(--space-6)}.navbar-brand{color:var(--primary-600);font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:-.02em;text-decoration:none;transition:color var(--transition-fast)}.navbar-brand:hover{color:var(--primary-700)}.navbar-menu{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none}.navbar-link{border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);position:relative;text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.navbar-link:hover{background:var(--primary-50);color:var(--primary-600)}.navbar-link:active{transform:scale(.98)}.container{animation:fadeIn var(--transition-slow) ease-out;flex:1 1;margin:0 auto;max-width:1280px;padding:var(--space-8) var(--space-6)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);padding:var(--space-6);transition:all var(--transition-base)}.card-compact{padding:var(--space-4)}.card-spacious{padding:var(--space-8)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-interactive:active{transform:translateY(-2px) scale(.98)}.card-elevated{box-shadow:var(--shadow-lg)}.card-header{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:-.02em;margin-bottom:var(--space-4)}.card-image{background:linear-gradient(135deg,var(--neutral-200),var(--neutral-300));border-radius:var(--radius-xl) var(--radius-xl) 0 0;height:200px;margin:calc(var(--space-6)*-1) calc(var(--space-6)*-1) var(--space-4);object-fit:cover;width:100%}.card-compact .card-image{margin:calc(var(--space-4)*-1) calc(var(--space-4)*-1) var(--space-3)}.card-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.card-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}.card-footer{align-items:center;border-top:1px solid var(--border);display:flex;gap:var(--space-2);justify-content:space-between;margin-top:var(--space-4);padding-top:var(--space-4)}.form-group{margin-bottom:var(--space-5)}.form-label{color:var(--text-secondary);display:block;font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-2)}.form-input,.form-select,.form-textarea{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast);width:100%}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--neutral-300)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a;outline:none}.form-textarea{min-height:120px;resize:vertical}.btn{align-items:center;border:none;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;min-height:44px;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--accent-500);border:none;box-shadow:var(--shadow-md);color:var(--neutral-900)}.btn-primary:hover:not(:disabled){background:var(--accent-600);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary-500)}.btn-success{background:var(--success-500);color:#fff}.btn-success:hover:not(:disabled){background:var(--success-600)}.btn-danger:hover:not(:disabled){background:var(--error-500)}.btn-ghost{background:#0000;border:2px solid var(--border);color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--neutral-300)}.btn-sm{font-size:var(--text-sm);min-height:36px;padding:var(--space-2) var(--space-4)}.btn-lg{font-size:var(--text-lg);min-height:52px;padding:var(--space-4) var(--space-8)}.btn-gradient{background:linear-gradient(135deg,var(--primary-800),var(--primary-800));box-shadow:var(--shadow-lg);color:#fff}.btn-gradient:hover:not(:disabled){box-shadow:var(--shadow-xl);transform:translateY(-1px)}.btn-icon{align-items:center;border-radius:var(--radius-full);display:inline-flex;height:44px;justify-content:center;padding:0;width:44px}.btn-icon.btn-sm{height:36px;min-height:36px;width:36px}.btn-icon.btn-lg{height:52px;min-height:52px;width:52px}.grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-tight{gap:var(--space-3)}.grid-comfortable{gap:var(--space-4)}.grid-loose{gap:var(--space-8)}.grid-1{grid-template-columns:1fr}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-responsive{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr}@media (min-width:640px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-responsive{grid-template-columns:repeat(3,1fr)}}.list-item{border-bottom:1px solid var(--border);padding:var(--space-4);transition:background var(--transition-fast)}.list-item:last-child{border-bottom:none}.list-item:hover{background:var(--surface-hover)}.list-item a{color:inherit;display:block;text-decoration:none}.badge{align-items:center;background:var(--primary-100);border-radius:var(--radius-full);color:var(--primary-700);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-semibold);gap:var(--space-1);letter-spacing:.05em;padding:var(--space-1) var(--space-3);text-transform:uppercase}.filter-buttons{-ms-overflow-style:none;display:flex;gap:var(--space-3);overflow-x:auto;padding:var(--space-4);scrollbar-width:none}.filter-buttons::-webkit-scrollbar{display:none}.filter-btn{align-items:center;background:var(--surface);display:inline-flex;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-5)}.filter-btn:hover{background:var(--surface-hover);border-color:var(--primary-500)}.filter-btn:active{transform:scale(.95)}.badge-success{background:#10b9811a;color:var(--success-600)}.badge-warning{background:#f59e0b1a;color:var(--warning-600)}.badge-error{background:#ef44441a;color:var(--error-500)}.rating{color:var(--warning-500);letter-spacing:2px}.loading,.rating{font-size:var(--text-lg)}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;color:var(--text-tertiary);padding:var(--space-16);text-align:center}.error{background:var(--error-500)}.error,.success{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;font-weight:var(--font-medium);margin-bottom:var(--space-4);padding:var(--space-4)}.success{background:var(--success-500)}.empty-state{color:var(--text-secondary);flex-direction:column;min-height:400px;padding:var(--space-16) var(--space-4);text-align:center}.empty-state,.empty-state-icon{align-items:center;display:flex;justify-content:center}.empty-state-icon{background:var(--surface);border:3px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-md);font-size:var(--text-5xl);height:120px;margin-bottom:var(--space-6);width:120px}.empty-state-text{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.empty-state-hint{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-6)}.user-profile{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);display:flex;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-6)}.avatar,.user-avatar{align-items:center;background:var(--primary-500);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:#fff;display:flex;flex-shrink:0;font-size:var(--text-lg);font-weight:var(--font-bold);height:48px;justify-content:center;object-fit:cover;width:48px}.avatar-xs{font-size:var(--text-xs)}.avatar-sm{font-size:var(--text-sm)}.avatar-md{font-size:var(--text-lg)}.avatar-lg{box-shadow:var(--shadow-md);font-size:var(--text-3xl);height:80px;width:80px}.avatar-xl{box-shadow:var(--shadow-lg);font-size:var(--text-5xl);height:120px;width:120px}.user-info{flex:1 1;min-width:0}.user-info h2{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.user-info p{color:var(--text-secondary);font-size:var(--text-sm)}.user-stats{display:flex;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-4)}.stat-item{align-items:center;display:flex;flex-direction:column;gap:var(--space-1)}.location-stat .stat-value{text-align:left}.location-stat .stat-value,.stat-value{color:var(--primary-500);font-size:var(--text-2xl);font-weight:var(--font-bold)}.stat-value{text-align:center}.stat-label{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.location-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all var(--transition-base)}.location-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.location-card-image{background:linear-gradient(135deg,var(--neutral-200),var(--neutral-300));height:200px}.location-card-content{display:flex;flex:1 1;flex-direction:column;padding:var(--space-5)}.location-card-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.location-card-description{color:var(--text-secondary);flex:1 1;line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.location-card-footer{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-top:auto}table{border-collapse:collapse;font-size:var(--text-sm);width:100%}thead{background:var(--neutral-50);border-bottom:2px solid var(--border)}th{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;text-align:left;text-transform:uppercase}td,th{padding:var(--space-4)}td{border-bottom:1px solid var(--border);color:var(--text-primary)}tr:last-child td{border-bottom:none}tr:hover{background:var(--surface-hover)}@media (max-width:768px){html{font-size:14px}.navbar-content{flex-wrap:wrap;padding:var(--space-3) var(--space-4)}.navbar-menu{gap:var(--space-1)}.navbar-link{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}.card,.container{padding:var(--space-4)}.card{border-radius:var(--radius-lg)}.grid{gap:var(--space-4);grid-template-columns:1fr}.user-profile{flex-direction:column;padding:var(--space-5);text-align:center}.user-avatar{height:100px;width:100px}.btn,.user-stats{justify-content:center;width:100%}table{font-size:var(--text-xs)}td,th{padding:var(--space-3) var(--space-2)}}@media (max-width:480px){.navbar-brand{font-size:var(--text-lg)}.card-header{font-size:var(--text-xl)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease-out}.animate-slide-in{animation:slideIn var(--transition-base) ease-out}.animate-slide-up{animation:slideUp var(--transition-base) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.text-primary-color{color:var(--primary-500)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-success{color:var(--success-600)}.text-error{color:var(--error-500)}.text-warning{color:var(--warning-600)}.locations-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.locations-filters-container{padding:0 var(--space-4) var(--space-4)}.locations-filters{-webkit-overflow-scrolling:touch;display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none}.locations-filters::-webkit-scrollbar{display:none}.locations-list{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-4) var(--space-6)}.location-card-modern{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:all var(--transition-base)}.location-card-modern:active{box-shadow:var(--shadow-lg);transform:scale(.98)}.location-card-image-wrapper{height:180px;overflow:hidden;position:relative;width:100%}.location-card-image{height:100%;object-fit:cover;transition:transform var(--transition-base);width:100%}.location-card-modern:active .location-card-image{transform:scale(1.05)}.location-card-image-placeholder{align-items:center;background:linear-gradient(135deg,var(--neutral-100),var(--neutral-200));display:flex;font-size:64px;height:100%;justify-content:center;width:100%}.theme-dark .location-card-image-placeholder{background:linear-gradient(135deg,var(--neutral-800),var(--neutral-900))}.location-category-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.05em;padding:var(--space-2) var(--space-3);position:absolute;right:var(--space-3);text-transform:uppercase;top:var(--space-3)}.location-card-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.location-card-header{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between}.location-name-wrapper{align-items:flex-start;display:flex;flex:1 1;gap:var(--space-2);min-width:0}.location-card-name{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0}.location-rating-inline{align-items:center;display:flex;flex-shrink:0;gap:var(--space-1)}.location-rating-inline .rating-number{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.location-card-address-row{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.location-card-address{color:var(--text-secondary);flex:1 1;font-size:var(--text-sm);line-height:var(--leading-normal);min-width:0}.location-review-count-inline{align-items:center;color:var(--text-tertiary);display:flex;flex-shrink:0;font-size:var(--text-sm);gap:var(--space-1);white-space:nowrap}.location-card-description-modern{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:var(--text-sm);line-height:var(--leading-normal);margin:0;overflow:hidden}.location-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.location-tag{background:var(--primary-100);border-radius:var(--radius-full);color:var(--primary-600);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-3)}.theme-dark .location-tag{background:var(--primary-900);color:var(--primary-300)}.location-card-stats-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr;margin-top:var(--space-2)}.stats-column{display:flex;flex-direction:column;gap:var(--space-2)}.location-stat-item{align-items:center;display:flex;font-size:var(--text-sm);gap:var(--space-2)}.location-stat-item .stat-label{color:var(--text-secondary);font-weight:var(--font-medium)}.location-stat .stat-label{text-align:left}.location-stat-item .stat-value{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}@media (min-width:640px){.locations-list{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}.location-card-image-wrapper{height:200px}}@media (min-width:1024px){.locations-list{grid-template-columns:repeat(3,1fr)}}.create-challenge-page,.create-event-page{background:var(--background);min-height:100vh;padding-bottom:72px;padding-top:64px}.page-header{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--space-4);position:-webkit-sticky;position:sticky;top:64px;z-index:10}.btn-back{align-items:center;background:#0000;border:none;color:var(--primary-500);cursor:pointer;display:inline-flex;font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-2) 0;transition:color var(--transition-base)}.btn-back:active{color:var(--primary-700)}.page-title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0}.challenge-form,.create-event-form{margin:0 auto;max-width:768px;padding:var(--space-4)}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-bottom:var(--space-4);padding:var(--space-5)}.form-section h2{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 var(--space-4) 0}.form-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.form-section-header h2{margin:0}.form-group{margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--text-primary);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.form-group label:after{color:var(--error-500);content:attr(data-required);margin-left:var(--space-1)}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--error-500)}.form-hint{color:var(--text-tertiary);display:block;font-size:var(--text-xs);margin-top:var(--space-2)}.error-message{color:var(--error-500);display:block;font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-1)}.form-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr}@media (min-width:640px){.form-row{grid-template-columns:1fr 1fr}}.options-list{display:flex;flex-direction:column;gap:var(--space-4)}.option-item{background:var(--background);border:2px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-4);transition:all var(--transition-base)}.option-item:hover{border-color:var(--primary-300)}.option-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.option-item-header h3{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.btn-remove{align-items:center;background:var(--error-100);border:none;border-radius:var(--radius-full);color:var(--error-500);cursor:pointer;display:flex;font-size:var(--text-lg);height:32px;justify-content:center;transition:all var(--transition-base);width:32px}.btn-remove:active{background:var(--error-200);transform:scale(.9)}.theme-dark .btn-remove{background:#ef444433;color:var(--error-400)}.theme-dark .btn-remove:active{background:#ef44444d}.form-actions{display:flex;gap:var(--space-3);margin-bottom:30px;padding:var(--space-4)}.form-actions button{flex:1 1}@media (max-width:640px){.page-header{padding:var(--space-3)}.page-title{font-size:var(--text-xl)}.challenge-form,.create-event-form{padding:var(--space-3)}.form-section{padding:var(--space-4)}.form-section h2{font-size:var(--text-lg)}.form-actions{flex-direction:column}.form-actions button{width:100%}}.activity-list-modern{display:flex;flex-direction:column;gap:var(--space-3)}.activity-card-modern{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;transition:all var(--transition-base)}.activity-card-modern:hover{border-color:var(--primary-500);box-shadow:var(--shadow-md)}.activity-card-modern:active{transform:scale(.98)}.activity-card-header{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--space-4)}.activity-avatar{align-items:center;background:var(--primary-100);border-radius:var(--radius-full);display:flex;flex-shrink:0;height:40px;justify-content:center;overflow:hidden;width:40px}.activity-avatar img{height:100%;object-fit:cover;width:100%}.activity-content{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0;padding-left:var(--space-2)}.activity-username{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold);line-height:var(--leading-tight)}.activity-description{word-wrap:break-word;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-tight)}.activity-time{align-items:center;color:var(--text-tertiary);display:flex;font-size:var(--text-xs);gap:4px;line-height:1}.activity-right{flex-direction:column;gap:var(--space-2)}.activity-points,.activity-right{align-items:center;display:flex;flex-shrink:0}.activity-points{border-radius:var(--radius-md);flex-direction:row;gap:4px;padding:6px 10px}.points-value{font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1}.activity-points.negative .points-value{color:var(--error-700)}.theme-dark .activity-points.negative .points-value{color:var(--error-400)}.points-label{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;opacity:.9}.activity-report-btn{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-medium);gap:var(--space-1);height:28px;justify-content:center;padding:var(--space-1) var(--space-2);transition:all var(--transition-base);white-space:nowrap}.activity-report-btn:hover{background:var(--error-50);border-color:var(--error-500);color:var(--error-500)}.activity-report-btn:active{transform:scale(.95)}.theme-dark .activity-report-btn:hover{background:#ef44441a;color:var(--error-400)}.report-modal{max-width:500px;width:calc(100% - var(--space-8))}.report-transaction-info{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-xl);margin-bottom:var(--space-4);padding:var(--space-4)}.report-user{align-items:center;display:flex;gap:var(--space-3);margin-bottom:var(--space-2)}.report-username{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.report-points{font-weight:var(--font-medium)}.report-points,.report-reason-display{color:var(--text-secondary);font-size:var(--text-sm)}.report-reason-display{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin:0;padding:var(--space-3)}.btn-danger{background:var(--error-500);color:#fff}.btn-danger:hover{background:var(--error-700)}.btn-danger:disabled{background:var(--error-300);cursor:not-allowed;opacity:.6}@media (max-width:640px){.activity-card-modern{padding:10px}.activity-card-header{gap:10px}.activity-avatar{height:36px;width:36px}.activity-content{gap:3px}.activity-username{font-size:var(--text-sm)}.activity-description{font-size:13px;line-height:1.4}.activity-time{font-size:11px}.activity-right{gap:6px}.activity-points{padding:4px 8px}.points-value{font-size:var(--text-xl)}.points-label{font-size:10px}.activity-report-btn{font-size:10px;gap:3px;height:24px;padding:4px 6px}.activity-report-btn svg{height:10px;width:10px}.report-modal{width:calc(100% - var(--space-4))}}@media (max-width:375px){.activity-card-modern{padding:8px}.activity-card-header{gap:8px}.activity-avatar{height:32px;width:32px}.activity-content{gap:2px}.activity-username{font-size:13px}.activity-description{font-size:12px}.activity-time{font-size:10px}.activity-right{gap:4px}.activity-points{padding:3px 6px}.points-value{font-size:var(--text-lg)}.activity-report-btn{font-size:9px;height:22px;padding:3px 5px}}.point-history-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-bottom:var(--space-5);padding:var(--space-6) 0;text-align:center}.point-history-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0 0 var(--space-2) 0}.point-history-subtitle{color:var(--text-secondary);font-size:var(--text-base);line-height:1.5;margin:0 auto;max-width:600px}.point-history-search{margin-bottom:var(--space-4)}.point-history-search-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--text-base);outline:none;padding:var(--space-3) var(--space-4);transition:all var(--transition-base);width:100%}.point-history-search-input::placeholder{color:var(--text-tertiary)}.point-history-search-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #92d63a1a}.point-history-filters{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3)}.filter-btn{background:#0000;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:all var(--transition-base);white-space:nowrap}.filter-btn:hover{background:var(--background-secondary);color:var(--text-primary)}.filter-btn.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.filter-btn:active{transform:scale(.97)}.point-history-date-group{margin-bottom:var(--space-6)}.point-history-date-label{color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.05em;margin:0 0 var(--space-3) 0;padding-left:var(--space-2);text-transform:uppercase}@media (max-width:640px){.point-history-header{margin-bottom:var(--space-4);padding:var(--space-4) var(--space-3)}.point-history-title{font-size:var(--text-2xl)}.point-history-subtitle{font-size:var(--text-sm);padding:0 var(--space-2)}.point-history-search-input{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.point-history-filters{gap:var(--space-1);padding:var(--space-2)}.filter-btn{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.point-history-date-label{font-size:var(--text-xs);margin-bottom:var(--space-2)}.point-history-date-group{margin-bottom:var(--space-4)}}@media (max-width:375px){.point-history-title{font-size:var(--text-xl)}.filter-btn{flex:1 1;min-width:-webkit-fit-content;min-width:fit-content}}:root{--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-body:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"SF Mono","Consolas","Monaco",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--z-base:0;--z-dropdown:1000;--z-sticky:1100;--z-fixed:1200;--z-modal:1300;--z-popover:1400;--z-tooltip:1500}.theme-light{--primary-50:#f6f7f0;--primary-100:#eaeed7;--primary-200:#d5dcb0;--primary-300:#c0ca89;--primary-400:#abb862;--primary-500:#94a54d;--primary-600:#7d8c42;--primary-700:#667336;--primary-800:#4f5a2a;--primary-900:#38411f;--accent-50:#f6f7f0;--accent-100:#eaeed7;--accent-200:#d5dcb0;--accent-300:#c0ca89;--accent-400:#abb862;--accent-500:#94a54d;--accent-600:#7d8c42;--accent-700:#667336;--accent-800:#4f5a2a;--accent-900:#38411f;--neutral-50:#fafaf9;--neutral-100:#f5f5f4;--neutral-200:#e7e5e4;--neutral-300:#d6d3d1;--neutral-400:#a8a29e;--neutral-500:#78716c;--neutral-600:#57534e;--neutral-700:#44403c;--neutral-800:#292524;--neutral-900:#1c1917;--warm-50:#fdf9f0;--warm-100:#f8f0e0;--warm-200:#f0e1c1;--warm-300:#e8d2a2;--warm-400:#dfc088;--warm-500:#d4ae6f;--warm-600:#c09959;--warm-700:#9d7a42;--warm-800:#7a5d30;--warm-900:#5a4422;--cool-50:#f0f3f1;--cool-100:#e0e9e4;--cool-200:#c8d9cf;--cool-300:#b0c9ba;--cool-400:#9db4a4;--cool-500:#8b9f8d;--cool-600:#77897a;--cool-700:#617163;--cool-800:#4c574d;--cool-900:#383f39;--status-pending:#d4ae6f;--status-pending-bg:#d4ae6f1a;--status-ongoing:#8b9f8d;--status-ongoing-bg:#8b9f8d1a;--status-completed:#94a54d;--status-completed-bg:#94a54d1a;--success-50:#f0fdf4;--success-100:#dcfce7;--success-200:#bbf7d0;--success-300:#86efac;--success-400:#4ade80;--success-500:#22c55e;--success-600:#16a34a;--success-700:#15803d;--success-800:#166534;--success-900:#14532d;--error-50:#fef2f2;--error-100:#fee2e2;--error-200:#fecaca;--error-300:#fca5a5;--error-400:#f87171;--error-500:#ef4444;--error-600:#dc2626;--error-700:#b91c1c;--error-800:#991b1b;--error-900:#7f1d1d;--warning-500:#f59e0b;--warning-600:#d97706;--info-500:#3b82f6;--info-600:#2563eb;--background:#fafaf9;--background-secondary:#f5f5f4;--surface:#fff;--surface-hover:#f5f5f4;--border:#e7e5e4;--text-primary:#292524;--text-secondary:#78716c;--text-tertiary:#a8a29e;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #00000014;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #00000014;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #00000014;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #00000014;--glass-bg:#ffffffd9;--glass-border:#0000001a;--glass-shadow:0 8px 32px 0 #00000014;--primary-500-rgb:148,165,77;--warm-500-rgb:212,174,111;--cool-500-rgb:139,159,141;--error-500-rgb:239,68,68;--success-500-rgb:34,197,94;--medal-gold:#fbbf24;--medal-gold-gradient:linear-gradient(135deg,#fde047,#f59e0b);--medal-silver:#a8a29e;--medal-silver-gradient:linear-gradient(135deg,#e7e5e4,#78716c);--medal-bronze:#d97706;--medal-bronze-gradient:linear-gradient(135deg,#fbbf24,#92400e);--gradient-primary:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);--gradient-warm:linear-gradient(135deg,var(--warm-500) 0%,var(--warm-600) 100%);--gradient-cool:linear-gradient(135deg,var(--cool-500) 0%,var(--cool-600) 100%);--gradient-card-subtle:linear-gradient(135deg,var(--surface) 0%,#94a54d08 100%);--shadow-primary:0 4px 12px #94a54d26;--shadow-primary-lg:0 10px 25px #94a54d33;--shadow-warm:0 4px 12px #d4ae6f26;--shadow-cool:0 4px 12px #8b9f8d26}.theme-dark{--primary-50:#f6f7f0;--primary-100:#eaeed7;--primary-200:#d5dcb0;--primary-300:#c0ca89;--primary-400:#abb862;--primary-500:#94a54d;--primary-600:#7d8c42;--primary-700:#667336;--primary-800:#4f5a2a;--primary-900:#38411f;--accent-50:#f6f7f0;--accent-100:#eaeed7;--accent-200:#d5dcb0;--accent-300:#c0ca89;--accent-400:#abb862;--accent-500:#94a54d;--accent-600:#7d8c42;--accent-700:#667336;--accent-800:#4f5a2a;--accent-900:#38411f;--neutral-50:#fafaf9;--neutral-100:#f5f5f4;--neutral-200:#e7e5e4;--neutral-300:#d6d3d1;--neutral-400:#a8a29e;--neutral-500:#78716c;--neutral-600:#57534e;--neutral-700:#44403c;--neutral-800:#292524;--neutral-900:#1c1917;--warm-50:#fdf9f0;--warm-100:#f8f0e0;--warm-200:#f0e1c1;--warm-300:#e8d2a2;--warm-400:#dfc088;--warm-500:#dfc088;--warm-600:#d4ae6f;--warm-700:#c09959;--warm-800:#9d7a42;--warm-900:#7a5d30;--cool-50:#f0f3f1;--cool-100:#e0e9e4;--cool-200:#c8d9cf;--cool-300:#b0c9ba;--cool-400:#9db4a4;--cool-500:#9db4a4;--cool-600:#8b9f8d;--cool-700:#77897a;--cool-800:#617163;--cool-900:#4c574d;--status-pending:#dfc088;--status-pending-bg:#dfc0881a;--status-ongoing:#9db4a4;--status-ongoing-bg:#9db4a41a;--status-completed:#abb862;--status-completed-bg:#abb8621a;--success-50:#f0fdf4;--success-100:#dcfce7;--success-200:#bbf7d0;--success-300:#86efac;--success-400:#4ade80;--success-500:#22c55e;--success-600:#16a34a;--success-700:#15803d;--success-800:#166534;--success-900:#14532d;--error-50:#fef2f2;--error-100:#fee2e2;--error-200:#fecaca;--error-300:#fca5a5;--error-400:#f87171;--error-500:#ef4444;--error-600:#dc2626;--error-700:#b91c1c;--error-800:#991b1b;--error-900:#7f1d1d;--warning-500:#fbbf24;--warning-600:#f59e0b;--info-500:#60a5fa;--info-600:#3b82f6;--background:#1c1917;--background-secondary:#292524;--surface:#292524;--surface-hover:#44403c;--border:#44403c;--text-primary:#fafaf9;--text-secondary:#fafaf9b3;--text-tertiary:#fafaf980;--shadow-xs:0 1px 2px 0 #00000080;--shadow-sm:0 1px 3px 0 #0009,0 1px 2px -1px #00000080;--shadow-md:0 4px 6px -1px #000000b3,0 2px 4px -2px #0009;--shadow-lg:0 10px 15px -3px #000c,0 4px 6px -4px #000000b3;--shadow-xl:0 20px 25px -5px #000000e6,0 8px 10px -6px #000c;--glass-bg:#1c1917d9;--glass-border:#fafaf91a;--glass-shadow:0 8px 32px 0 #0009;--primary-500-rgb:171,184,98;--warm-500-rgb:223,192,136;--cool-500-rgb:157,180,164;--error-500-rgb:248,113,113;--success-500-rgb:74,222,128;--medal-gold:#fbbf24;--medal-gold-gradient:linear-gradient(135deg,#fde047,#f59e0b);--medal-silver:#a8a29e;--medal-silver-gradient:linear-gradient(135deg,#e7e5e4,#78716c);--medal-bronze:#d97706;--medal-bronze-gradient:linear-gradient(135deg,#fbbf24,#92400e);--gradient-primary:linear-gradient(135deg,var(--primary-400) 0%,var(--primary-500) 100%);--gradient-warm:linear-gradient(135deg,var(--warm-500) 0%,var(--warm-400) 100%);--gradient-cool:linear-gradient(135deg,var(--cool-500) 0%,var(--cool-400) 100%);--gradient-card-subtle:linear-gradient(135deg,var(--surface) 0%,#abb8620d 100%);--shadow-primary:0 4px 12px #abb86233;--shadow-primary-lg:0 10px 25px #abb8624d;--shadow-warm:0 4px 12px #dfc08833;--shadow-cool:0 4px 12px #9db4a433}@media (prefers-color-scheme:dark){:root:not(.theme-light):not(.theme-dark){color-scheme:dark}}@media (prefers-color-scheme:light){:root:not(.theme-light):not(.theme-dark){color-scheme:light}}.theme-light{color-scheme:light}.theme-dark{color-scheme:dark}.skeleton{background-color:var(--neutral-200);overflow:hidden;position:relative}.theme-dark .skeleton{background-color:var(--neutral-700)}.skeleton-pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-wave{animation:skeleton-wave 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--neutral-200) 0,var(--neutral-300) 50%,var(--neutral-200) 100%);background-size:200% 100%}.theme-dark .skeleton-wave{background:linear-gradient(90deg,var(--neutral-700) 0,var(--neutral-600) 50%,var(--neutral-700) 100%);background-size:200% 100%}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-shimmer:before{animation:skeleton-shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff26 50%,#0000);content:"";height:100%;left:-150%;position:absolute;top:0;width:150%}.theme-dark .skeleton-shimmer:before{background:linear-gradient(90deg,#0000,#ffffff14 50%,#0000)}@keyframes skeleton-shimmer{0%{left:-150%}to{left:150%}}@media (prefers-reduced-motion:reduce){.skeleton-pulse,.skeleton-shimmer:before,.skeleton-wave{animation:none!important}.skeleton{opacity:.7}}.skeleton[role=status]:after{clip:rect(0,0,0,0);border:0;content:"Loading...";height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.avatar{align-items:center;background-color:var(--surface);border-radius:50%;display:inline-flex;flex-shrink:0;justify-content:center;overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease}.avatar[role=button]{cursor:pointer}.avatar[role=button]:hover{transform:scale(1.05)}.avatar-xs{font-size:12px;height:24px;width:24px}.avatar-sm{font-size:14px;height:32px;width:32px}.avatar-md{font-size:18px;height:48px;width:48px}.avatar-lg{font-size:24px;height:64px;width:64px}.avatar-xl{font-size:36px;height:96px;width:96px}.avatar-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:var(--gradient-primary);color:var(--neutral-900);display:flex;font-weight:600;height:100%;justify-content:center;text-transform:uppercase;-webkit-user-select:none;user-select:none;width:100%}.avatar-rank-gold{border:2px solid var(--surface);box-shadow:0 0 0 3px var(--medal-gold),0 0 12px #ffd70080}.avatar-rank-gold:hover{box-shadow:0 0 0 3px var(--medal-gold),0 0 16px #ffd700b3}.avatar-rank-silver{border:2px solid var(--surface);box-shadow:0 0 0 3px var(--medal-silver),0 0 12px #c0c0c080}.avatar-rank-silver:hover{box-shadow:0 0 0 3px var(--medal-silver),0 0 16px #c0c0c0b3}.avatar-rank-bronze{border:2px solid var(--surface);box-shadow:0 0 0 3px var(--medal-bronze),0 0 12px #cd7f3280}.avatar-rank-bronze:hover{box-shadow:0 0 0 3px var(--medal-bronze),0 0 16px #cd7f32b3}.avatar:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.theme-dark .avatar-rank-bronze,.theme-dark .avatar-rank-gold,.theme-dark .avatar-rank-silver{border-color:var(--background)}.pwa-install-banner{animation:slideUpBanner .4s cubic-bezier(.4,0,.2,1);bottom:0;left:0;padding:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:var(--z-modal)}@keyframes slideUpBanner{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.pwa-install-content{align-items:center;background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-xl);display:flex;gap:var(--space-3);padding:var(--space-4)}.pwa-install-icon{align-items:center;background:var(--gradient-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.pwa-install-text{flex:1 1;min-width:0}.pwa-install-title{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold);margin:0 0 var(--space-1) 0}.pwa-install-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:var(--text-sm);line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis}.pwa-install-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-2)}.pwa-install-btn-primary{background:var(--gradient-primary);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-4);transition:all .2s ease;white-space:nowrap}.pwa-install-btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.pwa-install-btn-primary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.pwa-install-btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.pwa-install-btn-dismiss{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xl);height:32px;justify-content:center;transition:all .2s ease;width:32px}.pwa-install-btn-dismiss:hover{background:var(--surface-hover);color:var(--text-primary)}.pwa-install-btn-dismiss:disabled{cursor:not-allowed;opacity:.3}@media (max-width:640px){.pwa-install-content{padding:var(--space-3)}.pwa-install-icon{height:40px;width:40px}.pwa-install-icon svg{height:24px;width:24px}.pwa-install-title{font-size:var(--text-sm)}.pwa-install-description{-webkit-line-clamp:1;font-size:var(--text-xs)}.pwa-install-btn-primary{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}}@media (prefers-reduced-motion:reduce){.pwa-install-banner{animation:none}.pwa-install-btn-dismiss:hover,.pwa-install-btn-primary:hover{transform:none}}.offline-banner{animation:slideDown .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);left:0;padding:var(--space-3) var(--space-4);position:fixed;right:0;top:0;z-index:var(--z-toast)}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.offline-banner.offline{background:#ef4444f2;color:#fff}.offline-banner.online{animation:slideDown .3s cubic-bezier(.4,0,.2,1),slideUp .3s cubic-bezier(.4,0,.2,1) 2.7s forwards;background:#22c55ef2;color:#fff}.offline-banner-content{align-items:center;display:flex;gap:var(--space-2);justify-content:center;margin:0 auto;max-width:1200px}.offline-banner-content svg{flex-shrink:0}.offline-banner-text{font-size:var(--text-sm);font-weight:var(--font-semibold);text-align:center}.offline-banner.offline svg{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.offline-banner.online svg{animation:checkmark .5s ease-in-out}@keyframes checkmark{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (max-width:640px){.offline-banner{padding:var(--space-2) var(--space-3)}.offline-banner-text{font-size:var(--text-xs)}.offline-banner-content svg{height:16px;width:16px}}@media (prefers-reduced-motion:reduce){.offline-banner,.offline-banner svg{animation:none!important}.offline-banner.online{animation:fadeOut .3s ease 2.7s forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}}.update-prompt{animation:slideUp .3s ease-out;bottom:20px;left:50%;position:fixed;transform:translateX(-50%);z-index:10000}@keyframes slideUp{0%{bottom:-100px;opacity:0}to{bottom:20px;opacity:1}}.update-prompt-content{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 8px 24px #0000004d;color:#fff;display:flex;gap:16px;max-width:500px;min-width:320px;padding:16px 24px}.update-prompt-icon{animation:rotate 2s linear infinite;flex-shrink:0;font-size:32px}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.update-prompt-text{flex:1 1}.update-prompt-text strong{display:block;font-size:16px;margin-bottom:4px}.update-prompt-text p{font-size:14px;margin:0;opacity:.95}.update-prompt-button{background:#fff;border:none;border-radius:8px;color:#667eea;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.update-prompt-button:hover{background:#f0f0f0;transform:scale(1.05)}.update-prompt-button:active{transform:scale(.98)}@media (max-width:600px){.update-prompt{left:10px;right:10px;transform:none}.update-prompt-content{gap:12px;min-width:auto;padding:14px 18px}.update-prompt-icon{font-size:24px}.update-prompt-text strong{font-size:14px}.update-prompt-text p{font-size:13px}.update-prompt-button{font-size:13px;padding:8px 16px}}.toast-container{display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none;position:fixed;right:16px;top:80px;z-index:10000}@media (max-width:768px){.toast-container{left:12px;max-width:none;right:12px;top:70px}}.toast{align-items:flex-start;background:var(--background);border-radius:12px;border-style:solid;border-width:1px 1px 1px 4px;display:flex;gap:12px;max-width:100%;min-height:48px;overflow:hidden;padding:14px 16px;pointer-events:auto}.toast-success{border-color:var(--success-500)}.toast-success .toast-icon{color:var(--success-500)}.toast-error{border-color:var(--error-500)}.toast-error .toast-icon{color:var(--error-500)}.toast-warning{border-color:var(--warning-500)}.toast-warning .toast-icon{color:var(--warning-500)}.toast-info{border-color:var(--primary-500)}.toast-info .toast-icon{color:var(--primary-500)}.toast-icon{align-items:center;display:flex;justify-content:center;margin-top:2px}.toast-message{word-wrap:break-word;color:var(--text-primary);flex:1 1;font-size:14px;line-height:1.5;overflow-wrap:break-word}.toast-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-top:2px;padding:4px;transition:all .2s}.toast-close-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.toast-close-btn:active{transform:scale(.95)}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(calc(100% + 16px))}to{opacity:1;transform:translateX(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(calc(100% + 16px))}}.toast-enter{animation:toast-slide-in .3s ease-out}.toast-exit{animation:toast-slide-out .3s ease-in}@media (max-width:768px){.toast{padding:12px 14px}.toast,.toast-message{font-size:13px}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}}.modal-overlay{align-items:center;animation:fadeIn var(--transition-base) ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:var(--z-modal)}.modal-content{animation:scaleIn var(--transition-base) ease-out;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;width:100%}.modal-sm{max-width:400px}.modal-md{max-width:600px}.modal-lg{max-width:800px}.modal-xl{max-width:1200px}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--space-6)}.modal-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-3xl);height:32px;justify-content:center;line-height:1;padding:0;transition:all var(--transition-fast);width:32px}.modal-close-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-close-btn:active{transform:scale(.95)}.modal-body{flex:1 1;overflow-y:auto;padding:var(--space-6)}.modal-actions{border-top:1px solid var(--border);display:flex;gap:var(--space-3);justify-content:flex-end;padding:var(--space-6)}.modal-actions .btn{min-width:100px}@media (max-width:640px){.modal-overlay{align-items:flex-end;padding:0}.modal-content{animation:slideInUp var(--transition-base) ease-out;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-height:95vh}.modal-lg,.modal-md,.modal-sm,.modal-xl{max-width:100%}.modal-actions,.modal-body,.modal-header{padding:var(--space-4)}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}
/*# sourceMappingURL=main.6a4079cc.css.map*/