:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;width:100%;overflow-x:hidden;height:100%}html{height:100%}button{border:none;background:transparent;color:inherit;font-family:inherit;cursor:pointer;padding:0}:root,[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f7f8fa;--bg-tertiary: #e2e8f0;--bg-gradient: linear-gradient(135deg, #667eea 0%, #e74c3c 100%);--accent: #667eea;--accent-secondary: #764ba2;--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent-rgb: 102, 126, 234;--text-primary: #2d3748;--text-secondary: #718096;--text-tertiary: #a0aec0;--text-inverse: #ffffff;--border-primary: #e2e8f0;--border-secondary: #cbd5e0;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15)}[data-theme=dark]{--bg-primary: #1a202c;--bg-secondary: #2d3748;--bg-tertiary: #4a5568;--bg-gradient: linear-gradient(135deg, #3b5bdb 0%, #c0392b 100%);--accent: #818cf8;--accent-secondary: #a78bfa;--accent-gradient: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%);--accent-rgb: 129, 140, 248;--text-primary: #f7fafc;--text-secondary: #e2e8f0;--text-tertiary: #cbd5e0;--text-inverse: #1a202c;--border-primary: #4a5568;--border-secondary: #2d3748;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4)}*{box-sizing:border-box}input,select,textarea{background:var(--bg-primary);color:var(--text-primary);transition:background .3s ease,color .3s ease}.app{height:100vh;height:100dvh;width:100%;max-width:100%;background:var(--bg-secondary);color:var(--text-primary);display:flex;flex-direction:column;overflow:hidden;transition:background .3s ease,color .3s ease}.top-navbar{position:fixed;top:0;left:0;right:0;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);box-shadow:var(--shadow-sm);padding:.5rem 1.5rem;padding-top:calc(.5rem + env(safe-area-inset-top,0px));padding-left:calc(1.5rem + env(safe-area-inset-left,0px));padding-right:calc(1.5rem + env(safe-area-inset-right,0px));display:flex;justify-content:space-between;align-items:center;z-index:1000;width:100%;box-sizing:border-box;transition:background .3s ease,border-color .3s ease}.brand-title{flex:1;display:flex;justify-content:center;align-items:center}.brand-title h1{color:var(--text-primary);font-family:Oswald,sans-serif;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin:0}.menu-container{position:relative;width:auto;flex-shrink:0}.menu-button{background:var(--bg-tertiary);color:var(--text-primary);border:none;width:48px;height:48px;border-radius:12px;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.menu-button:hover{background:var(--border-secondary);transform:scale(1.05)}.profile-menu-button{background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;width:auto!important;height:auto!important;border-radius:50%!important;padding:0!important}.profile-menu-button:hover{background:none!important;transform:scale(1.05)}.side-drawer-overlay{position:fixed;inset:0;background:#0000008c;z-index:1000;animation:overlayFadeIn .25s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.side-drawer{position:fixed;top:0;left:0;height:100%;width:280px;max-width:85vw;background:var(--bg-primary);border-right:1px solid var(--border-primary);box-shadow:4px 0 24px #0006;z-index:1001;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.side-drawer-open{transform:translate(0)}.side-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:calc(1.25rem + env(safe-area-inset-top,0px)) 1.25rem 1.25rem;background:var(--bg-secondary, #0f0f1e);flex-shrink:0}.side-drawer-profile-btn{display:flex;align-items:center;gap:.75rem;background:none;border:none;cursor:pointer;flex:1;min-width:0;text-align:left;padding:0;border-radius:10px;transition:opacity .2s}.side-drawer-profile-btn:hover{opacity:.8}.side-drawer-profile-btn.has-notif{padding:.4rem .5rem;margin:-.4rem -.5rem;background:#ef44441a;box-shadow:inset 0 0 0 1.5px #ef444480}.side-drawer-user{flex:1;min-width:0}.side-drawer-user-name{font-size:1rem;font-weight:700;color:var(--text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-drawer-user-email{font-size:.75rem;color:var(--text-secondary, #aaa);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-drawer-close{background:#ffffff1a;border:none;color:var(--text-primary, #fff);width:32px;height:32px;border-radius:50%;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:.75rem}.side-drawer-scroll{flex:1;overflow-y:auto;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.dropdown-item{width:100%;padding:.875rem 1.25rem;background:var(--bg-primary);border:none;text-align:left;cursor:pointer;font-size:1rem;color:var(--text-primary);transition:background .2s ease;display:flex;align-items:center;gap:.5rem}.dropdown-item:hover{background:var(--bg-secondary)}.dropdown-icon{width:18px;height:18px;flex-shrink:0;opacity:.7}.dropdown-item:hover .dropdown-icon,.logout-item .dropdown-icon{opacity:1}.dropdown-divider{height:1px;background:var(--border-primary);margin:.25rem 0}.dropdown-inventory{padding:.5rem 1.25rem .6rem}.dropdown-inv-header{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted, #666);margin-bottom:.35rem}.inv-row{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.82rem;color:var(--text-primary, #fff)}.inv-row-active{color:gold}.inv-icon{width:18px;text-align:center;flex-shrink:0;font-size:.9rem}.inv-icon-img{width:18px;height:18px;object-fit:contain;flex-shrink:0}.inv-label{flex:1;font-size:.82rem}.inv-badge{font-size:.75rem;font-weight:700;background:rgba(var(--accent-rgb),.18);color:#a5b4fc;border:1px solid rgba(var(--accent-rgb),.3);border-radius:10px;padding:1px 7px;min-width:22px;text-align:center}.inv-timer{font-size:.72rem;color:#ffd700b3;font-variant-numeric:tabular-nums;white-space:nowrap}.inv-empty{font-size:.75rem;color:var(--text-muted, #666);font-style:italic;padding:.1rem 0}.inv-use-btn{flex-shrink:0;padding:3px 12px;border:none;border-radius:50px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.74rem;font-weight:700;cursor:pointer;transition:transform .12s,box-shadow .12s}.inv-use-btn-2x{background:linear-gradient(135deg,#ff8c00,#e74c3c)}.inv-use-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000040}.inv-use-btn:active{transform:translateY(0)}.boost-confirm-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:overlayFadeIn .2s ease}.boost-confirm-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:20px;padding:1.75rem 1.5rem 1.5rem;width:100%;max-width:340px;text-align:center;box-shadow:0 16px 48px #0006}.boost-confirm-icon{font-size:2.5rem;margin-bottom:.5rem}.boost-confirm-title{margin:0 0 .6rem;font-size:1.2rem;font-weight:800;color:var(--text-primary)}.boost-confirm-body{margin:0 0 .75rem;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.boost-confirm-body strong{color:var(--text-primary)}.boost-confirm-remaining{margin:0 0 1.25rem;font-size:.78rem;color:var(--text-tertiary)}.boost-confirm-actions{display:flex;gap:.6rem}.boost-confirm-btn{flex:1;padding:.7rem;border:none;border-radius:50px;font-size:.92rem;font-weight:700;cursor:pointer;transition:transform .12s}.boost-confirm-btn.cancel{background:var(--bg-tertiary);color:var(--text-primary)}.boost-confirm-btn.submit{color:#fff}.boost-confirm-btn:active{transform:scale(.97)}.nav-left{flex:1;display:flex;align-items:center;gap:.45rem;justify-content:flex-start}.nav-center{flex:0 0 auto;display:flex;align-items:center}.nav-level-pill{display:inline-flex;align-items:baseline;gap:.1rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:20px;padding:.22rem .55rem}.nav-level-label{font-size:.62rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.nav-level-value{font-size:.82rem;font-weight:800;color:var(--text-primary)}.nav-streak-pill{display:inline-flex;align-items:center;gap:.22rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:20px;padding:.22rem .65rem;cursor:pointer;transition:background .15s,transform .1s}.nav-streak-pill:hover,.nav-streak-pill:active{background:var(--border-secondary);transform:scale(1.05)}.nav-streak-icon{font-size:.85rem;line-height:1}.nav-streak-value{font-size:.82rem;font-weight:800;color:var(--text-primary)}.nav-right{flex:1;display:flex;align-items:center;gap:.45rem;justify-content:flex-end}.nav-coins{display:inline-flex;align-items:center;gap:.3rem;background:#ffd70026;border:1px solid rgba(255,215,0,.4);border-radius:20px;padding:.3rem .7rem;cursor:pointer;transition:background .18s,transform .15s}.nav-coins:hover{background:#ffd70040;transform:translateY(-1px)}.nav-coins-icon{font-size:.85rem}.nav-coins-value{font-size:.8rem;font-weight:700;color:var(--text-primary)}.notif-container{position:relative}.notif-btn{position:relative;background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s;color:var(--text-primary)}.notif-btn svg{width:28px;height:28px}.notif-btn:hover{transform:scale(1.12)}.notif-badge{position:absolute;top:-4px;right:-4px;background:#e53e3e;color:#fff;font-size:.65rem;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid transparent;background-clip:padding-box;line-height:1}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:var(--bg-primary);border:1.5px solid var(--border-primary);border-radius:14px;box-shadow:0 8px 32px #0000002e;overflow:hidden;z-index:1100;animation:dropdownSlide .18s ease-out}.notif-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem .7rem;border-bottom:1px solid var(--border-primary)}.notif-title{font-size:.95rem;font-weight:700;color:var(--text-primary)}.notif-count{font-size:.75rem;font-weight:700;background:rgba(var(--accent-rgb),.12);color:var(--accent);border-radius:10px;padding:.15rem .5rem}.notif-empty{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.75rem 1rem;color:var(--text-tertiary);font-size:.9rem}.notif-empty-icon{font-size:1.6rem;opacity:.5}.notif-list{max-height:340px;overflow-y:auto}.notif-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary);transition:background .15s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg-secondary)}.notif-item-avatar{width:38px;height:38px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;overflow:hidden;border:1.5px solid var(--border-primary)}.notif-item-avatar img{width:100%;height:100%;object-fit:cover}.notif-item-info{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.notif-item-name{font-size:.88rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item-text{font-size:.78rem;color:var(--text-secondary)}.notif-item-time{font-size:.7rem;color:var(--text-tertiary);margin-top:1px}.notif-read{opacity:.6}.notif-item-actions{display:flex;gap:.35rem;flex-shrink:0}.notif-accept-btn,.notif-reject-btn{width:30px;height:30px;border:none;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.notif-accept-btn{background:#48bb7826;color:#38a169}.notif-accept-btn:hover{background:#38a169;color:#fff}.notif-reject-btn{background:#e53e3e1a;color:#e53e3e}.notif-reject-btn:hover{background:#e53e3e;color:#fff}.notif-item-system{background:var(--bg-secondary)}.notif-type-icon{font-size:1rem;flex-shrink:0}.notif-type-icon.friend_accepted{color:#38a169}.notif-type-icon.friend_rejected{font-size:.8rem;color:var(--text-tertiary)}.profile-icon{background:#fff3;color:#fff;border:none;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;padding:0}.profile-icon:hover{background:#ffffff4d;transform:scale(1.05)}.nav-profile-img{width:44px;height:44px;object-fit:cover;border-radius:50%;display:block;flex-shrink:0;position:relative;z-index:1}.bottom-navbar{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);box-shadow:0 -1px 0 var(--border-primary),0 -4px 12px var(--shadow-sm);display:flex;justify-content:space-around;align-items:center;padding:.5rem 0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));z-index:1000;transition:background .3s ease}.bottom-nav-item{background:none;border:none;outline:none;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:.5rem 1rem;gap:.25rem;transition:all .3s ease;color:var(--text-tertiary);flex:1;max-width:100px}.bottom-nav-item:focus-visible{outline:none}.bottom-nav-item:hover{transform:translateY(-2px);color:var(--accent)}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.2)}.bottom-nav-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.bottom-nav-icon svg{width:24px;height:24px}.bottom-nav-label{font-size:.75rem;font-weight:600;white-space:nowrap}.bottom-nav-item.home-btn{max-width:70px;position:relative;margin-top:-18px;z-index:10;padding:0}.bottom-nav-item.home-btn .bottom-nav-icon{width:56px;height:56px;background:var(--bg-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(var(--accent-rgb),.3);border:3px solid white;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;color:#fff}.bottom-nav-item.home-btn .bottom-nav-icon svg{width:26px;height:26px;stroke:#fff}.bottom-nav-item.home-btn:hover .bottom-nav-icon{transform:translateY(-3px);box-shadow:0 8px 20px rgba(var(--accent-rgb),.45)}.bottom-nav-item.home-btn.active .bottom-nav-icon{transform:translateY(-2px);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.85),0 0 0 6px rgba(var(--accent-rgb),.18),0 8px 22px rgba(var(--accent-rgb),.5)}@media(max-width:480px){.bottom-nav-item.home-btn{margin-top:-14px}.bottom-nav-item.home-btn .bottom-nav-icon{width:48px;height:48px}.bottom-nav-item.home-btn .bottom-nav-icon svg{width:22px;height:22px}}.main-content{flex:1;width:100%;max-width:100%;margin:0;padding:.75rem 1.5rem;padding-top:calc(.75rem + 60px + env(safe-area-inset-top,0px));padding-bottom:calc(.75rem + 90px + env(safe-area-inset-bottom,0px));box-sizing:border-box;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.main-content:has(.map-page){padding:0!important;padding-top:calc(60px + env(safe-area-inset-top,0px))!important;max-width:100%!important;width:100%!important;margin:0!important;overflow-x:hidden!important}@media(min-width:768px){.main-content{padding:1rem 1.5rem;padding-top:calc(1rem + 60px + env(safe-area-inset-top,0px));padding-bottom:calc(1rem + 90px + env(safe-area-inset-bottom,0px));width:100%;max-width:100%}.main-content:has(.map-page){padding:clamp(1.5rem,3vw,3rem)!important;padding-top:calc(clamp(1.5rem,3vw,3rem) + 60px + env(safe-area-inset-top,0px))!important;max-width:100%!important;width:100%!important;margin:0!important}.main-content:has(.map-expanded){padding:0!important;max-width:100vw!important;width:100vw!important}}@media(min-width:1440px){.main-content{width:100%;max-width:100%;margin:0;padding:1rem 1.5rem;padding-top:calc(1rem + 60px + env(safe-area-inset-top,0px));padding-bottom:calc(1rem + 90px + env(safe-area-inset-bottom,0px))}.main-content:has(.map-page){padding:clamp(1.5rem,3vw,3rem)!important;padding-top:calc(clamp(1.5rem,3vw,3rem) + 60px + env(safe-area-inset-top,0px))!important;max-width:100%!important;width:100%!important;margin:0!important}.main-content:has(.map-expanded){padding:0!important;max-width:100vw!important;width:100vw!important}}@media(min-width:1920px){.main-content{width:100%;max-width:100%}.main-content:has(.map-page){max-width:100vw!important;width:100vw!important;padding:0!important;margin:0!important}}.page-content{animation:fadeIn .3s ease-in;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;display:flex;flex-direction:column;flex:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-content h2{color:#fff;font-size:clamp(1.5rem,5vw,2.5rem);margin-top:0;margin-bottom:clamp(.75rem,2vw,1.25rem);text-shadow:2px 2px 4px rgba(0,0,0,.2);width:100%}@media(min-width:768px){.page-content h2{font-size:clamp(2rem,4vw,3rem)}}.workout-form{background:var(--bg-secondary);padding:clamp(1.25rem,4vw,2rem);border-radius:clamp(8px,1.5vw,12px);margin-bottom:clamp(1.5rem,3vw,2rem);width:100%;box-sizing:border-box}.workout-form h2{margin-top:0;color:var(--text-primary);font-size:clamp(1.25rem,3vw,1.75rem)}.workout-form input{width:100%;padding:clamp(.65rem,2vw,.85rem);margin-bottom:1rem;border:2px solid #ddd;border-radius:clamp(4px,1vw,6px);font-size:clamp(.9rem,2vw,1rem);box-sizing:border-box}.workout-form input:focus{outline:none;border-color:#4a90e2}.workout-form button{width:100%;padding:clamp(.75rem,2.5vw,1rem);background:#4a90e2;color:#fff;border:none;border-radius:clamp(4px,1vw,6px);font-size:clamp(.95rem,2vw,1.1rem);cursor:pointer;font-weight:700;transition:background .3s ease}.workout-form button:hover{background:#357abd}.workout-list h2{color:var(--text-primary);margin-bottom:clamp(.75rem,2vw,1rem);font-size:clamp(1.25rem,3vw,1.75rem)}.workout-item{display:flex;flex-direction:column;gap:.75rem;background:var(--bg-primary);padding:clamp(1rem,3vw,1.5rem);margin-bottom:clamp(.75rem,2vw,1rem);border-radius:clamp(8px,1.5vw,12px);border:1px solid var(--border-primary);box-shadow:0 2px 4px #0000001a;box-sizing:border-box}@media(min-width:600px){.workout-item{flex-direction:row;justify-content:space-between;align-items:center}}.workout-info h3{margin:0 0 .5rem;color:var(--text-primary);font-size:clamp(1rem,2.5vw,1.25rem)}.workout-info p{margin:0;color:var(--text-secondary);font-size:clamp(.9rem,2vw,1rem)}.workout-info small{color:var(--text-tertiary);font-size:clamp(.8rem,1.8vw,.9rem)}.delete-btn{padding:clamp(.5rem,2vw,.65rem) clamp(.85rem,2.5vw,1.25rem);background:#e74c3c;color:#fff;border:none;border-radius:clamp(4px,1vw,6px);cursor:pointer;font-weight:700;font-size:clamp(.85rem,2vw,1rem);transition:background .3s ease;align-self:flex-start}@media(min-width:600px){.delete-btn{align-self:center}}.delete-btn:hover{background:#c0392b}.page-content.map-page{padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-height:calc(100vh - 165px);display:flex;flex-direction:column;position:relative;overflow-x:hidden}.map-mode-toggle{display:flex;gap:.5rem;padding:.75rem 1.5rem 0;flex-shrink:0}.map-mode-btn{flex:1;padding:.55rem 1rem;border-radius:10px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.map-mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.map-mode-btn:not(.active):hover{background:var(--bg-tertiary);color:var(--text-primary)}.map-page-layout{display:flex;flex-direction:column;gap:clamp(.75rem,2vw,1.25rem);width:100%;height:auto;padding:.75rem 1.5rem 1rem;box-sizing:border-box}.page-content.map-page.map-expanded .map-page-layout{padding:0;gap:0}.map-section{flex:0 0 auto;height:clamp(260px,42vh,500px);display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #00000026;transition:all .3s ease}.map-section.expanded{position:fixed;top:calc(85px + env(safe-area-inset-top,0px));left:0;right:0;bottom:calc(80px + env(safe-area-inset-bottom,0px));flex:none;width:100vw;height:calc(100vh - 165px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:0;z-index:100}.map-section-header{display:flex;justify-content:space-between;align-items:center;padding:clamp(.75rem,2vw,1.25rem);background:var(--bg-gradient);border-bottom:2px solid rgba(255,255,255,.1)}.map-section-header h3{color:#fff;margin:0;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:600}.expand-btn{background:#fff3;color:#fff;border:none;padding:clamp(.5rem,1.5vw,.75rem) clamp(.75rem,2vw,1rem);border-radius:8px;cursor:pointer;font-size:clamp(.85rem,1.8vw,1rem);font-weight:600;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.expand-btn:hover{background:#ffffff4d;transform:scale(1.05)}.map-container-small{flex:1;width:100%;height:100%;overflow:hidden;position:relative}.routes-section{flex:1;min-height:300px;overflow-y:auto;overflow-x:hidden;background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000026}.page-content.map-page h2{position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:10;background:#fffffff2;padding:clamp(.5rem,2vw,.75rem) clamp(1rem,3vw,2rem);border-radius:12px;box-shadow:0 4px 12px #00000026;margin:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:none}.map-container{width:100%;height:100%;flex:1;border-radius:0;overflow:hidden;box-shadow:none;background:#fff;box-sizing:border-box}@media(max-width:768px){.page-content.map-page{min-height:calc(100vh - 140px)!important;width:100%!important;max-width:100%!important}.map-page-layout{gap:.75rem;padding:.75rem 1.5rem}.page-content.map-page.map-expanded .map-page-layout{padding:0;gap:0}.map-section{height:clamp(240px,38vh,360px)}.map-section.expanded{top:calc(70px + env(safe-area-inset-top,0px));bottom:calc(70px + env(safe-area-inset-bottom,0px));height:calc(100vh - 140px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));position:fixed;overflow-y:auto}.routes-section{min-height:260px}.page-content.map-page h2{font-size:clamp(1.25rem,4vw,1.5rem);padding:.5rem 1rem}}@media(min-width:769px){.page-content.map-page{min-height:calc(100vh - 165px)!important;width:100%!important;max-width:100%!important}.map-section.expanded{top:calc(85px + env(safe-area-inset-top,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));height:calc(100vh - 165px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));position:fixed;overflow-y:auto}}@media(min-width:1440px){.page-content.map-page{min-height:calc(100vh - 181px)!important;width:100%!important;max-width:100%!important}.map-section.expanded{top:calc(101px + env(safe-area-inset-top,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));height:calc(100vh - 181px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));position:fixed;overflow-y:auto}.map-section{height:clamp(320px,46vh,560px)}}@media(min-width:1920px){.page-content.map-page{min-height:calc(100vh - 197px)!important;width:100%!important;max-width:100%!important}.map-section.expanded{top:calc(117px + env(safe-area-inset-top,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));height:calc(100vh - 197px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));position:fixed;overflow-y:auto}.map-section{height:clamp(380px,50vh,650px)}}.placeholder-card{background:#fff;padding:clamp(1.5rem,5vw,3rem);border-radius:clamp(12px,2vw,16px);box-shadow:0 8px 24px #00000026;text-align:center;height:calc(100vh - 165px - clamp(1.5rem,4vw,4rem));display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:100%;box-sizing:border-box}@media(max-width:768px){.placeholder-card{height:calc(100vh - 140px - clamp(3rem,5vw,4rem))}}@media(min-width:769px){.placeholder-card{height:calc(100vh - 165px - clamp(3rem,6vw,6rem))}}@media(min-width:1440px){.placeholder-card{height:calc(100vh - 181px - 4rem)}}@media(min-width:1920px){.placeholder-card{height:calc(100vh - 197px - 4rem)}}.placeholder-card p{color:var(--text-secondary);font-size:clamp(.95rem,2.5vw,1.2rem);margin:.5rem 0;max-width:90%}@media(min-width:768px){.placeholder-card p{font-size:clamp(1.1rem,1.8vw,1.4rem)}}.coming-soon{color:var(--accent)!important;font-weight:700;font-size:clamp(1.1rem,3vw,1.5rem)!important;margin-top:1rem!important}@media(min-width:768px){.coming-soon{font-size:clamp(1.4rem,2.5vw,1.8rem)!important}}.challenges-grid{display:grid;grid-template-columns:1fr;gap:clamp(1rem,3vw,2rem);margin-bottom:clamp(1rem,3vw,2rem);width:100%}@media(min-width:768px){.challenges-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(1.5rem,2.5vw,2.5rem)}}@media(min-width:1024px){.challenges-grid{grid-template-columns:repeat(2,1fr);gap:clamp(2rem,3vw,3rem)}}.challenge-section{background:transparent;padding:0;border-radius:0;box-shadow:none;width:100%;box-sizing:border-box;margin-bottom:clamp(1rem,2.5vw,1.5rem)}.challenge-section h3{color:var(--accent);font-size:clamp(1.15rem,3.5vw,1.5rem);margin-top:0;margin-bottom:clamp(.75rem,2.5vw,1.5rem);font-weight:700}@media(min-width:768px){.challenge-section h3{font-size:clamp(1.35rem,2.5vw,1.75rem)}}.leaderboard-section{background:transparent;padding:0;border-radius:0;box-shadow:none;width:100%;box-sizing:border-box}.progress-bar{width:100%;height:clamp(20px,3vw,28px);background:#e0e0e0;border-radius:clamp(8px,1.5vw,12px);overflow:hidden;margin:clamp(.75rem,2.5vw,1.5rem) 0}@media(min-width:768px){.progress-bar{height:clamp(22px,2.5vw,26px)}}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,#e74c3c 100%);transition:width .3s ease}@media(max-width:480px){.top-navbar{padding:.4rem .75rem;padding-top:calc(.4rem + env(safe-area-inset-top,0px));padding-left:calc(.75rem + env(safe-area-inset-left,0px));padding-right:calc(.75rem + env(safe-area-inset-right,0px));gap:.35rem}.brand-title h1{font-size:clamp(1rem,5vw,1.15rem)}.menu-button,.profile-icon{width:36px;height:36px;min-width:36px;min-height:36px;font-size:1.2rem}.nav-left,.nav-right{gap:.3rem}.nav-level-pill,.nav-streak-pill{padding:.18rem .45rem}.nav-level-label{font-size:.58rem}.nav-level-value,.nav-streak-value{font-size:.75rem}.nav-streak-icon{font-size:.78rem}.nav-coins{padding:.25rem .45rem;gap:.2rem}.nav-coins-value{font-size:.72rem;max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-btn svg{width:22px;height:22px}.dropdown-menu{min-width:180px;font-size:.9rem}.dropdown-item{padding:.75rem 1rem;font-size:.9rem}.bottom-nav-item{padding:.4rem .25rem}.bottom-nav-icon,.bottom-nav-icon svg{width:20px;height:20px}.bottom-nav-label{font-size:.65rem}}@media(min-width:481px)and (max-width:767px){.top-navbar{padding:.5rem 1.25rem}.brand-title h1{font-size:clamp(1.2rem,4vw,1.4rem)}.menu-button,.profile-icon{width:44px;height:44px;font-size:1.35rem}.bottom-nav-icon,.bottom-nav-icon svg{width:22px;height:22px}.bottom-nav-label{font-size:.7rem}}@media(min-width:768px)and (max-width:1023px){.top-navbar{padding:.5rem 1.5rem}.brand-title h1{font-size:clamp(1.4rem,3vw,1.75rem)}.menu-button,.profile-icon{width:48px;height:48px;font-size:1.5rem}.bottom-nav-icon,.bottom-nav-icon svg{width:24px;height:24px}.bottom-nav-label{font-size:.75rem}}@media(min-width:1024px)and (max-width:1439px){.top-navbar{padding:.65rem 2rem}.brand-title h1{font-size:clamp(1.65rem,2.5vw,1.85rem)}.bottom-nav-icon,.bottom-nav-icon svg{width:24px;height:24px}.bottom-nav-label{font-size:.8rem}}@media(min-width:1440px)and (max-width:1919px){.top-navbar{padding:.75rem 3rem}.brand-title h1{font-size:2rem}.bottom-nav-icon,.bottom-nav-icon svg{width:26px;height:26px}.bottom-nav-label{font-size:.875rem}.menu-button,.profile-icon{width:52px;height:52px;font-size:1.6rem}}@media(min-width:1920px){.top-navbar{padding:.85rem 4rem}.brand-title h1{font-size:2.25rem}.bottom-nav-icon,.bottom-nav-icon svg{width:28px;height:28px}.bottom-nav-label{font-size:1rem}.menu-button,.profile-icon{width:56px;height:56px;font-size:1.75rem}.dropdown-menu{min-width:240px}.dropdown-item{padding:1rem 1.5rem;font-size:1.1rem}}@media(max-height:600px)and (orientation:landscape){.placeholder-card{min-height:200px}.main-content{padding-bottom:calc(clamp(.5rem,2vw,1rem) + 80px)}}.dropdown-user-info{padding:1rem 1.25rem;background:var(--bg-gradient);color:#fff;font-weight:600}.dropdown-user-info p{margin:0;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item{color:var(--accent);font-weight:600}.admin-item:hover{background:rgba(var(--accent-rgb),.08);color:#5a67d8}.logout-item{color:#e53e3e;font-weight:600}.logout-item:hover{background:#e53e3e14;color:#c53030}.add-gym-section{margin-top:clamp(1rem,2vw,1.5rem);width:100%;padding:0 1.5rem calc(1.5rem + 90px);box-sizing:border-box}.add-gym-toggle-btn{width:100%;padding:1rem 1.5rem;background:var(--bg-gradient);color:#fff;border:none;border-radius:12px;font-size:clamp(1rem,2.5vw,1.1rem);font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(var(--accent-rgb),.4);display:flex;align-items:center;justify-content:center;gap:.5rem}.add-gym-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--accent-rgb),.5)}.gym-submission-wrapper{margin-top:1.5rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.streak-aura-1{box-shadow:0 0 0 3px #fbbf24b3,0 0 12px #fbbf2466!important}.streak-aura-2{box-shadow:0 0 0 3px #60a5fa,0 0 16px #60a5fa8c!important}.streak-aura-3{box-shadow:0 0 0 3px #a78bfa,0 0 20px #a78bfaa6!important}.streak-aura-4{animation:aura-gold-pulse 1.8s ease-in-out infinite}.streak-aura-5{animation:aura-rainbow 3s linear infinite}@keyframes aura-gold-pulse{0%,to{box-shadow:0 0 0 3px #f59e0b,0 0 18px #f59e0b99}50%{box-shadow:0 0 0 5px #f59e0b,0 0 32px #f59e0bf2}}@keyframes aura-rainbow{0%{box-shadow:0 0 0 3px #f87171,0 0 22px #f87171bf}20%{box-shadow:0 0 0 3px #fb923c,0 0 22px #fb923cbf}40%{box-shadow:0 0 0 3px #facc15,0 0 22px #facc15bf}60%{box-shadow:0 0 0 3px #4ade80,0 0 22px #4ade80bf}80%{box-shadow:0 0 0 3px #60a5fa,0 0 22px #60a5fabf}to{box-shadow:0 0 0 3px #f87171,0 0 22px #f87171bf}}.sp-root{display:flex;flex-direction:column;gap:0;position:relative;min-height:400px;overflow-x:hidden;width:100%;box-sizing:border-box}.sp-no-season,.sp-loading{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-size:.95rem}.sp-header{position:relative;border-radius:14px 14px 0 0;overflow:hidden;padding:clamp(1rem,4vw,1.5rem) clamp(1rem,4vw,1.5rem) clamp(.9rem,3vw,1.25rem);color:#fff;min-height:190px;box-sizing:border-box;transition:min-height .3s ease,padding .3s ease}.sp-header-collapsed{min-height:0;padding:.6rem 2.8rem .6rem clamp(1rem,4vw,1.5rem)}.sp-header-collapsed .sp-header-eyebrow,.sp-header-collapsed .sp-header-theme{max-height:0;opacity:0;margin:0;overflow:hidden}.sp-header-collapsed .sp-header-title{font-size:1rem;margin:0}.sp-header-collapsed .sp-header-top{gap:.4rem}.sp-header-collapsed .sp-days-num{font-size:1rem}.sp-header-collapsed .sp-days-label,.sp-header-collapsed .sp-days-pill,.sp-days-inline{display:none}.sp-header-collapsed .sp-days-inline{display:block;font-size:.65rem;opacity:.75;margin-top:.1rem;font-weight:600;letter-spacing:.03em}.sp-header-collapsed .sp-xp-row,.sp-header-collapsed .sp-tier-progress{max-height:0;opacity:0;overflow:hidden;margin:0}.sp-header-collapsed .sp-xp-section{gap:.2rem}.sp-header-collapsed .sp-header-content{gap:.5rem}.sp-header-eyebrow,.sp-header-theme{transition:max-height .3s ease,opacity .2s ease,margin .3s ease;max-height:3rem;overflow:hidden}.sp-header-title{transition:font-size .3s ease}.sp-xp-row,.sp-tier-progress{transition:max-height .3s ease,opacity .2s ease;max-height:4rem;overflow:hidden}.sp-header-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#0000008c,#00000040);z-index:0}.sp-header-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:1rem}.sp-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.sp-header-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-bottom:.25rem}.sp-header-title{margin:0 0 .2rem;font-size:1.5rem;font-weight:800;line-height:1.1;text-shadow:0 1px 4px rgba(0,0,0,.4)}.sp-header-theme{font-size:.78rem;opacity:.75}.sp-header-meta{display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.sp-days-pill{background:#ffffff26;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:.35rem .75rem;text-align:center;min-width:64px}.sp-days-num{display:block;font-size:1.4rem;font-weight:800;line-height:1}.sp-days-label{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.sp-pass-owned{background:#fff3;border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:.35rem .9rem;font-size:.78rem;font-weight:700;letter-spacing:.04em}.sp-buy-pass-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;background:var(--season-color, #ff8c00);color:#fff;border:none;border-radius:10px;padding:.5rem 1rem;font-size:.8rem;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap}.sp-buy-pass-btn:hover{opacity:.9;transform:scale(1.02)}.sp-xp-section{display:flex;flex-direction:column;gap:.35rem}.sp-xp-row{display:flex;justify-content:space-between;align-items:center}.sp-xp-label{font-size:.82rem;font-weight:700}.sp-xp-value{font-size:.72rem;opacity:.75}.sp-xp-bar-bg{height:8px;background:#fff3;border-radius:4px;overflow:hidden}.sp-xp-bar-fill{height:100%;border-radius:4px;transition:width .6s ease}.sp-tier-progress{display:flex;flex-direction:column;gap:.2rem;opacity:.8}.sp-tier-sub{font-size:.68rem;opacity:.8}.sp-tier-bar-bg{height:4px;background:#ffffff26;border-radius:2px;overflow:hidden}.sp-tier-bar-fill{height:100%;border-radius:2px;opacity:.7;transition:width .4s ease}.sp-track-wrap{background:var(--bg-primary);border:1px solid var(--border-primary);border-top:none;border-radius:0 0 14px 14px}.sp-track-header-row{display:grid;grid-template-columns:44px 1fr 1fr;padding:.55rem .75rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);border-radius:0;position:sticky;top:0;z-index:3}.sp-track-hcol{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.sp-track-hcol-free{color:var(--text-primary)}.sp-track-hcol-premium{color:#b8860b}.sp-track-hcol-cta{font-weight:400;opacity:.7}.sp-track-rows{display:flex;flex-direction:column}.sp-track-row{display:grid;grid-template-columns:44px 1fr 1fr;border-bottom:1px solid var(--border-primary);min-height:62px;align-items:stretch;overflow:hidden;transition:background .15s}.sp-track-row:has(.sp-claim-btn){min-height:76px}.sp-track-row:last-child{border-bottom:none}.sp-row-current{background:#fffbf0}[data-theme=dark] .sp-row-current{background:#ffc83c12}.sp-row-final{background:linear-gradient(135deg,#fffbf0,#fff8e1)}[data-theme=dark] .sp-row-final{background:#ffc83c0d}.sp-row-locked{opacity:.6}.sp-row-tier{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;color:var(--text-tertiary);border-right:1px solid var(--border-primary);padding:.5rem 0;gap:4px;position:relative}.sp-row-unlocked .sp-row-tier{color:var(--text-secondary)}.sp-row-current .sp-row-tier{font-size:.85rem}.sp-row-current-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sp-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.4rem .35rem;gap:.2rem;text-align:center;position:relative}.sp-cell-empty{justify-content:center}.sp-cell-dash{font-size:.9rem;color:#ddd}.sp-cell-icon{font-size:1.1rem;line-height:1}.sp-cell-badge-img{width:1.1rem;height:1.1rem;object-fit:contain;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.sp-cell-boost-img{width:1.4rem;height:1.4rem;object-fit:contain;display:block;filter:drop-shadow(0 1px 3px rgba(0,0,0,.25))}.sp-cosmetic-badge-area{display:flex;align-items:center;justify-content:center;padding:1.5rem 0 .5rem}.sp-cosmetic-badge-img{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 4px 16px rgba(0,0,0,.35))}.sp-cell-label{font-size:.63rem;font-weight:600;color:var(--text-secondary);line-height:1.2;max-width:100%}.sp-cell-free.sp-cell-claimable,.sp-cell-free.sp-cell-claimed{background:#22c55e0f}.sp-cell-premium.sp-cell-claimable,.sp-cell-premium.sp-cell-claimed{background:#b8860b0f}.sp-cell-claimed .sp-cell-icon,.sp-cell-claimed .sp-cell-label{color:#22c55e}.sp-cell-locked .sp-cell-icon,.sp-cell-locked .sp-cell-label{opacity:.45}.sp-cell-clickable{cursor:pointer;transition:background .12s,transform .1s}.sp-cell-clickable:hover{background:#0000000a;transform:scale(1.03)}.sp-claim-btn{margin-top:0;padding:.2rem .55rem;font-size:.6rem;font-weight:700;border:none;border-radius:6px;background:#22c55e;color:#fff;cursor:pointer;transition:opacity .15s,transform .1s;text-transform:uppercase;letter-spacing:.04em}.sp-claim-btn:hover{opacity:.85;transform:scale(1.04)}.sp-cell-premium .sp-claim-btn{background:#b8860b}.sp-premium-col{position:relative}.sp-premium-col-locked .sp-cell{opacity:.45}.sp-premium-lock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1rem;z-index:2;pointer-events:none}.sp-premium-col-locked .sp-cell-empty .sp-premium-lock,.sp-premium-col-locked .sp-cell-empty+.sp-premium-lock{display:none}.sp-upgrade-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .9rem;background:linear-gradient(135deg,#fffbf0,#fff8e1);border:1px solid rgba(184,134,11,.25);border-radius:10px;margin-top:.75rem}[data-theme=dark] .sp-upgrade-banner{background:#b8860b1f;border-color:#b8860b4d}.sp-upgrade-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.sp-upgrade-text strong{font-size:.8rem;font-weight:800;color:#92400e}[data-theme=dark] .sp-upgrade-text strong{color:#f0c040}.sp-upgrade-text span{font-size:.68rem;color:#78350f;opacity:.85;line-height:1.35}[data-theme=dark] .sp-upgrade-text span{color:#d4a020;opacity:1}.sp-upgrade-btn{display:flex;align-items:center;gap:.3rem;background:var(--season-color, #ff8c00);color:#fff;border:none;border-radius:8px;padding:.4rem .85rem;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:opacity .15s,transform .1s}.sp-upgrade-btn:hover{opacity:.9;transform:scale(1.02)}.sp-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.sp-confirm-modal{background:var(--bg-primary);border-radius:16px;padding:1.75rem 1.5rem;max-width:360px;width:100%;position:relative;text-align:center;box-shadow:0 20px 60px #0000004d}.sp-confirm-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1rem;cursor:pointer;color:var(--text-secondary);padding:.2rem .4rem}.sp-confirm-icon{font-size:2.5rem;margin-bottom:.5rem}.sp-confirm-icon-boost{font-size:0}.sp-boost-preview-img{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.sp-confirm-title{margin:0 0 .15rem;font-size:1.1rem;font-weight:800;color:var(--text-primary)}.sp-confirm-subtitle{font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.sp-confirm-price{display:flex;align-items:center;justify-content:center;gap:.3rem;font-size:1.3rem;font-weight:800;color:#b8860b;margin-bottom:.75rem}[data-theme=dark] .sp-confirm-price{color:#f0c040}.sp-confirm-perks{list-style:none;padding:0;margin:0 0 .75rem;text-align:left;display:flex;flex-direction:column;gap:.3rem}.sp-confirm-perks li{font-size:.78rem;color:var(--text-primary)}.sp-confirm-note{font-size:.72rem;color:var(--text-secondary);margin:0 0 1rem}.sp-confirm-low{color:#ef4444;font-weight:600}.sp-confirm-actions{display:flex;gap:.6rem}.sp-confirm-cancel{flex:1;padding:.6rem;border:1px solid var(--border-primary);border-radius:10px;background:none;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer}.sp-confirm-buy{flex:2;padding:.6rem;border:none;border-radius:10px;background:var(--season-color, #ff8c00);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:opacity .15s}.sp-confirm-buy:disabled{opacity:.5;cursor:not-allowed}.sp-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.6rem 1.2rem;border-radius:24px;font-size:.85rem;font-weight:600;white-space:nowrap;z-index:2000;box-shadow:0 4px 16px #0003}.sp-toast-success{background:#22c55e;color:#fff}.sp-toast-error{background:#ef4444;color:#fff}.sp-preview-modal{background:var(--bg-primary);border-radius:16px;padding:1.75rem 1.5rem 1.25rem;max-width:320px;width:100%;position:relative;text-align:center;box-shadow:0 20px 60px #0000004d}.sp-preview-type{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem}.sp-preview-tags{display:flex;justify-content:center;gap:.4rem;margin-bottom:.8rem}.sp-preview-tag{background:var(--bg-tertiary);border-radius:20px;padding:.2rem .6rem;font-size:.7rem;font-weight:700;color:var(--text-primary)}.sp-preview-bundle{list-style:none;padding:0;margin:0 0 .75rem;text-align:left;display:flex;flex-direction:column;gap:.25rem;background:var(--bg-secondary);border-radius:10px;padding:.6rem .8rem}.sp-preview-bundle li{font-size:.75rem;color:var(--text-primary)}.sp-preview-status{font-size:.8rem;font-weight:700;padding:.4rem .75rem;border-radius:20px;margin-bottom:1rem;display:inline-block}.sp-preview-status-claimed,.sp-preview-status-ready{background:#22c55e1f;color:#16a34a}.sp-preview-status-locked{background:#6464641a;color:var(--text-secondary)}.sp-preview-status-premium{background:#b8860b1a;color:#92400e}[data-theme=dark] .sp-preview-status-premium{color:#f0c040}.sp-preview-actions{display:flex;flex-direction:column;gap:.5rem}.sp-cosmetic-banner{position:relative;width:100%;height:90px;border-radius:10px;overflow:hidden;margin-bottom:.85rem;display:flex;align-items:flex-end}.sp-cosmetic-banner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}.sp-cosmetic-banner-overlay{position:absolute;inset:0;background:linear-gradient(to top,#000000a6,#00000026);z-index:1}.sp-cosmetic-banner-content{position:relative;z-index:2;display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem}.sp-cosmetic-avatar-ring{width:32px;height:32px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.7);flex-shrink:0;background:#555;display:flex;align-items:center;justify-content:center}.sp-cosmetic-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.sp-cosmetic-avatar-fallback{font-size:1rem;line-height:1}.sp-cosmetic-banner-name{font-size:.75rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-cosmetic-frame-area{display:flex;justify-content:center;align-items:center;padding:.75rem 0 .5rem;margin-bottom:.35rem}.sp-cosmetic-frame-ring{width:80px!important;height:80px!important}.sp-cosmetic-frame-swatch{overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary)}.home-container{padding:0;width:100%;max-width:1400px;margin:0 auto;box-sizing:border-box;overflow-x:hidden;display:flex;flex-direction:column;gap:clamp(1rem,2.5vw,1.5rem)}.home-loading{color:#fff;text-align:center;padding:2rem}@keyframes home-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.home-skeleton{border-radius:8px;background:linear-gradient(90deg,#ffffff0f 25%,#ffffff21,#ffffff0f 75%);background-size:800px 100%;animation:home-shimmer 1.4s infinite linear}.home-skeleton-card{display:flex;align-items:center;gap:1rem;cursor:default}.home-skeleton-card:hover{transform:none;box-shadow:var(--shadow-md)}.home-skeleton-avatar{flex-shrink:0;width:60px;height:60px;border-radius:50%}.home-skeleton-lines{flex:1;display:flex;flex-direction:column;gap:.55rem}.home-skeleton-line{height:14px;border-radius:6px}.home-skeleton-line-lg{width:55%}.home-skeleton-line-md{width:40%}.home-skeleton-line-sm{width:30%}.home-skeleton-bar{height:10px;width:100%;border-radius:6px}.home-shield-prompt{display:flex;align-items:center;gap:.85rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.35);border-radius:14px;padding:.85rem 1rem;position:relative}.home-shield-prompt-icon{width:34px;height:34px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(251,191,36,.4))}.home-shield-prompt-text{flex:1;display:flex;flex-direction:column;gap:.2rem}.home-shield-prompt-title{font-weight:700;font-size:.88rem;color:#fbbf24}.home-shield-prompt-sub{font-size:.78rem;color:#ffffffb8;line-height:1.35}.home-shield-prompt-dismiss{position:absolute;top:.5rem;right:.6rem;background:none;border:none;color:#fff6;font-size:.85rem;cursor:pointer;padding:.15rem .3rem;line-height:1;border-radius:4px;transition:color .15s}.home-shield-prompt-dismiss:hover{color:#ffffffbf}.home-card{background:var(--bg-primary);border-radius:16px;padding:clamp(1.25rem,3vw,1.75rem);box-shadow:var(--shadow-md);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;min-width:0;width:100%;box-sizing:border-box}.home-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.home-profile-card{display:flex;flex-direction:column;gap:clamp(.55rem,2vw,.85rem)}.home-profile-head{display:flex;align-items:center;gap:clamp(.75rem,3vw,1.25rem)}.home-profile-head-spacer{flex-shrink:0;width:clamp(52px,14vw,72px)}.home-profile-body{display:flex;flex-direction:column;gap:clamp(.5rem,1.6vw,.7rem)}.home-avatar{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.35rem}.home-avatar-img{width:clamp(52px,14vw,72px);height:clamp(52px,14vw,72px);border-radius:50%;object-fit:cover;display:block;position:relative;z-index:1}.home-avatar-icon{display:flex;align-items:center;justify-content:center;position:relative;z-index:1;width:clamp(52px,14vw,72px);height:clamp(52px,14vw,72px);border-radius:50%;background:var(--bg-secondary);font-size:clamp(1.75rem,5vw,2.25rem)}.home-activity-frame{flex-shrink:0;line-height:0}.home-level-badge{display:inline-block;background:linear-gradient(135deg,gold,#ffed4e);color:#333;font-weight:800;font-size:.7rem;padding:.18rem .65rem;border-radius:20px;letter-spacing:.04em;box-shadow:0 2px 6px #0000002e;white-space:nowrap}.home-profile-info{flex:1;min-width:0;text-align:center}.home-profile-info h3{margin:0;font-size:clamp(1.3rem,3.4vw,1.7rem);color:var(--text-primary);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-xp-section{display:flex;flex-direction:column;gap:.35rem}.home-xp-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.home-xp-label{margin:0;font-size:clamp(.78rem,1.7vw,.88rem);color:var(--text-secondary);font-weight:600}.home-xp-bar-track{width:100%;height:8px;background:var(--bg-tertiary);border-radius:50px;overflow:hidden}.home-xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,#e74c3c 100%);border-radius:50px;transition:width .4s ease}.home-featured-row{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:.2rem}.home-feat-badge{width:clamp(46px,12vw,60px);height:clamp(46px,12vw,60px);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:clamp(1.4rem,5vw,1.9rem);background:rgba(var(--accent-rgb),.15);border:2px solid rgba(var(--accent-rgb),.4);box-shadow:0 2px 10px rgba(var(--accent-rgb),.18);flex-shrink:0}.home-section-title{margin:0 0 clamp(.75rem,2vw,1rem) 0;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a78bfa}[data-theme=dark] .home-section-title{color:#4f46e5}.home-empty-message{margin:0;color:var(--text-secondary);font-size:clamp(.9rem,2vw,1rem);font-style:italic}.home-routes-list{display:flex;flex-direction:column;gap:clamp(.75rem,2vw,1rem)}.home-route-item{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.25rem .85rem;align-items:center}.home-route-icon{grid-row:1 / 3;width:clamp(2.25rem,7vw,2.75rem);height:clamp(2.25rem,7vw,2.75rem);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:clamp(1.2rem,3.5vw,1.5rem)}.home-route-details{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.home-route-name{font-size:clamp(.92rem,2.2vw,1.05rem);color:var(--text-primary);font-weight:600}.home-route-progress{font-size:clamp(.8rem,1.8vw,.9rem);color:var(--text-secondary);font-weight:600;white-space:nowrap}.home-route-progress-bar-track{grid-column:2;width:100%;height:6px;background:var(--bg-tertiary);border-radius:50px;overflow:hidden}.home-route-progress-bar-fill{height:100%;border-radius:50px;transition:width .3s ease}.home-route-start{grid-column:2;font-size:clamp(.82rem,1.9vw,.92rem);font-weight:700;align-self:start}.home-challenge-card{position:relative;overflow:hidden;border-radius:18px;padding:clamp(1.1rem,3vw,1.5rem);background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border:1px solid rgba(var(--accent-rgb),.3);cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 24px #0000004d}.home-challenge-card:before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.25) 0%,transparent 70%);pointer-events:none}.home-challenge-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(var(--accent-rgb),.25)}.hc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.hc-label{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a78bfa}.hc-date{font-size:.75rem;color:#ffffff73;font-weight:500}.hc-title{margin:0 0 .75rem;font-size:clamp(1.3rem,4vw,1.7rem);font-weight:800;color:#fff;line-height:1.2;letter-spacing:-.02em}.hc-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.hc-badge{font-size:.72rem;font-weight:700;padding:.25rem .6rem;border-radius:999px;letter-spacing:.02em}.hc-badge-difficulty{background:#ffffff1a;color:#fff}.hc-diff-beginner{background:#34d39933;color:#34d399}.hc-diff-intermediate{background:#fbbf2433;color:#fbbf24}.hc-diff-advanced{background:#ef444433;color:#f87171}.hc-diff-elite{background:#a78bfa33;color:#a78bfa}.hc-badge-type{background:rgba(var(--accent-rgb),.2);color:#818cf8}.hc-badge-score{background:#ffffff14;color:#ffffffb3}.hc-desc{margin:0 0 .85rem;font-size:clamp(.85rem,2vw,.95rem);color:#ffffffa6;line-height:1.5}.hc-exercises{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.hc-exercise-chip{font-size:.78rem;font-weight:600;padding:.2rem .6rem;border-radius:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fffc}.hc-target{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;border-radius:8px;background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.2);width:fit-content}.hc-target-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#818cf8}.hc-target-value{font-size:.88rem;font-weight:700;color:#fff}.hc-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.08)}.hc-xp{font-size:.8rem;font-weight:700;color:#fbbf24;background:#fbbf241f;padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(251,191,36,.25)}.hc-cta{font-size:.9rem;font-weight:700;color:#a78bfa;letter-spacing:.01em}.hc-empty{display:flex;flex-direction:column;align-items:center;padding:1.5rem 0;gap:.5rem}.hc-empty-icon{font-size:2rem}.hc-empty p{margin:0;color:#ffffff73;font-size:.9rem}[data-theme=dark] .home-challenge-card{background:linear-gradient(135deg,#f0f4ff,#e8eeff 60%,#f5f0ff);border:1px solid rgba(var(--accent-rgb),.2);box-shadow:0 4px 32px rgba(var(--accent-rgb),.2)}[data-theme=dark] .home-challenge-card:before{background:radial-gradient(circle,rgba(var(--accent-rgb),.15) 0%,transparent 70%)}[data-theme=dark] .home-challenge-card:hover{box-shadow:0 8px 40px rgba(var(--accent-rgb),.3)}[data-theme=dark] .hc-label{color:#4f46e5}[data-theme=dark] .hc-date{color:#0006}[data-theme=dark] .hc-title{color:#1e1b4b}[data-theme=dark] .hc-desc{color:#1e1b4ba6}[data-theme=dark] .hc-badge-type{background:#6366f11f;color:#4f46e5}[data-theme=dark] .hc-badge-score{background:#0000000f;color:#0009}[data-theme=dark] .hc-diff-beginner{background:#10b9811f;color:#059669}[data-theme=dark] .hc-diff-intermediate{background:#d977061f;color:#b45309}[data-theme=dark] .hc-diff-advanced{background:#dc26261f;color:#dc2626}[data-theme=dark] .hc-diff-elite{background:#6d28d91f;color:#7c3aed}[data-theme=dark] .hc-exercise-chip{background:#0000000f;border-color:#0000001a;color:#000000b3}[data-theme=dark] .hc-target{background:#6366f114;border-color:#6366f133}[data-theme=dark] .hc-target-label{color:#4f46e5}[data-theme=dark] .hc-target-value{color:#1e1b4b}[data-theme=dark] .hc-footer{border-top-color:#00000014}[data-theme=dark] .hc-xp{color:#b45309;background:#d977061a;border-color:#d9770633}[data-theme=dark] .hc-cta{color:#4f46e5}[data-theme=dark] .hc-empty p{color:#0006}.home-promo-header{display:flex;justify-content:space-between;align-items:center}.home-promo-header .home-section-title{margin-bottom:0}.home-promo-see-all{font-size:clamp(.82rem,1.9vw,.95rem);color:var(--accent);font-weight:600}.home-promo-coming-badge{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:.2rem .6rem;border-radius:50px}.home-promo-coming-soon{cursor:default}.home-promo-cs-body{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;padding:1rem 1.25rem;background:var(--bg-secondary);border-radius:12px;border:1px dashed var(--border-primary)}.home-promo-cs-icon{font-size:2rem;flex-shrink:0}.home-promo-cs-text{font-size:.88rem;color:var(--text-secondary);line-height:1.5;margin:0}.home-promo-list{display:flex;gap:clamp(.75rem,2.5vw,1rem);overflow-x:auto;padding:clamp(.75rem,2vw,1rem) 0 .25rem 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.home-promo-list::-webkit-scrollbar{display:none}.home-promo-item{flex-shrink:0;width:clamp(110px,28vw,150px);background:var(--bg-secondary);border-radius:12px;padding:clamp(.6rem,1.8vw,.9rem);display:flex;flex-direction:column;align-items:center;gap:.3rem;position:relative;transition:background .2s ease}.home-promo-item:hover{background:var(--bg-tertiary)}.home-promo-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-size:clamp(.62rem,1.5vw,.72rem);font-weight:700;padding:3px 6px;border-radius:50px;white-space:nowrap;box-shadow:0 2px 6px #e74c3c66}.home-promo-emoji{font-size:clamp(1.6rem,5vw,2rem);line-height:1;margin-top:.25rem}.home-promo-name{margin:0;font-size:clamp(.78rem,1.8vw,.88rem);color:var(--text-primary);font-weight:600;text-align:center;line-height:1.2}.home-promo-prices{display:flex;gap:.4rem;align-items:baseline;margin-top:.15rem}.home-promo-price-old{font-size:clamp(.72rem,1.6vw,.82rem);color:var(--text-tertiary);text-decoration:line-through}.home-promo-price-new{font-size:clamp(.88rem,2vw,1rem);color:var(--accent);font-weight:700}.home-shop-preview-card{cursor:pointer}.home-shop-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.home-shop-preview-header .home-section-title{margin-bottom:0}.home-shop-preview-cta{font-size:clamp(.82rem,1.9vw,.95rem);color:var(--accent);font-weight:600}.home-shop-season-banner{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:10px;background:var(--season-bg, rgba(0,0,0,.05));border:1px solid var(--season-border, rgba(0,0,0,.1));margin-bottom:.75rem}.home-shop-season-icon{font-size:1.4rem;flex-shrink:0}.home-shop-season-info{flex:1;display:flex;flex-direction:column;gap:.05rem}.home-shop-season-label{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--season-color)}.home-shop-season-name{font-size:.88rem;font-weight:700;color:var(--text-primary)}.home-shop-season-price{flex-shrink:0}.home-shop-season-price-value{font-size:.82rem;font-weight:700;color:#b8860b;background:#b8860b1f;border:1px solid rgba(184,134,11,.25);padding:.2rem .5rem;border-radius:20px}.home-shop-section-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);letter-spacing:.04em;margin-bottom:.5rem;margin-top:.1rem}.home-shop-carousel-wrap{position:relative}.home-shop-carousel{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0 .4rem;scrollbar-width:none;scroll-snap-type:x mandatory}.home-shop-carousel::-webkit-scrollbar{display:none}.home-shop-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:26px;height:26px;border-radius:50%;border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-primary);font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000001f;transition:background .15s,transform .15s;padding:0}.home-shop-carousel-btn:hover{background:var(--bg-secondary);transform:translateY(-50%) scale(1.08)}.home-shop-carousel-btn-left{left:-13px}.home-shop-carousel-btn-right{right:-13px}.home-shop-item-chip{flex-shrink:0;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:.25rem;width:clamp(72px,20vw,96px);background:var(--bg-secondary);border-radius:10px;padding:.5rem .4rem .45rem;transition:background .2s;position:relative}.home-shop-item-chip:hover{background:var(--bg-tertiary)}.home-shop-type-badge{font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.1rem .35rem;border-radius:20px;line-height:1.4}.home-shop-type-frame{background:rgba(var(--accent-rgb),.15);color:var(--accent)}.home-shop-type-banner{background:#b8860b26;color:#b8860b}.home-shop-frame-ring{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center}.home-shop-frame-placeholder{font-size:1.15rem;line-height:1}.home-shop-banner-swatch{width:100%;height:34px;border-radius:7px;overflow:hidden}.home-shop-item-name{font-size:.7rem;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.2}.home-shop-item-price{font-size:.65rem;font-weight:700;color:#b8860b}.home-social-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.home-social-see-all{font-size:.82rem;font-weight:600;color:var(--accent)}.home-activity-list{display:flex;flex-direction:column;gap:0}.home-activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--border-primary)}.home-activity-item:last-child{border-bottom:none;padding-bottom:0}.home-activity-left{display:flex;align-items:flex-start;gap:.6rem;flex:1;min-width:0}.home-activity-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.home-activity-avatar-placeholder{background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:1.1rem}.home-activity-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.home-activity-name{font-size:.88rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-activity-content{font-size:.82rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-activity-details{font-size:.76rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-activity-right{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;flex-shrink:0}.home-activity-icon{font-size:1rem}.home-activity-time{font-size:.72rem;color:var(--text-tertiary);white-space:nowrap}.home-activity-stats{display:flex;gap:.5rem;font-size:.72rem;color:var(--text-tertiary);font-weight:600}.home-social-empty{display:flex;flex-direction:column;align-items:center;padding:1.25rem 0 .5rem;gap:.4rem;text-align:center}.home-social-empty-icon{font-size:1.8rem}.home-social-empty p{margin:0;font-size:.88rem;color:var(--text-secondary)}.home-social-empty-cta{font-size:.82rem;font-weight:700;color:var(--accent);cursor:pointer;margin-top:.2rem}.home-tasks-card{cursor:default}.home-tasks-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.home-tasks-header-row .home-section-title{margin:0}.home-tasks-subtitle{font-size:.78rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.home-tasks-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.home-task-chip{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 9px;background:var(--bg-secondary);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:background .18s,border-color .18s,opacity .18s;text-align:center}.home-task-chip:not(.done):hover{background:var(--bg-tertiary)}.home-task-chip:not(.done):active{transform:scale(.97)}.home-task-chip.done{background:linear-gradient(135deg,#48bb7815,#38a16915);border-color:#48bb78;cursor:default;opacity:.85}.home-task-chip-icon{font-size:1.55rem;line-height:1}.home-task-chip-check{position:absolute;top:5px;right:7px;font-size:.65rem;font-weight:800;color:#fff;background:#48bb78;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center}.home-task-chip-name{font-size:.78rem;font-weight:700;color:var(--text-primary);line-height:1.1}.home-task-chip-desc{font-size:.68rem;color:var(--text-secondary);font-weight:500;line-height:1.2}.home-task-chip.health-ready{border-color:#48bb7880;background:linear-gradient(135deg,#48bb7808,#38a16908);animation:health-ready-pulse 2s ease-in-out infinite}@keyframes health-ready-pulse{0%,to{border-color:#48bb7866}50%{border-color:#48bb78d9}}.home-health-connect-btn{display:flex;align-items:center;gap:.6rem;width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.65rem .85rem;margin-bottom:.75rem;cursor:pointer;text-align:left;transition:background .15s}.home-health-connect-btn:hover{background:#ffffff12}.home-health-connect-icon{font-size:1.2rem;flex-shrink:0}.home-health-connect-text{flex:1;font-size:.8rem;color:var(--text-secondary);font-weight:500;line-height:1.3}.home-health-connect-arrow{font-size:1.1rem;color:var(--text-tertiary);flex-shrink:0}.home-health-toast{display:flex;align-items:center;gap:.5rem;background:#48bb781f;border:1px solid rgba(72,187,120,.35);border-radius:8px;padding:.5rem .75rem;margin-bottom:.65rem;font-size:.8rem;color:#48bb78;font-weight:600;animation:health-toast-in .25s ease}@keyframes health-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.home-health-toast-icon{font-size:.95rem;flex-shrink:0}.home-tasks-complete-banner{margin-top:clamp(.75rem,2vw,1rem);padding:clamp(.75rem,2vw,1rem);background:linear-gradient(135deg,#ffd70015,#ffed4e15);border:2px solid #ffd700;border-radius:12px;text-align:center;font-weight:700;font-size:clamp(.92rem,2.1vw,1.05rem);color:var(--text-primary)}.home-tasks-card-done{padding:.75rem clamp(1.25rem,3vw,1.75rem);cursor:default;background:linear-gradient(135deg,#48bb7808,#38a16908);border:1.5px solid #48bb7840;display:flex;flex-direction:column;gap:.6rem}.home-tasks-done-row{display:flex;align-items:center;justify-content:center;gap:.75rem}.home-tasks-done-title{font-size:.9rem;font-weight:700;color:var(--text-primary);line-height:1.2}.home-tasks-done-checks{display:flex;gap:.4rem;flex-shrink:0}.home-tasks-done-check{width:30px;height:30px;border-radius:50%;background:#48bb78;color:#fff;font-size:.9rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #48bb7859}.home-tasks-bonus-btn{width:100%;padding:.6rem;border:none;border-radius:12px;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;font-size:.9rem;font-weight:800;cursor:pointer;box-shadow:0 3px 12px #48bb7866;transition:transform .12s;animation:bonus-pulse 1.8s ease-in-out infinite}.home-tasks-bonus-btn:active{transform:scale(.98)}@keyframes bonus-pulse{0%,to{box-shadow:0 3px 12px #48bb7866}50%{box-shadow:0 3px 18px #48bb78b3}}.home-tasks-bonus-claimed{text-align:center;font-size:.8rem;font-weight:700;color:#48bb78}.home-task-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.home-task-modal{background:var(--bg-primary);border-radius:16px;padding:clamp(1.5rem,4vw,2rem);width:min(90%,400px);box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.home-task-modal-title{margin:0 0 clamp(1rem,2.5vw,1.25rem) 0;font-size:clamp(1.1rem,2.5vw,1.3rem);color:var(--text-primary);font-weight:700;text-align:center}.home-task-modal-input{width:100%;padding:clamp(.75rem,2vw,1rem);border:2px solid var(--border-primary);border-radius:8px;font-size:clamp(.95rem,2vw,1.05rem);margin-bottom:clamp(1rem,2.5vw,1.25rem);box-sizing:border-box;transition:border-color .2s ease;background:var(--bg-primary);color:var(--text-primary)}.home-task-modal-input:focus{outline:none;border-color:var(--accent)}.home-task-modal-actions{display:flex;gap:clamp(.75rem,2vw,1rem)}.home-task-modal-btn{flex:1;padding:clamp(.75rem,2vw,1rem);border:none;border-radius:8px;font-weight:700;font-size:clamp(.95rem,2vw,1.05rem);cursor:pointer;transition:all .2s ease}.home-task-modal-btn.cancel{background:var(--bg-tertiary);color:var(--text-primary)}.home-task-modal-btn.cancel:hover{background:var(--border-secondary);transform:translateY(-2px)}.home-task-modal-btn.submit{background:var(--bg-gradient);color:#fff}.home-task-modal-btn.submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--accent-rgb),.4)}@media(max-width:480px){.home-route-details{flex-direction:column;gap:.1rem}.home-route-progress{font-size:.78rem}.home-task-chip-desc{display:none}.home-task-chip{padding:10px 4px 8px;align-self:flex-end}}.home-pass-card{display:flex;flex-direction:column;gap:.85rem;border-left:4px solid var(--season-color, #ff8c00);cursor:pointer}.home-pass-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.home-pass-title-group{display:flex;align-items:center;gap:.6rem;min-width:0}.home-pass-icon{font-size:1.5rem;flex-shrink:0}.home-pass-season-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--season-color, #ff8c00);line-height:1;margin-bottom:.15rem}.home-pass-season-name{font-size:.95rem;font-weight:800;color:var(--text-primary);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-pass-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.home-pass-days-pill{display:flex;flex-direction:column;align-items:center;background:color-mix(in srgb,var(--season-color, #ff8c00) 12%,transparent);border:1px solid color-mix(in srgb,var(--season-color, #ff8c00) 30%,transparent);border-radius:8px;padding:.2rem .5rem;line-height:1}.home-pass-days-num{font-size:1.05rem;font-weight:800;color:var(--season-color, #ff8c00)}.home-pass-days-label{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.home-pass-view-cta{font-size:.72rem;font-weight:700;color:var(--season-color, #ff8c00);opacity:.75}.home-pass-progress-section{display:flex;flex-direction:column;gap:.4rem}.home-pass-tier-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.home-pass-tier-label{font-size:.82rem;font-weight:600;color:var(--text-primary)}.home-pass-xp-note{font-size:.7rem;color:var(--text-secondary);white-space:nowrap}.home-pass-xp-note.home-pass-max{color:var(--season-color, #ff8c00);font-weight:700}.home-pass-bar-bg{height:7px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.home-pass-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.home-pass-upcoming{display:flex;flex-direction:column;gap:.45rem}.home-pass-upcoming-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.home-pass-rewards-row{display:flex;gap:.5rem;flex-wrap:wrap}.home-pass-reward-chip{display:flex;flex-direction:column;gap:.25rem;background:var(--bg-secondary);border-radius:10px;padding:.5rem .65rem;min-width:80px;flex:1;max-width:160px}.home-pass-reward-tier{font-size:.62rem;font-weight:800;letter-spacing:.06em}.home-pass-reward-item{display:flex;align-items:center;gap:.3rem}.home-pass-reward-icon{font-size:.9rem;flex-shrink:0}.home-pass-reward-badge-img{width:22px;height:22px;object-fit:contain;flex-shrink:0}.home-pass-reward-boost-img{width:22px;height:22px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 3px rgba(0,0,0,.2))}.home-pass-reward-name{font-size:.65rem;font-weight:600;color:var(--text-primary);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px}.home-pass-reward-free{opacity:1}.home-pass-reward-premium .home-pass-reward-name{color:#b8860b}.home-pass-reward-premium .home-pass-reward-icon{opacity:.85}.home-pass-reward-premium-wrap{position:relative;border-radius:6px;overflow:hidden}.home-pass-reward-premium-locked .home-pass-reward-item{opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none}.home-pass-premium-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000038;border-radius:6px}.home-pass-premium-overlay-text{font-size:.58rem;font-weight:700;color:#f59e0be6;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.5)}.home-pass-claimable{display:flex;flex-direction:column;gap:.5rem}.home-pass-claimable-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.home-pass-claimable-row{display:flex;flex-direction:column;gap:.4rem}.home-pass-claimable-chip{display:flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--season-color, #ff8c00) 8%,var(--bg-secondary));border:1.5px solid color-mix(in srgb,var(--season-color, #ff8c00) 30%,transparent);border-radius:10px;padding:.45rem .7rem}.home-pass-claimable-tier{font-size:.62rem;font-weight:800;letter-spacing:.06em;min-width:22px}.home-pass-claimable-icon{font-size:1rem;flex-shrink:0}.home-pass-claimable-badge-img{width:28px;height:28px;object-fit:contain;flex-shrink:0}.home-pass-claimable-name{font-size:.78rem;font-weight:600;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-pass-claim-btn{padding:.25rem .65rem;background:var(--season-color, #ff8c00);color:#fff;border:none;border-radius:20px;font-size:.72rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:opacity .15s}.home-pass-claim-btn:hover:not(:disabled){opacity:.82}.home-pass-claim-btn:disabled{opacity:.5;cursor:not-allowed}.home-pass-complete-banner{text-align:center;font-size:.82rem;font-weight:700;color:var(--season-color, #ff8c00);background:color-mix(in srgb,var(--season-color, #ff8c00) 10%,transparent);border-radius:8px;padding:.5rem}.home-pass-modal-overlay{position:fixed;inset:0;background:#000000a6;z-index:1200;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 1rem) 1rem calc(env(safe-area-inset-bottom,0px) + 1rem);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:all}.home-pass-modal-container{position:relative;width:100%;max-width:460px;height:640px;max-height:100%;display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:20px;overflow:hidden;box-shadow:0 24px 64px #00000080}.home-pass-modal-container .sp-root{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.home-pass-modal-container .sp-header{flex-shrink:0}.home-pass-modal-container .sp-track-wrap{flex:1;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch;border-radius:0;border-bottom:none}.home-pass-modal-container .sp-upgrade-banner{flex-shrink:0;margin-top:0;border-radius:0;border-left:none;border-right:none;border-bottom:none;border-top:1px solid rgba(184,134,11,.25)}.home-pass-modal-close{position:absolute;top:.6rem;right:.6rem;z-index:10;background:#ffffffe6;border:none;border-radius:50%;width:30px;height:30px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000040;line-height:1}.home-shield-badge{font-size:.75rem;padding:2px 6px;background:#64b4ff26;border:1px solid rgba(100,180,255,.3);border-radius:20px;color:#8cf;cursor:default;white-space:nowrap}.home-feedback-card{margin-bottom:1.5rem}.home-feedback-content{display:flex;align-items:center;gap:1rem}.home-feedback-text{flex:1;min-width:0}.home-feedback-desc{font-size:.82rem;color:var(--text-secondary, #aaa);margin:0;line-height:1.4}.home-feedback-actions{display:flex;flex-direction:column;gap:.4rem;flex-shrink:0}.home-feedback-btn{padding:.45rem .85rem;border-radius:8px;border:1.5px solid rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.1);color:#a0aff5;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.home-feedback-btn:hover{background:rgba(var(--accent-rgb),.22)}.home-feedback-btn-bug{border-color:#fb923c59;background:#fb923c14;color:#fdba74}.home-feedback-btn-bug:hover{background:#fb923c2e}.streak-popout-overlay{position:fixed;inset:0;z-index:299;background:#00000073;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.streak-popout{position:fixed;top:0;left:0;right:0;z-index:300;background:#1a1a2e;border-radius:0 0 22px 22px;padding:calc(env(safe-area-inset-top,0px) + 60px + .75rem) 1.25rem 1.4rem;box-shadow:0 12px 40px #0000008c;animation:streak-popout-drop .22s cubic-bezier(.34,1.3,.64,1);max-height:92vh;overflow-y:auto}@keyframes streak-popout-drop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.streak-popout-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.streak-popout-title{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:-.01em}.streak-popout-close{background:#ffffff14;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#fff9;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.streak-popout-close:hover{background:#ffffff26;color:#fff}.streak-popout-status{display:flex;align-items:flex-start;gap:.75rem;border-radius:12px;padding:.8rem 1rem;margin-bottom:.85rem}.streak-popout-status-safe{background:#48bb781f;border:1px solid rgba(72,187,120,.3)}.streak-popout-status-safe .streak-popout-status-icon{color:#48bb78;font-size:1.1rem;margin-top:.05rem}.streak-popout-status-safe .streak-popout-status-title{color:#48bb78}.streak-popout-status-risk{background:#fbbf241a;border:1px solid rgba(251,191,36,.3)}.streak-popout-status-risk .streak-popout-status-icon{color:#fbbf24;font-size:1.1rem;margin-top:.05rem}.streak-popout-status-risk .streak-popout-status-title{color:#fbbf24}.streak-popout-status-title{font-weight:700;font-size:.9rem;margin-bottom:.2rem}.streak-popout-status-sub{font-size:.78rem;color:#fff9;line-height:1.4}.streak-popout-shield-note{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#ffffff8c;background:#ffffff0a;border-radius:8px;padding:.55rem .85rem;margin-bottom:.85rem;line-height:1.4}.streak-popout-note-img{width:20px;height:20px;object-fit:contain;flex-shrink:0}.streak-popout-xp-bonus{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:#ffd76a;background:linear-gradient(135deg,#ff8c0029,#ff3d3d1f);border:1px solid rgba(255,180,80,.3);border-radius:8px;padding:.55rem .85rem;margin-bottom:.85rem;line-height:1.35}.streak-popout-xp-bonus-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}.streak-popout-aura{display:flex;align-items:center;justify-content:space-between;gap:.5rem .75rem;flex-wrap:wrap;font-size:.76rem;margin-bottom:.85rem}.streak-popout-aura-current{font-weight:700;color:#fff}.streak-popout-aura-none,.streak-popout-aura-next{color:#ffffff80;font-weight:600}.streak-popout-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#ffffff59;margin-bottom:.55rem}.streak-popout-activities{display:flex;flex-direction:column;gap:.55rem}.streak-popout-activity{display:flex;align-items:center;gap:.75rem}.streak-popout-activity-icon{font-size:1.15rem;width:1.6rem;text-align:center;flex-shrink:0}.streak-popout-activity-text{display:flex;flex-direction:column;gap:.08rem}.streak-popout-activity-label{font-size:.87rem;font-weight:600;color:#ffffffe6}.streak-popout-activity-sub{font-size:.74rem;color:#ffffff73}.avatar-frame-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;line-height:0;flex-shrink:0}.frame-bronze-1{padding:3px;background:#cd7f32}.frame-bronze-2{padding:4px;background:linear-gradient(135deg,#a05c1e,#cd7f32 40%,#e8a858,#cd7f32,#a05c1e);box-shadow:0 0 8px #cd7f3273}.frame-bronze-3{padding:5px;background:linear-gradient(135deg,#7a3e0a,#cd7f32,#f0b060,#cd7f32,#7a3e0a);box-shadow:0 0 0 2px #cd7f3240,0 0 14px #cd7f328c}.frame-silver-1{padding:3px;background:#b0b0b0}.frame-silver-2{padding:4px;background:linear-gradient(135deg,gray,silver 40%,#f0f0f0,silver,gray);box-shadow:0 0 8px #c0c0c080}.frame-silver-3{padding:5px;background:transparent}.frame-silver-3:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#606060,silver 30%,#fff,silver 70%,#606060);box-shadow:0 0 0 2px #c0c0c04d,0 0 16px #dcdcdcb3;animation:frame-silver-shimmer 3s ease-in-out infinite;z-index:0}.frame-silver-3>.avatar-circle,.frame-silver-3>.frame-swatch-avatar,.frame-silver-3>.levelup-frame-avatar,.frame-silver-3>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-silver-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.frame-gold-1{padding:3px;background:#daa520}.frame-gold-2{padding:4px;background:linear-gradient(135deg,#b8860b,gold 40%,#ffec6e,gold,#b8860b);box-shadow:0 0 10px #ffd7008c}.frame-gold-3{padding:5px;background:linear-gradient(135deg,#8b6914,gold 30%,#fffacd,gold 70%,#8b6914);animation:frame-gold-pulse 2s ease-in-out infinite}@keyframes frame-gold-pulse{0%,to{box-shadow:0 0 0 2px #ffd7004d,0 0 14px #ffd7008c}50%{box-shadow:0 0 0 3px #ffd70080,0 0 26px #ffd700e6}}.frame-platinum-1{padding:4px;background:linear-gradient(135deg,#8e9eab,#c8d6e5 40%,#eef4fb,#c8d6e5,#8e9eab);box-shadow:0 0 10px #c8d6e58c}.frame-platinum-2{padding:5px;background:transparent}.frame-platinum-2:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#6a7d8e,#c8d6e5 30%,#fff,#c8d6e5 70%,#6a7d8e);box-shadow:0 0 0 2px #c8d6e566,0 0 18px #c8d6e5bf;animation:frame-platinum-sweep 2.5s ease-in-out infinite;z-index:0}.frame-platinum-2>.avatar-circle,.frame-platinum-2>.frame-swatch-avatar,.frame-platinum-2>.levelup-frame-avatar,.frame-platinum-2>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-platinum-sweep{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.2) saturate(1.1)}}.frame-diamond-1{padding:4px;background:linear-gradient(135deg,#00acc1,#4dd0e1 40%,#b2ebf2,#4dd0e1,#00acc1);box-shadow:0 0 14px #4dd0e1a6}.frame-diamond-2{padding:5px;background:transparent}.frame-diamond-2:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#006978,#4dd0e1,#e0ffff,#4dd0e1,#006978);box-shadow:0 0 0 2px #4dd0e166,0 0 22px #4dd0e1d9;animation:frame-diamond-spark 1.8s ease-in-out infinite;z-index:0}.frame-diamond-2>.avatar-circle,.frame-diamond-2>.frame-swatch-avatar,.frame-diamond-2>.levelup-frame-avatar,.frame-diamond-2>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-diamond-spark{0%,to{filter:brightness(1) saturate(1)}40%{filter:brightness(1.35) saturate(1.3)}80%{filter:brightness(.9) saturate(.9)}}.frame-legendary{padding:5px;background:transparent}.frame-legendary:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(red,#f70,#ff0,#0f0,#07f,#8b00ff,red);animation:frame-legendary-hue 4s linear infinite;z-index:0}.frame-legendary>.avatar-circle,.frame-legendary>.frame-swatch-avatar,.frame-legendary>.levelup-frame-avatar,.frame-legendary>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-legendary-hue{to{filter:hue-rotate(360deg)}}.frame-mythic{padding:5px;background:transparent}.frame-mythic:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(#4a0099,#93f,#c6f,#f0c,#93f,#4a0099);animation:frame-mythic-pulse 2s ease-in-out infinite;z-index:0}.frame-mythic>.avatar-circle,.frame-mythic>.frame-swatch-avatar,.frame-mythic>.levelup-frame-avatar,.frame-mythic>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-mythic-pulse{0%,to{box-shadow:0 0 0 2px #9933ff59,0 0 20px #9933ffbf;filter:brightness(1)}50%{box-shadow:0 0 0 3px #cc66ff8c,0 0 36px #cc66fff2;filter:brightness(1.3)}}.frame-celestial{padding:5px;background:transparent}.frame-celestial:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(#03b,#48f,#acf,#fff,#acf,#48f,#03b);animation:frame-celestial-flash 1.8s ease-in-out infinite;z-index:0}.frame-celestial>.avatar-circle,.frame-celestial>.frame-swatch-avatar,.frame-celestial>.levelup-frame-avatar,.frame-celestial>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-celestial-flash{0%,to{box-shadow:0 0 0 2px #64a0ff66,0 0 26px #64a0ffd9;filter:brightness(1) saturate(1)}45%{box-shadow:0 0 0 3px #c8e1ffa6,0 0 46px #c8e1ff;filter:brightness(1.55) saturate(1.25)}}.frame-infernal{padding:5px;background:transparent}.frame-infernal:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(#800,#d20,#f60,#fa0,#f60,#d20,#800);animation:frame-infernal-blaze 1.2s ease-in-out infinite;z-index:0}.frame-infernal>.avatar-circle,.frame-infernal>.frame-swatch-avatar,.frame-infernal>.levelup-frame-avatar,.frame-infernal>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-infernal-blaze{0%,to{box-shadow:0 0 0 2px #dc500073,0 0 24px #dc5000e6;filter:brightness(1) saturate(1)}50%{box-shadow:0 0 0 3px #ff8c0099,0 0 44px #ff5000;filter:brightness(1.35) saturate(1.35)}}.frame-ethereal{padding:6px;background:transparent}.frame-ethereal:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(#0fc,#0af,#80f,#f0a,#0fc);animation:frame-ethereal-aurora 4s linear infinite;z-index:0}.frame-ethereal>.avatar-circle,.frame-ethereal>.frame-swatch-avatar,.frame-ethereal>.levelup-frame-avatar,.frame-ethereal>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-ethereal-aurora{0%{filter:hue-rotate(0deg) brightness(1);box-shadow:0 0 0 2px #00ffb466,0 0 30px #00c8ffd9}50%{filter:hue-rotate(180deg) brightness(1.25);box-shadow:0 0 0 3px #b400ff8c,0 0 48px #6400fff2}to{filter:hue-rotate(360deg) brightness(1);box-shadow:0 0 0 2px #00ffb466,0 0 30px #00c8ffd9}}.frame-apex{padding:6px;background:transparent}.frame-apex:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(#b8860b,gold,#fffacd,gold,#fa0,gold,#fffacd,gold,#b8860b);animation:frame-apex-crown 1.4s ease-in-out infinite;z-index:0}.frame-apex>.avatar-circle,.frame-apex>.frame-swatch-avatar,.frame-apex>.levelup-frame-avatar,.frame-apex>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-apex-crown{0%,to{box-shadow:0 0 0 2px #ffd70080,0 0 0 5px #ffd70026,0 0 32px #ffd700e6;filter:brightness(1) saturate(1.1)}50%{box-shadow:0 0 0 3px #ffe600b3,0 0 0 7px #ffd70047,0 0 56px #ffdc00;filter:brightness(1.45) saturate(1.35)}}.frame-iron-forge{padding:6px;background:transparent}.frame-iron-forge:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#333,#888 30%,#ccc,#888 70%,#333);box-shadow:0 0 0 2px #444,0 0 0 4px #222,0 0 12px #ff960033;z-index:0}.frame-iron-forge>.avatar-circle,.frame-iron-forge>.frame-swatch-avatar,.frame-iron-forge>.levelup-frame-avatar,.frame-iron-forge>.customize-preview-circle{position:relative;z-index:1}.frame-ember-ring{padding:6px;background:transparent}.frame-ember-ring:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#f20,#ff6000 30%,#fa0,#ff6000 70%,#f20);animation:frame-ember-blaze 1.4s ease-in-out infinite;z-index:0}.frame-ember-ring>.avatar-circle,.frame-ember-ring>.frame-swatch-avatar,.frame-ember-ring>.levelup-frame-avatar,.frame-ember-ring>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-ember-blaze{0%,to{box-shadow:0 0 0 2px #ff640066,0 0 20px #ff5000b3,0 0 40px #ff3c004d}50%{box-shadow:0 0 0 3px #ff8c0099,0 0 36px #ff6400,0 0 60px #ff3c0080}}.frame-molten-ring,.frame-molten-pulse{background:transparent}.frame-lightning-arc{padding:5px;background:transparent}.frame-lightning-arc:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#04f,#0af 30%,#8df,#0af 70%,#04f);animation:frame-lightning-arc-pulse 1.6s ease-in-out infinite;z-index:0}.frame-lightning-arc>.avatar-circle,.frame-lightning-arc>.frame-swatch-avatar,.frame-lightning-arc>.levelup-frame-avatar,.frame-lightning-arc>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-lightning-arc-pulse{0%,to{box-shadow:0 0 0 2px #00aaff4d,0 0 18px #0afc,0 0 36px #0064ff66}50%{box-shadow:0 0 0 3px #00c8ff80,0 0 32px #00c8ff,0 0 56px #0064ff99}}.frame-neon-arc{padding:6px;background:transparent}.frame-neon-arc:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#f0c,#c0f 30%,#0cf,#c0f 70%,#f0c);animation:frame-neon-arc-glow 1.8s ease-in-out infinite;z-index:0}.frame-neon-arc>.avatar-circle,.frame-neon-arc>.frame-swatch-avatar,.frame-neon-arc>.levelup-frame-avatar,.frame-neon-arc>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-neon-arc-glow{0%,to{box-shadow:0 0 0 2px #ff00c84d,0 0 20px #c800ffcc,0 0 40px #6400ff66}50%{box-shadow:0 0 0 3px #ff00ff80,0 0 36px #f0f,0 0 64px #6400ff99}}.frame-alpine-crest{padding:6px;background:transparent}.frame-alpine-crest:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#1b3a5c,#5ba3d9 30%,#d4eaf7,#5ba3d9 70%,#1b3a5c);box-shadow:0 0 0 2px #5ba3d94d,0 0 16px #5ba3d980;z-index:0}.frame-alpine-crest>.avatar-circle,.frame-alpine-crest>.frame-swatch-avatar,.frame-alpine-crest>.levelup-frame-avatar,.frame-alpine-crest>.customize-preview-circle{position:relative;z-index:1}.frame-glacier-halo{padding:7px;background:transparent}.frame-glacier-halo:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#003060,#3ad,#adf 50%,#fff,#adf 80%,#3ad,#003060);animation:frame-glacier-shimmer 2.2s ease-in-out infinite;z-index:0}.frame-glacier-halo>.avatar-circle,.frame-glacier-halo>.frame-swatch-avatar,.frame-glacier-halo>.levelup-frame-avatar,.frame-glacier-halo>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-glacier-shimmer{0%,to{box-shadow:0 0 0 3px #aadcff33,0 0 22px #33aaddb3,0 0 44px #0050a04d;filter:brightness(1)}50%{box-shadow:0 0 0 4px #c8f0ff66,0 0 36px #64c8ff,0 0 60px #0078dc80;filter:brightness(1.2)}}.frame-circuit{padding:5px;background:transparent}.frame-circuit:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#054,#0fc 30%,#4fe,#0fc 70%,#054);animation:frame-circuit-pulse 1.8s ease-in-out infinite;z-index:0}.frame-circuit>.avatar-circle,.frame-circuit>.frame-swatch-avatar,.frame-circuit>.levelup-frame-avatar,.frame-circuit>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-circuit-pulse{0%,to{box-shadow:0 0 0 2px #00ffc833,0 0 16px #00ffc8b3,0 0 32px #00c89666}50%{box-shadow:0 0 0 3px #00ffdc66,0 0 28px #00ffc8,0 0 50px #00c89699}}.frame-synthwave-ring{padding:7px;background:transparent}.frame-synthwave-ring:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#f0f,#a0f,#50f,#a0f,#f0f);animation:frame-synthwave-glow 2s ease-in-out infinite;z-index:0}.frame-synthwave-ring>.avatar-circle,.frame-synthwave-ring>.frame-swatch-avatar,.frame-synthwave-ring>.levelup-frame-avatar,.frame-synthwave-ring>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-synthwave-glow{0%,to{box-shadow:0 0 0 3px #c800ff33,0 0 20px #ff00ffb3,0 0 40px #6400c866}50%{box-shadow:0 0 0 4px #f0f6,0 0 36px #f0f,0 0 60px #9600ff99}}.frame-cosmic-throne{padding:7px;background:transparent}.frame-cosmic-throne:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,gold,#9b59b6,#3498db,#2ecc71,#e74c3c,gold);animation:frame-cosmic-spin 4s linear infinite;z-index:0}.frame-cosmic-throne>.avatar-circle,.frame-cosmic-throne>.frame-swatch-avatar,.frame-cosmic-throne>.levelup-frame-avatar,.frame-cosmic-throne>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-cosmic-spin{0%{filter:hue-rotate(0deg);box-shadow:0 0 0 3px #6400c84d,0 0 24px #b464ffb3,0 0 48px #64009666}50%{filter:hue-rotate(180deg);box-shadow:0 0 0 4px #c800ff80,0 0 40px #f0f,0 0 70px #6400c899}to{filter:hue-rotate(360deg);box-shadow:0 0 0 3px #6400c84d,0 0 24px #b464ffb3,0 0 48px #64009666}}.frame-abyssal{padding:7px;background:transparent}.frame-abyssal:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% -50%,#80f,#1a0030 40%,#000 70%);box-shadow:0 0 0 2px #1a0030,0 0 0 4px #000,0 0 24px #6400c880;z-index:0}.frame-abyssal>.avatar-circle,.frame-abyssal>.frame-swatch-avatar,.frame-abyssal>.levelup-frame-avatar,.frame-abyssal>.customize-preview-circle{position:relative;z-index:1}.frame-apex-glow{padding:6px;background:transparent}.frame-apex-glow:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(#b8860b,gold,#fffacd,gold,#fa0,gold,#fffacd,gold,#b8860b);animation:frame-apex-glow-pulse 1.2s ease-in-out infinite;z-index:0}.frame-apex-glow>.avatar-circle,.frame-apex-glow>.frame-swatch-avatar,.frame-apex-glow>.levelup-frame-avatar,.frame-apex-glow>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-apex-glow-pulse{0%,to{box-shadow:0 0 0 2px #ffd70080,0 0 0 5px #ffd70026,0 0 32px #ffd700e6;filter:brightness(1)}50%{box-shadow:0 0 0 4px #ffe600cc,0 0 0 8px #ffd7004d,0 0 64px #ffdc00;filter:brightness(1.6)}}.frame-infernal-pulse{padding:5px;background:transparent}.frame-infernal-pulse:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(#800,#d20,#f60,#fa0,#f60,#d20,#800);animation:frame-infernal-pulse-blaze 1s ease-in-out infinite;z-index:0}.frame-infernal-pulse>.avatar-circle,.frame-infernal-pulse>.frame-swatch-avatar,.frame-infernal-pulse>.levelup-frame-avatar,.frame-infernal-pulse>.customize-preview-circle{position:relative;z-index:1}@keyframes frame-infernal-pulse-blaze{0%,to{box-shadow:0 0 0 2px #ff55004d,0 0 22px #f50c;filter:brightness(1) saturate(1)}50%{box-shadow:0 0 0 4px #f509,0 0 44px #f50,0 0 70px #ff280099;filter:brightness(1.5) saturate(1.4)}}.banner-forge{background:linear-gradient(135deg,#1a0500,#3d1100 30%,#7a3500 55%,#c86400 75%,#ff9a3c)!important}.banner-molten{background:radial-gradient(ellipse at 30% 70%,#ff4500,#c20,#600 60%,#1a0000)!important}.banner-iron-city{background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 40px),linear-gradient(180deg,#1a1a1a,#2d2d2d 40%,#444,#1a1a1a)!important}.banner-anvil{background:linear-gradient(160deg,#0a0a0a,#1f1f1f 40%,#3a3a3a 70%,#5c5c5c 90%,#888)!important}.banner-ember{background:radial-gradient(ellipse at 50% 100%,#ff6000,#c30 25%,#400 60%,#0d0000)!important}.banner-streak-banner-wildfire{background:linear-gradient(180deg,#00000040,#0000008c),url(../Streak%20Assets/Wildfire.jpg) center/cover no-repeat!important}.banner-streak-banner-eternal{background:linear-gradient(180deg,#0000004d,#0009),url(../Streak%20Assets/Eternal.jpg) center/cover no-repeat!important}.banner-solid-steel{background-image:url(../Solid%20Steel%20Banner.png)!important;background-size:cover!important;background-position:center!important}.banner-afterburn{background:linear-gradient(105deg,#000,#1a0030 20%,#3d00a0 50%,#80f,#f0a)!important}.banner-neon-dash{background:repeating-linear-gradient(70deg,transparent,transparent 38px,rgba(0,255,255,.06) 38px,rgba(0,255,255,.06) 40px),repeating-linear-gradient(70deg,transparent,transparent 58px,rgba(255,0,200,.05) 58px,rgba(255,0,200,.05) 60px),linear-gradient(105deg,#050510,#0a0025)!important}.banner-voltage{background:linear-gradient(135deg,#000814,#001d3d 40%,#003566,#0077b6)!important}.banner-supersonic{background:linear-gradient(100deg,#000,#12002f,#5200a3 60%,#be00ff 85%,#ff006e)!important}.banner-turbine{background:conic-gradient(from 200deg at 110% 50%,#000,#013,#026,#04c,#026,#000 300deg)!important}.banner-alpine{background:linear-gradient(180deg,#1a3a5c,#2d6a9f 35%,#5ba3d9 60%,#4d8fbf,#2a6a9a)!important}.banner-peak{background:linear-gradient(165deg,#0d1b2a,#1b3a5c,#2d6a9f,#5a8ab4,#3a6a99)!important}.banner-glacier{background:linear-gradient(135deg,#003060,#0066a0 30%,#3ad 55%,#28b 75%,#1166a0)!important}.banner-highland{background:linear-gradient(180deg,#1a3300,#2e5c00 25%,#4d9900,#70cc33,#38a 85%,#1a6688)!important}.banner-storm-peak{background:radial-gradient(ellipse at 70% 20%,rgba(200,220,255,.15) 0%,transparent 50%),linear-gradient(160deg,#0a0a14,#1a1a2e 30%,#2d3a5c 55%,#4a5c80 75%,#8099c0)!important}.banner-vice-city{background:repeating-linear-gradient(45deg,rgba(255,0,255,.04) 0px,rgba(255,0,255,.04) 1px,transparent 1px,transparent 20px),repeating-linear-gradient(-45deg,rgba(0,255,255,.03) 0px,rgba(0,255,255,.03) 1px,transparent 1px,transparent 30px),linear-gradient(135deg,#0d001a,#1a0033 30%,#2d0055 55%,#507 75%,#203)!important}.banner-grid-night{background:linear-gradient(rgba(0,255,200,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,200,.07) 1px,transparent 1px),linear-gradient(160deg,#020209,#050518,#080824)!important;background-size:30px 30px,30px 30px,100% 100%!important}.banner-synthwave{background:linear-gradient(175deg,#102,#204 30%,#60a,#f0f 80%,#f60)!important}.banner-arcade{background:repeating-linear-gradient(0deg,rgba(255,255,0,.04) 0px,rgba(255,255,0,.04) 2px,transparent 2px,transparent 24px),linear-gradient(135deg,#04040e,#0a0a20)!important}.banner-downtown{background:radial-gradient(ellipse at 50% 100%,#603,#302,#0d000e 70%,#000)!important}.banner-celestial-war{background:radial-gradient(ellipse at 20% 50%,rgba(255,215,0,.12) 0%,transparent 40%),radial-gradient(ellipse at 80% 30%,rgba(100,0,255,.15) 0%,transparent 40%),linear-gradient(135deg,#000428,#004e92,#6a0dad 60%,#e040fb 85%,gold)!important}.banner-infernal-rise{background:radial-gradient(ellipse at 50% 110%,rgba(255,100,0,.3) 0%,transparent 50%),linear-gradient(135deg,#0a0000,#3d0000,#900 50%,#c30 70%,#f60,#fa0)!important}.banner-apex-prime{background:radial-gradient(ellipse at 50% 50%,rgba(255,215,0,.15) 0%,transparent 60%),linear-gradient(135deg,#1a1200,#3d2a00,#856200 40%,#c6a94b 55%,#e8c060,gold 75%,#c6a94b 88%,#1a1200)!important}.banner-void-rift{background:radial-gradient(ellipse at 40% 50%,rgba(120,0,255,.2) 0%,transparent 35%),radial-gradient(ellipse at 70% 40%,rgba(0,200,255,.1) 0%,transparent 30%),linear-gradient(135deg,#000,#0d0221 30%,#1a0050,#000 80%,#1a0221)!important}.banner-prism-break{background:linear-gradient(100deg,#c00,#c50,#aa0,#080,#00c,#60c,#c00)!important}.banner-neon-pink{background:radial-gradient(ellipse at 40% 40%,#cc0058,#880038,#3d0018)!important}.banner-neon-green{background:radial-gradient(ellipse at 40% 40%,#00b330,#072,#003310)!important}.banner-neon-blue{background:radial-gradient(ellipse at 40% 40%,#07c,#04a,#001a55)!important}.banner-neon-purple{background:radial-gradient(ellipse at 40% 40%,#80c,#50a,#205)!important}.banner-neon-orange{background:radial-gradient(ellipse at 40% 40%,#c40,#930,#4d1a00)!important}.banner-sunrise-dusk{background:linear-gradient(135deg,#4a0a3d,#2d0625,#0f0010)!important}.banner-sunrise-blush{background:linear-gradient(135deg,#c2185b,#880e4f,#3d0426)!important}.banner-sunrise-coral{background:linear-gradient(135deg,#e64a19,#bf360c,#5c1600)!important}.banner-sunrise-amber{background:linear-gradient(135deg,#e65100,#bf360c,#7c2000)!important}.banner-sunrise-gold{background:linear-gradient(135deg,#e67c00,#bf6000,#704200)!important}.banner-ocean-midnight{background:linear-gradient(135deg,#0a1628,#050d1a,#020610)!important}.banner-ocean-navy{background:linear-gradient(135deg,#1a3a6b,#0d2044,#060f22)!important}.banner-ocean-cerulean{background:linear-gradient(135deg,#0277bd,#015289,#012244)!important}.banner-ocean-teal{background:linear-gradient(135deg,#00838f,#005662,#002030)!important}.banner-ocean-seafoam{background:linear-gradient(135deg,#00796b,#004d40,#001a15)!important}.banner-forest-pine{background:linear-gradient(135deg,#1b5e20,#0a3d10,#031505)!important}.banner-forest-moss{background:linear-gradient(135deg,#388e3c,#1b5020,#0a2510)!important}.banner-forest-sage{background:linear-gradient(135deg,#558b2f,#33691e,#163009)!important}.banner-forest-bark{background:linear-gradient(135deg,#5d4037,#3e2723,#1a100c)!important}.banner-forest-rust{background:linear-gradient(135deg,#bf360c,#8c2800,#3e1000)!important}.levelup-overlay{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:levelup-bg-in .3s ease}@keyframes levelup-bg-in{0%{opacity:0}to{opacity:1}}.levelup-card{position:relative;background:linear-gradient(160deg,#1a1a2e,#16213e,#0f3460);border:1px solid rgba(var(--accent-rgb),.4);border-radius:24px;padding:2.5rem 2rem 2rem;width:100%;max-width:380px;text-align:center;overflow:hidden;box-shadow:0 0 60px rgba(var(--accent-rgb),.35),0 24px 64px #0009;animation:levelup-card-in .45s cubic-bezier(.34,1.56,.64,1)}@keyframes levelup-card-in{0%{opacity:0;transform:scale(.6) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}.levelup-card:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);animation:levelup-sheen 2.5s ease .5s infinite;pointer-events:none}@keyframes levelup-sheen{0%{transform:translate(-100%)}to{transform:translate(200%)}}.levelup-confetti{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-12px;left:var(--x);width:var(--size);height:var(--size);background:var(--color);opacity:0;animation:confetti-fall 2s ease-in var(--delay) forwards}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) translate(0) rotate(0)}60%{opacity:1}to{opacity:0;transform:translateY(380px) translate(var(--drift)) rotate(var(--spin))}}.levelup-stars{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.levelup-star{position:absolute;top:50%;left:50%;font-size:.85rem;color:#f6d365;opacity:0;animation:star-burst .9s ease calc(var(--si) * .08s + .3s) forwards;--angle: calc(var(--si) * 45deg);--dist: 110px}@keyframes star-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0)}40%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * var(--dist)))}}.levelup-badge-wrap{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-bottom:1rem;position:relative;z-index:1}.levelup-badge{width:88px;height:88px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:2.6rem;box-shadow:0 0 0 6px rgba(var(--accent-rgb),.25),0 0 30px rgba(var(--accent-rgb),.5);animation:badge-pop .6s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes badge-pop{0%{transform:scale(0)}to{transform:scale(1)}}.levelup-badge-level{font-size:.78rem;font-weight:800;letter-spacing:.12em;color:var(--accent);background:rgba(var(--accent-rgb),.15);padding:.2rem .7rem;border-radius:50px;border:1px solid rgba(var(--accent-rgb),.3)}.levelup-headline{font-size:clamp(1.8rem,6vw,2.4rem);font-weight:900;margin:0 0 .25rem;background:linear-gradient(135deg,#fff,#c3cfe2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:levelup-text-in .4s ease .35s both;position:relative;z-index:1}.levelup-rank{font-size:1.1rem;font-weight:700;color:#a78bfa;margin:0 0 1.25rem;letter-spacing:.04em;animation:levelup-text-in .4s ease .45s both;position:relative;z-index:1}@keyframes levelup-text-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.levelup-unlock{background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.3);border-radius:14px;padding:.9rem 1.1rem;margin-bottom:1rem;position:relative;z-index:1;animation:levelup-text-in .4s ease .55s both}.levelup-unlock-chip{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.1em;color:var(--accent);text-transform:uppercase;margin-bottom:.4rem}.levelup-unlock-text{font-size:.9rem;color:#ffffffd9;line-height:1.5;margin:0}.levelup-unlock-theme{background:#ffc8501a;border-color:#ffc8504d;animation-delay:.65s}.levelup-unlock-chip-theme{color:gold}.levelup-theme-swatches{display:flex;gap:.4rem;margin-top:.55rem;flex-wrap:wrap}.levelup-color-dot{width:1.3rem;height:1.3rem;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:inline-block;flex-shrink:0}.levelup-gradient-preview{height:1.5rem;border-radius:8px;margin-top:.55rem;border:2px solid rgba(255,255,255,.2)}.levelup-unlock-frame{background:#b482321f;border-color:#cd7f3259;animation-delay:.7s}.levelup-unlock-chip-frame{color:#cd7f32}.levelup-frame-preview{margin-top:.6rem;width:3rem;height:3rem;align-self:center}.levelup-frame-avatar{width:100%;height:100%;border-radius:50%;background:#1a1a2e}.levelup-next{font-size:.82rem;color:#ffffff73;margin:0 0 1.5rem;position:relative;z-index:1;animation:levelup-text-in .4s ease .6s both}.levelup-next strong{color:#ffffffb3}.levelup-cta{width:100%;padding:.85rem;border-radius:50px;border:none;background:var(--accent-gradient);color:#fff;font-size:1rem;font-weight:800;cursor:pointer;position:relative;z-index:1;box-shadow:0 4px 20px rgba(var(--accent-rgb),.45);transition:transform .15s,box-shadow .15s;animation:levelup-text-in .4s ease .65s both}.levelup-cta:hover{transform:translateY(-2px);box-shadow:0 6px 26px rgba(var(--accent-rgb),.6)}.levelup-cta:active{transform:translateY(0)}.promo-overlay{position:fixed;inset:0;background:#000000d1;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:promo-bg-in .3s ease}@keyframes promo-bg-in{0%{opacity:0}to{opacity:1}}.promo-card{position:relative;background:linear-gradient(160deg,#1a1a2e,#16213e,#0f3460);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:2.5rem 2rem 2rem;width:100%;max-width:360px;text-align:center;overflow:hidden;box-shadow:0 0 80px #0009,0 24px 64px #0009;animation:promo-card-in .45s cubic-bezier(.34,1.56,.64,1)}@keyframes promo-card-in{0%{opacity:0;transform:scale(.6) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}.promo-card:after{content:"";position:absolute;inset:0;border-radius:24px;border:1px solid var(--promo-color, var(--accent));opacity:.35;pointer-events:none}.promo-card:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.07) 50%,transparent 60%);animation:promo-sheen 2.8s ease .5s infinite;pointer-events:none;z-index:0}@keyframes promo-sheen{0%{transform:translate(-120%)}to{transform:translate(220%)}}.promo-confetti{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.promo-confetti-piece{position:absolute;top:-12px;left:var(--x);width:var(--size);height:var(--size);background:var(--color);opacity:0;animation:promo-confetti-fall 2s ease-in var(--delay) forwards}@keyframes promo-confetti-fall{0%{opacity:1;transform:translateY(0) translate(0) rotate(0)}60%{opacity:1}to{opacity:0;transform:translateY(380px) translate(var(--drift)) rotate(var(--spin))}}.promo-stars{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.promo-star{position:absolute;top:50%;left:50%;font-size:.9rem;opacity:0;animation:promo-star-burst 1s ease calc(var(--si) * .07s + .25s) forwards;--angle: calc(var(--si) * 45deg);--dist: 140px}@keyframes promo-star-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0)}35%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * var(--dist)))}}.promo-badge-wrap{position:relative;width:128px;height:128px;margin:0 auto 1.25rem;z-index:1;display:flex;align-items:center;justify-content:center}.promo-badge-img{width:128px;height:128px;object-fit:contain;position:relative;z-index:1;animation:promo-badge-pop .65s cubic-bezier(.34,1.56,.64,1) .2s both;filter:drop-shadow(0 0 20px var(--promo-color, var(--accent)))}.promo-badge-emoji{font-size:4.5rem;line-height:1;position:relative;z-index:1;animation:promo-badge-pop .65s cubic-bezier(.34,1.56,.64,1) .2s both}.promo-badge-glow{position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,var(--promo-color, var(--accent)) 0%,transparent 68%);opacity:.35;animation:promo-glow-pulse 2.2s ease .5s infinite alternate;pointer-events:none}@keyframes promo-badge-pop{0%{opacity:0;transform:scale(0) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes promo-glow-pulse{0%{opacity:.28;transform:scale(.88)}to{opacity:.52;transform:scale(1.12)}}.promo-headline{font-size:clamp(1.8rem,6vw,2.4rem);font-weight:900;margin:0 0 .15rem;background:linear-gradient(135deg,#fff,#d0d8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:promo-text-in .4s ease .35s both;position:relative;z-index:1}.promo-division-name{font-size:1.3rem;font-weight:800;color:var(--promo-color, var(--accent));margin:0 0 .6rem;letter-spacing:.08em;text-transform:uppercase;animation:promo-text-in .4s ease .45s both;position:relative;z-index:1}.promo-path{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 0 .8rem;animation:promo-text-in .4s ease .5s both;position:relative;z-index:1}.promo-path-prev{font-size:.78rem;font-weight:700;color:#ffffff61;letter-spacing:.06em;text-transform:uppercase}.promo-path-arrow{font-size:.7rem;color:#ffffff4d}.promo-path-next{font-size:.78rem;font-weight:700;color:var(--promo-color, var(--accent));letter-spacing:.06em;text-transform:uppercase}.promo-flavor{font-size:.875rem;color:#ffffff7a;margin:0 0 1.75rem;line-height:1.55;animation:promo-text-in .4s ease .55s both;position:relative;z-index:1}@keyframes promo-text-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.promo-cta{width:100%;padding:.85rem;border-radius:50px;border:none;background:var(--promo-gradient, var(--accent-gradient));color:#fff;font-size:1rem;font-weight:800;cursor:pointer;position:relative;z-index:1;box-shadow:0 4px 24px #00000059;transition:transform .15s,box-shadow .15s;animation:promo-text-in .4s ease .65s both}.promo-cta:hover{transform:translateY(-2px);box-shadow:0 6px 28px #00000073}.promo-cta:active{transform:translateY(0)}.streak-rescue-overlay{position:fixed;inset:0;background:#000000d1;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:streak-rescue-bg-in .3s ease}@keyframes streak-rescue-bg-in{0%{opacity:0}to{opacity:1}}.streak-rescue-card{position:relative;background:linear-gradient(160deg,#2a1a14,#1f1410,#160d0a);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:2.5rem 2rem 1.75rem;width:100%;max-width:360px;text-align:center;overflow:hidden;box-shadow:0 0 80px #0009,0 24px 64px #0009;animation:streak-rescue-card-in .45s cubic-bezier(.34,1.56,.64,1)}@keyframes streak-rescue-card-in{0%{opacity:0;transform:scale(.6) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}.streak-rescue-card:after{content:"";position:absolute;inset:0;border-radius:24px;border:1px solid #ff6b35;opacity:.35;pointer-events:none}.streak-rescue-hero{position:relative;width:128px;height:128px;margin:0 auto 1.25rem;z-index:1;display:flex;align-items:center;justify-content:center}.streak-rescue-shield{width:120px;height:120px;object-fit:contain;position:relative;z-index:2;animation:streak-rescue-pop .65s cubic-bezier(.34,1.56,.64,1) .2s both;filter:drop-shadow(0 0 18px rgba(255,107,53,.7))}.streak-rescue-flame{position:absolute;bottom:-6px;font-size:2.6rem;line-height:1;z-index:1;filter:drop-shadow(0 0 12px rgba(255,140,0,.8));animation:streak-rescue-flicker 1.6s ease-in-out .4s infinite alternate}.streak-rescue-glow{position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,#ff6b35 0%,transparent 68%);opacity:.32;animation:streak-rescue-glow-pulse 2.2s ease .5s infinite alternate;pointer-events:none}@keyframes streak-rescue-pop{0%{opacity:0;transform:scale(0) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes streak-rescue-glow-pulse{0%{opacity:.24;transform:scale(.88)}to{opacity:.5;transform:scale(1.12)}}@keyframes streak-rescue-flicker{0%{transform:translateY(0) scale(1);opacity:.85}to{transform:translateY(-3px) scale(1.08);opacity:1}}.streak-rescue-headline{font-size:clamp(1.6rem,5.5vw,2.1rem);font-weight:900;margin:0 0 .6rem;background:linear-gradient(135deg,#fff,#ffd8c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:streak-rescue-text-in .4s ease .35s both;position:relative;z-index:1}.streak-rescue-body{font-size:.95rem;color:#ffffffb3;margin:0 0 1.1rem;line-height:1.55;animation:streak-rescue-text-in .4s ease .45s both;position:relative;z-index:1}.streak-rescue-body strong{color:#ff8c5a;font-weight:800}.streak-rescue-count{display:inline-block;font-size:.8rem;font-weight:700;color:#ffffff8c;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);padding:.4rem .9rem;border-radius:50px;margin:0 0 1.5rem;animation:streak-rescue-text-in .4s ease .5s both;position:relative;z-index:1}@keyframes streak-rescue-text-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.streak-rescue-cta{width:100%;padding:.85rem;border-radius:50px;border:none;background:linear-gradient(135deg,#ff6b35,#ff3d3d);color:#fff;font-size:1rem;font-weight:800;cursor:pointer;position:relative;z-index:1;box-shadow:0 4px 24px #ff3d3d59;transition:transform .15s,box-shadow .15s;animation:streak-rescue-text-in .4s ease .6s both}.streak-rescue-cta:hover{transform:translateY(-2px);box-shadow:0 6px 28px #ff3d3d73}.streak-rescue-cta:active{transform:translateY(0)}.streak-rescue-dismiss{width:100%;padding:.7rem;margin-top:.5rem;border:none;background:transparent;color:#fff6;font-size:.875rem;font-weight:600;cursor:pointer;position:relative;z-index:1;animation:streak-rescue-text-in .4s ease .7s both;transition:color .15s}.streak-rescue-dismiss:hover{color:#ffffffa6}.milestone-ladder{margin-top:.5rem}.milestone-ladder-head{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:700;margin-bottom:.4rem}.milestone-head-you{color:#ffb347}.milestone-head-best{color:#ffffff80}.milestone-track{display:flex;flex-direction:column}.milestone-node{display:flex;gap:.7rem}.milestone-rail{position:relative;width:40px;flex-shrink:0;display:flex;justify-content:center}.milestone-rail:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;transform:translate(-50%);background:#ffffff1f}.milestone-node.is-reached .milestone-rail:before{background:linear-gradient(#ff8c00,#ff5a3c)}.milestone-node:first-child .milestone-rail:before{top:50%}.milestone-node:last-child .milestone-rail:before{bottom:50%}.milestone-dot{position:relative;z-index:1;width:38px;height:38px;margin:.3rem 0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem;border:2px solid rgba(255,255,255,.18);background:var(--bg-tertiary, #222);color:#fff;flex-shrink:0;padding:0}.milestone-node-locked .milestone-dot{opacity:.45}.milestone-node-claimed .milestone-dot{background:linear-gradient(135deg,#2ecc71,#27ae60);border-color:#2ecc71;font-weight:800}.milestone-node-claimable .milestone-dot{cursor:pointer;border-color:#ffd24a;background:linear-gradient(135deg,#ff8c00,#ff5a3c);box-shadow:0 0 0 3px #ffd24a47,0 0 16px #ff8c0099;animation:milestone-pulse 1.6s ease-in-out infinite}@keyframes milestone-pulse{0%,to{box-shadow:0 0 0 3px #ffd24a38,0 0 12px #ff8c0080}50%{box-shadow:0 0 0 5px #ffd24a66,0 0 22px #ff8c00d9}}.milestone-content{flex:1;min-width:0;padding:.25rem 0 .6rem}.milestone-day-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.milestone-day{font-size:.82rem;font-weight:700;color:#fff}.milestone-node-locked .milestone-day{color:#ffffff8c}.milestone-you-pin{font-size:.58rem;font-weight:800;letter-spacing:.04em;color:#10121a;background:#ffb347;padding:2px 7px;border-radius:50px}.milestone-best-pin{font-size:.58rem;font-weight:800;letter-spacing:.04em;color:#ffffff8c;border:1px solid rgba(255,255,255,.2);padding:1px 6px;border-radius:50px}.milestone-rewards{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.milestone-chip{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;color:#ffffffb8;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:50px;padding:2px 8px}.milestone-node-locked .milestone-chip{opacity:.5}.milestone-dot-img{width:22px;height:22px;object-fit:contain}.milestone-chip-img{width:14px;height:14px;object-fit:contain;flex-shrink:0}.milestone-claim-btn{margin-top:.45rem;border:none;border-radius:50px;padding:.4rem 1.1rem;background:linear-gradient(135deg,#ff8c00,#ff3d3d);color:#fff;font-weight:800;font-size:.78rem;cursor:pointer;box-shadow:0 2px 10px #ff3d3d59;transition:transform .12s}.milestone-claim-btn:active{transform:scale(.97)}.milestone-claimed-tag{display:inline-block;margin-top:.3rem;font-size:.7rem;font-weight:700;color:#2ecc71}.milestone-locked-tag{display:inline-block;margin-top:.3rem;font-size:.68rem;color:#ffffff6b}.notif-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:.62rem;font-weight:800;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--bg-primary, #1a1a2e);pointer-events:none;z-index:5;animation:notif-badge-pop .25s cubic-bezier(.34,1.56,.64,1)}@keyframes notif-badge-pop{0%{transform:scale(0)}to{transform:scale(1)}}.ap-overlay{position:fixed;inset:0;background:#000000b8;z-index:9150;display:flex;align-items:center;justify-content:center;padding:1rem}.ap-card{position:relative;display:flex;align-items:center;gap:1.4rem;background:linear-gradient(135deg,#1c1000,#110a00,#160c00);border:1px solid rgba(210,140,10,.38);border-radius:20px;padding:1.6rem 1.75rem;max-width:370px;width:100%;box-shadow:0 0 55px #be780047,0 16px 48px #000000a6;animation:ap-stamp .42s cubic-bezier(.22,1.4,.6,1) both;isolation:isolate;overflow:hidden}.ap-card:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,200,60,.055) 50%,transparent 65%);background-size:250% 100%;animation:ap-sheen 3s ease-in-out .7s infinite;pointer-events:none;z-index:1}@keyframes ap-stamp{0%{transform:scale(.72) perspective(600px) rotateX(14deg);opacity:0}to{transform:scale(1) perspective(600px) rotateX(0);opacity:1}}@keyframes ap-sheen{0%{background-position:-100% 0}55%{background-position:200% 0}to{background-position:200% 0}}.ap-halo-wrap{position:relative;flex-shrink:0;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.ap-halo{position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(from 0deg,#a05500,#ffcc30,#d08000,#ffe060,#a05500);animation:ap-halo-spin 3s linear infinite;filter:blur(1.5px);opacity:.85}.ap-halo:after{content:"";position:absolute;inset:5px;border-radius:50%;background:#110a00}.ap-icon{position:relative;z-index:1;font-size:2.4rem;line-height:1;width:56px;height:56px;display:flex;align-items:center;justify-content:center;animation:ap-icon-pop .38s cubic-bezier(.34,1.56,.64,1) .12s both}.ap-icon img{width:56px;height:56px;object-fit:contain}@keyframes ap-icon-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ap-halo-spin{to{transform:rotate(360deg)}}.ap-body{flex:1;min-width:0;position:relative;z-index:2}.ap-eyebrow{font-size:.64rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#c87800;margin-bottom:.25rem;animation:ap-fade-up .35s ease .18s both}.ap-name{font-size:1.2rem;font-weight:900;color:#ffe07a;line-height:1.15;margin-bottom:.3rem;animation:ap-fade-up .35s ease .28s both}.ap-desc{font-size:.78rem;color:#ffd26e99;line-height:1.4;margin-bottom:1rem;animation:ap-fade-up .35s ease .38s both}.ap-close-btn{background:#be780033;border:1px solid rgba(200,130,0,.4);color:#ffcc50;border-radius:10px;padding:.42rem 1.1rem;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s;animation:ap-fade-up .35s ease .48s both}.ap-close-btn:hover{background:#be78005c}@keyframes ap-fade-up{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.fb-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.fb-modal{background:var(--card-bg, #1a1a2e);border-radius:20px;padding:1.5rem;width:100%;max-width:440px;position:relative}.fb-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:var(--text-primary, #fff);width:32px;height:32px;border-radius:50%;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.fb-title{font-size:1.2rem;font-weight:700;color:var(--text-primary, #fff);margin:0 0 .25rem}.fb-subtitle{font-size:.85rem;color:var(--text-secondary, #aaa);margin:0 0 1.25rem}.fb-type-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.fb-type-btn{flex:1;padding:.6rem .5rem;border-radius:10px;border:1.5px solid rgba(255,255,255,.12);background:transparent;color:var(--text-secondary, #aaa);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s}.fb-type-btn.active{border-color:var(--accent);background:rgba(var(--accent-rgb),.15);color:var(--accent)}.fb-textarea{width:100%;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-primary, #fff);font-size:.9rem;line-height:1.5;padding:.85rem 1rem;resize:none;box-sizing:border-box;font-family:inherit;transition:border-color .2s}.fb-textarea:focus{outline:none;border-color:var(--accent)}.fb-textarea::placeholder{color:#ffffff4d}.fb-char-count{text-align:right;font-size:.75rem;color:var(--text-tertiary, #666);margin:.25rem 0 1rem}.fb-submit-btn{width:100%;padding:.9rem;border-radius:12px;border:none;background:var(--accent-gradient);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .2s}.fb-submit-btn:disabled{opacity:.4;cursor:not-allowed}.fb-success{text-align:center;padding:1rem 0 .5rem}.fb-success-icon{font-size:3rem;margin-bottom:.75rem}.fb-success h3{font-size:1.15rem;font-weight:700;color:var(--text-primary, #fff);margin:0 0 .5rem}.fb-success p{font-size:.88rem;color:var(--text-secondary, #aaa);margin:0 0 1.5rem;line-height:1.5}.fb-done-btn{padding:.75rem 2rem;border-radius:12px;border:none;background:var(--accent-gradient);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer}.auth-container{min-height:100dvh;width:100vw;display:flex;align-items:center;justify-content:center;background:var(--bg-gradient);padding:clamp(.75rem,3vw,2rem)}.auth-card{background:var(--bg-primary);border-radius:16px;padding:clamp(1.25rem,4vw,3.5rem);max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d}.auth-card h2{margin:0 0 .25rem;font-size:clamp(1.5rem,4vw,2.25rem);color:var(--text-primary);text-align:center}.auth-subtitle{color:#4a5568;text-align:center;margin:0 0 1rem;font-size:clamp(.85rem,2vw,1rem)}[data-theme=dark] .auth-subtitle{color:var(--text-secondary)}.auth-error{background:#fef2f2;color:#991b1b;padding:.5rem .875rem;border-radius:8px;margin-bottom:.75rem;font-size:.85rem;font-weight:600;border:1px solid #fca5a5}[data-theme=dark] .auth-error{background:#450a0a;color:#fca5a5;border-color:#7f1d1d}.auth-success{background:#f0fdf4;color:#166534;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;font-weight:600;border:1px solid #86efac}[data-theme=dark] .auth-success{background:#052e16;color:#86efac;border-color:#166534}.forgot-password{text-align:right;margin-bottom:.25rem}.forgot-password-btn{background:none;border:none;color:#f97316;font-size:.85rem;cursor:pointer;padding:0;text-decoration:underline}.forgot-password-btn:hover{color:#ea580c}.auth-form{display:flex;flex-direction:column;gap:.4rem}.form-group{display:flex;flex-direction:column;gap:.2rem}.form-group label{color:var(--text-primary);font-weight:600;font-size:clamp(.85rem,2vw,.95rem)}.form-group input{padding:.6rem .875rem;border:2px solid #a0aec0;border-radius:8px;font-size:clamp(.9rem,2vw,1rem);transition:all .2s;font-family:inherit}[data-theme=dark] .form-group input{border-color:#4a5568}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.auth-btn{margin-top:.25rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#4338ca,#b91c1c);color:#fff;border:none;border-radius:8px;font-size:clamp(1rem,2.5vw,1.1rem);font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #4338ca66}.auth-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--accent-rgb),.5)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:.75rem;color:#4a5568;font-size:clamp(.9rem,2vw,.95rem)}[data-theme=dark] .auth-footer{color:var(--text-secondary)}.auth-footer a{color:#3730a3;text-decoration:none;font-weight:600;transition:color .2s}[data-theme=dark] .auth-footer a{color:#818cf8}.auth-footer a:hover{color:#991b1b;text-decoration:underline}[data-theme=dark] .auth-footer a:hover{color:#fca5a5}.auth-divider{display:flex;align-items:center;text-align:center;margin:.6rem 0;color:#4a5568;font-size:.8rem}[data-theme=dark] .auth-divider{color:var(--text-secondary)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-primary)}.auth-divider span{padding:0 1rem;font-weight:600}.auth-social-btns{display:flex;flex-direction:column;gap:.6rem}.google-btn{width:100%;padding:.7rem 1.5rem;background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-secondary);border-radius:8px;font-size:clamp(1rem,2.5vw,1rem);font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.75rem;font-family:inherit}.google-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-secondary);box-shadow:var(--shadow-sm)}.google-btn:disabled{opacity:.6;cursor:not-allowed}.google-btn svg{flex-shrink:0}.apple-btn{width:100%;padding:.7rem 1.5rem;background:#000;color:#fff;border:2px solid #000;border-radius:8px;font-size:clamp(1rem,2.5vw,1rem);font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.75rem;font-family:inherit}.apple-btn:hover:not(:disabled){background:#222;border-color:#222}.apple-btn:disabled{opacity:.6;cursor:not-allowed}.apple-btn svg{flex-shrink:0}[data-theme=dark] .apple-btn{background:#fff;color:#000;border-color:#fff}[data-theme=dark] .apple-btn:hover:not(:disabled){background:#e5e5e5;border-color:#e5e5e5}.guest-btn{width:100%;padding:.6rem;border:2px solid var(--border-secondary);border-radius:12px;background:transparent;color:#4a5568;font-size:.95rem;font-weight:600;cursor:pointer;transition:border-color .2s,color .2s,background .2s;margin-bottom:.4rem}[data-theme=dark] .guest-btn{color:var(--text-secondary)}.guest-btn:hover:not(:disabled){border-color:var(--border-secondary);color:var(--text-primary);background:var(--bg-secondary)}.guest-btn:disabled{opacity:.5;cursor:not-allowed}.guest-note{text-align:center;font-size:.78rem;color:#4a5568;margin:0}[data-theme=dark] .guest-note{color:var(--text-secondary)}@media(max-width:480px){.auth-container{padding:1rem}.auth-card{padding:1.5rem}}
