.toast-container{position:fixed;bottom:calc(var(--space-4, 16px) + env(safe-area-inset-bottom,0));right:calc(var(--space-4, 16px) + env(safe-area-inset-right,0));display:flex;flex-direction:column;gap:var(--space-3, 12px);pointer-events:none;z-index:var(--z-toast, 8000)}@media(max-width:640px){.toast-container{left:var(--space-4, 16px);right:var(--space-4, 16px);bottom:80px}}.toast{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);background-color:var(--surface-3, #1a2340);border:1px solid var(--border-default, rgba(255, 255, 255, .1));border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg);min-width:280px;max-width:400px;pointer-events:auto;animation:toastSlideIn var(--duration-normal, .2s) var(--ease-out);border-left:4px solid transparent}@media(max-width:640px){.toast{min-width:unset;width:100%}}.toast--exiting{animation:toastSlideOut var(--duration-normal, .2s) var(--ease-out)}.toast__content{flex:1;display:flex;align-items:center}.toast__message{color:var(--text-primary, rgba(255, 255, 255, .95));font-size:var(--text-base);line-height:1.5;font-weight:500}.toast__action{margin-left:var(--space-3);padding:var(--space-1) var(--space-3);background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background .15s ease;white-space:nowrap;flex-shrink:0}.toast__action:hover{background:#ffffff59}.toast__action:active{transform:scale(.95)}.toast__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--text-secondary, rgba(255, 255, 255, .7));cursor:pointer;font-size:20px;line-height:1;transition:color var(--duration-normal, .2s) ease;flex-shrink:0}.toast__close:hover{color:var(--text-primary, rgba(255, 255, 255, .95))}.toast__close:active{transform:scale(.95)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media(max-width:640px){@keyframes toastSlideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media(max-width:640px){@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}}.toast__progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;opacity:.3;border-radius:0 0 var(--radius-md, 8px) var(--radius-md, 8px);animation:toastProgress linear forwards;width:100%}@keyframes toastProgress{0%{width:100%}to{width:0%}}.toast{position:relative;overflow:hidden}@media(prefers-color-scheme:light){.toast{background-color:var(--toast-bg, #ffffff);border-color:var(--toast-border, rgba(0, 0, 0, .1));box-shadow:0 4px 16px #0000001a,0 1px 3px #0000000f}.toast__message{color:var(--text-primary, #1e293b)}.toast__close{color:var(--text-secondary, #64748b)}.toast__close:hover{color:var(--text-primary, #1e293b)}.toast__action{background:#00000014;color:var(--text-primary, #1e293b);border-color:#0000001f}.toast__action:hover{background:#00000024}}[data-theme=light] .toast{background-color:var(--toast-bg, #ffffff);border-color:var(--toast-border, rgba(0, 0, 0, .1));box-shadow:0 4px 16px #0000001a,0 1px 3px #0000000f}[data-theme=light] .toast__message{color:var(--text-primary, #1e293b)}[data-theme=light] .toast__close{color:var(--text-secondary, #64748b)}[data-theme=light] .toast__close:hover{color:var(--text-primary, #1e293b)}[data-theme=light] .toast__action{background:#00000014;color:var(--text-primary, #1e293b);border-color:#0000001f}[data-theme=light] .toast__action:hover{background:#00000024}.ptr-indicator{display:flex;align-items:flex-end;justify-content:center;overflow:hidden;transition:height .15s ease}.ptr-spinner{font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-2);transition:transform .2s}.ptr-spinner.spinning{animation:ptr-spin 1s linear infinite;font-size:1.2rem;color:var(--primary)}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-container{background:radial-gradient(ellipse 100% 50% at 50% -10%,rgba(129,140,248,.06),transparent),var(--surface-0);min-height:100vh;min-height:100dvh;color:var(--text-primary);font-family:var(--font-sans)}.dashboard-header{position:sticky;top:0;background:#090d1acc;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);z-index:30;border-bottom:1px solid var(--border-subtle)}.dashboard-header-inner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);max-width:1400px;margin:0 auto}.dashboard-title{font-size:var(--text-xl);font-weight:800;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.3px}.dashboard-header-actions{display:flex;align-items:center;gap:var(--space-1)}.menu-toggle{background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-lg);cursor:pointer;padding:var(--space-2);display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-out)}.menu-toggle:hover{background:var(--surface-3);color:var(--text-primary);border-color:var(--border-strong)}.menu-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;animation:fadeIn var(--duration-fast) var(--ease-out)}.menu-panel{position:fixed;right:0;top:0;bottom:0;width:280px;background:var(--surface-1);border-left:1px solid var(--border-default);padding:var(--space-6);z-index:50;display:flex;flex-direction:column;gap:var(--space-5);overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:100vh;max-height:100dvh;animation:slideInFromRight var(--duration-enter) var(--ease-out)}.menu-panel h2{font-size:var(--text-lg);font-weight:700;margin:0;color:var(--text-primary)}.menu-panel nav{display:flex;flex-direction:column;gap:var(--space-2)}.menu-btn{display:flex;align-items:center;gap:var(--space-2);background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all var(--duration-normal) var(--ease-out);font-size:var(--text-base);font-weight:500}.menu-btn-icon{display:flex;align-items:center;color:var(--primary);flex-shrink:0}.menu-btn:hover{background:var(--surface-3);border-color:var(--border-strong);transform:translate(2px)}.logout-btn{background:transparent;color:var(--danger);border:1px solid var(--danger-border);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-top:auto;cursor:pointer;font-size:var(--text-base);font-weight:500;transition:all var(--duration-normal) var(--ease-out)}.logout-btn:hover{background:var(--danger-soft);border-color:#f8717166}.premium-card{background:var(--brand-gradient);color:#fff;border-radius:var(--radius-lg);padding:var(--space-4);position:relative;overflow:hidden}.premium-card:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1),transparent 70%);pointer-events:none}.premium-title{font-size:var(--text-md);font-weight:700;margin:0 0 var(--space-1) 0}.premium-subtitle{font-size:var(--text-sm);opacity:.85;margin:0 0 var(--space-3) 0;line-height:var(--leading-relaxed)}.premium-btn{margin-top:var(--space-2);background:#fffffff2;color:var(--surface-0);font-weight:700;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;width:100%;font-size:var(--text-base);transition:all var(--duration-normal) var(--ease-out)}.premium-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.dashboard-main{max-width:1100px;margin:0 auto;padding:var(--space-5);animation:fadeInUp var(--duration-enter) var(--ease-out)}.dashboard-top{margin-bottom:var(--space-4)}.section-title{font-size:var(--text-lg);margin-bottom:var(--space-4);font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.success-toast{background:var(--success-soft);color:var(--success);border:1px solid var(--success-border);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-3);font-size:var(--text-base);animation:fadeInDown var(--duration-normal) var(--ease-out)}.empty-projects-aspirational{animation:fadeInUp var(--duration-slow) var(--ease-out)}.empty-hero{text-align:center;background:var(--surface-1);border:1px dashed var(--border-default);border-radius:var(--radius-xl);padding:var(--space-10) var(--space-5);margin-bottom:var(--space-6)}.empty-inspiration{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-5)}.empty-inspiration-header{text-align:center;margin-bottom:var(--space-5)}.empty-inspiration-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:99px;margin-bottom:var(--space-2);letter-spacing:.03em}.empty-inspiration-title{font-size:var(--text-lg, 18px);font-weight:800;margin:0 0 var(--space-1) 0;color:var(--text-primary)}.empty-inspiration-sub{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.empty-neighbor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.empty-neighbor-card{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;transition:transform .2s,box-shadow .2s}.empty-neighbor-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.empty-ba-visual{display:flex;align-items:stretch;height:110px;position:relative}.empty-ba-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--space-2);position:relative}.empty-ba-emoji{font-size:1.6rem;line-height:1}.empty-ba-tag{font-size:.58rem;font-weight:700;padding:1px 6px;border-radius:99px;position:absolute;top:6px;letter-spacing:.04em}.empty-ba-tag--before{background:#0000001f;color:#374151;left:6px}.empty-ba-tag--after{background:#6366f133;color:#4338ca;left:6px}.empty-ba-desc{font-size:.63rem;text-align:center;color:#374151;line-height:1.3;margin:0;padding-top:18px}.empty-ba-arrow{display:flex;align-items:center;justify-content:center;width:28px;flex-shrink:0;background:var(--surface-1);color:var(--text-secondary);z-index:1}.empty-neighbor-footer{padding:var(--space-3)}.empty-neighbor-meta{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-2)}.empty-neighbor-name{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.empty-neighbor-type{font-size:.72rem;color:var(--text-secondary)}.empty-neighbor-stats{display:flex;gap:var(--space-3);margin-bottom:var(--space-2)}.empty-neighbor-stat{font-size:.72rem;color:var(--text-secondary)}.empty-neighbor-gain{font-size:.72rem;font-weight:700;color:#059669;background:#d1fae5;padding:2px 8px;border-radius:99px;display:inline-block}.empty-inspiration-cta{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:opacity .2s,transform .15s}.empty-inspiration-cta:hover{opacity:.9}.empty-inspiration-cta:active{transform:scale(.98)}.empty-icon{font-size:40px;margin-bottom:var(--space-3);animation:float 3s ease-in-out infinite}.empty-title{font-size:var(--text-xl, 20px);font-weight:800;margin:0 0 var(--space-2) 0;color:var(--text-primary)}.empty-subtitle{color:var(--text-secondary);font-size:var(--text-base);margin:0 0 var(--space-4) 0;max-width:320px;margin-left:auto;margin-right:auto}.empty-features{display:flex;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.empty-feature{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);min-width:120px;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.empty-feature:hover{transform:translateY(-2px);border-color:var(--border-strong)}.empty-feature-icon{font-size:24px}.empty-feature-text{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);text-align:center}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-4, 16px)}.project-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-4);display:flex;flex-direction:column;transition:all var(--duration-normal) var(--ease-out);cursor:pointer;position:relative;animation:fadeInUp var(--duration-enter) var(--ease-out) both}.project-card:nth-child(1){animation-delay:0ms}.project-card:nth-child(2){animation-delay:60ms}.project-card:nth-child(3){animation-delay:.12s}.project-card:nth-child(4){animation-delay:.18s}.project-card:nth-child(5){animation-delay:.24s}.project-card:nth-child(6){animation-delay:.3s}.project-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);gap:var(--space-3)}.project-header h3{margin:0;font-size:var(--text-md);font-weight:700;line-height:var(--leading-tight);flex:1;min-width:0;word-break:break-word;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.status-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-weight:600;white-space:nowrap;flex-shrink:0;letter-spacing:.02em;color:#fff}.project-menu-btn{background:transparent;border:none;color:var(--text-tertiary);font-size:var(--text-lg);cursor:pointer;padding:var(--space-1);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.project-menu-btn:hover{background:var(--surface-3);color:var(--text-primary)}.project-menu{position:absolute;right:var(--space-3);top:48px;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-1);z-index:10;box-shadow:var(--shadow-lg);animation:fadeInScale var(--duration-fast) var(--ease-out);min-width:160px}.project-menu-item{width:100%;background:transparent;border:none;color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-out)}.project-menu-item:hover{background:var(--surface-3)}.project-menu-item.danger{color:var(--danger)}.project-menu-item.danger:hover{background:var(--danger-soft)}.project-tags{display:flex;gap:var(--space-1);flex-wrap:wrap;margin-bottom:var(--space-2)}.tag{font-size:var(--text-xs);padding:3px var(--space-2);border-radius:var(--radius-full);background:var(--surface-2);border:1px solid var(--border-default);font-weight:500}.tag.blue{color:#93c5fd;border-color:#93c5fd26;background:#93c5fd0f}.tag.green{color:var(--success, #66bb6a);border-color:var(--success-border, rgba(102,187,106,.3));background:var(--success-soft, rgba(102,187,106,.1))}.tag.orange{color:#fb923c;border-color:#fb923c33;background:#fb923c14}.tag.violet{color:#c084fc;border-color:#c084fc33;background:#c084fc14}.progress-container{margin:var(--space-2) 0}.progress-info{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-1)}.progress-bar{height:5px;background:var(--surface-3);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--brand-gradient);border-radius:var(--radius-full);transition:width .6s var(--ease-out)}.draft-tip{font-size:var(--text-sm);color:var(--text-secondary);background:var(--brand-gradient-soft);border:1px dashed var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-top:var(--space-2);line-height:var(--leading-relaxed)}.project-card--draft{border-left:3px solid #6366f1;animation:pulseLeft 2s cubic-bezier(.4,0,.6,1) infinite}.project-card--draft .draft-tip{color:#818cf8;font-weight:500}.project-card--complete{border-left:3px solid #10b981}@keyframes pulseLeft{0%,to{border-left-color:#6366f1}50%{border-left-color:#818cf8}}.add-project-btn{width:100%;margin-top:var(--space-5);background:var(--surface-1);border:1px dashed var(--border-default);color:var(--text-secondary);padding:var(--space-4);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);font-size:var(--text-base);font-weight:600}.add-project-btn.active:hover{background:var(--brand-gradient-soft);border-color:#818cf84d;border-style:solid;color:var(--brand-primary);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.add-project-btn.disabled,.add-project-btn:disabled{opacity:.4;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:40;animation:fadeIn var(--duration-fast) var(--ease-out)}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-6);z-index:50;width:92%;max-width:420px;box-shadow:var(--shadow-xl);animation:fadeInScale var(--duration-enter) var(--ease-out);max-height:90vh;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.modal-header h2{margin:0;font-size:var(--text-lg);font-weight:700}.modal-header button{background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-lg);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-out)}.modal-header button:hover{background:var(--surface-3);color:var(--text-primary)}.modal p{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:var(--space-3) 0}@media(max-width:379px){.dashboard-header-inner{padding:var(--space-3)}.dashboard-title{font-size:var(--text-lg)}.dashboard-main{padding:var(--space-3)}.projects-grid{grid-template-columns:1fr;gap:var(--space-3)}.project-card{padding:var(--space-3)}.menu-panel{width:85%;max-width:300px}.modal{width:95%;padding:var(--space-4)}}@media(min-width:380px)and (max-width:599px){.dashboard-main{padding:var(--space-4)}.projects-grid{grid-template-columns:1fr;gap:var(--space-3)}.menu-panel{width:80%;max-width:320px}}@media(max-width:480px){.projects-grid{grid-template-columns:1fr}}@media(min-width:600px)and (max-width:767.98px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.menu-panel{width:320px}}@media(min-width:768px)and (max-width:1023px){.dashboard-main{padding:var(--space-6)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-5)}.dashboard-title{font-size:22px}.section-title{font-size:var(--text-xl)}.menu-panel{width:340px;padding:var(--space-6)}}@media(min-width:1024px)and (max-width:1279px){.dashboard-main{max-width:980px}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5)}}@media(min-width:1280px){.dashboard-main{max-width:1200px;padding:var(--space-6)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}.dashboard-header-inner{padding:var(--space-4) var(--space-6)}.dashboard-title{font-size:var(--text-2xl)}}@media(min-width:1920px){.dashboard-main{max-width:1400px}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media(max-height:500px)and (orientation:landscape){.dashboard-header-inner{padding:var(--space-2) var(--space-4)}.dashboard-main{padding:var(--space-3)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}}@media(hover:none)and (pointer:coarse){.menu-toggle,.menu-btn,.add-project-btn{min-height:44px;display:flex;align-items:center;justify-content:center}.project-card{-webkit-tap-highlight-color:transparent}.project-card:active{transform:scale(.98)}.project-card:hover{transform:none;box-shadow:none}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.dashboard-header{border-bottom-width:.5px}.project-card,.modal{border-width:.5px}}@media print{.menu-toggle,.menu-panel,.menu-overlay,.add-project-btn{display:none!important}.dashboard-header{position:relative}.project-card{break-inside:avoid}}.project-header-actions{display:flex;gap:8px;align-items:center}.delete-warning-text{opacity:.85}.delete-modal-actions{display:flex;gap:10px;margin-top:12px;justify-content:flex-end}.empty-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--brand-gradient);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-size:var(--text-base);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);box-shadow:0 4px 16px #818cf833;min-height:48px}.empty-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #818cf84d}.empty-cta-btn:active{transform:scale(.98)}.load-error-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);animation:fadeInDown var(--duration-normal) var(--ease-out)}.load-error-icon{font-size:1.4rem;flex-shrink:0}.load-error-body{flex:1}.load-error-title{margin:0;font-size:var(--text-sm);font-weight:700;color:var(--danger)}.load-error-text{margin:2px 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.load-error-retry{padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--danger-border);border-radius:var(--radius-md);color:var(--danger);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;min-height:40px}.load-error-retry:hover{background:var(--danger-soft)}.project-card--loading{pointer-events:none;position:relative}.project-card--loading:after{content:"";position:absolute;inset:0;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:inherit;z-index:5;animation:cardLoadFadeIn .15s ease}.project-card--loading:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--brand-primary, #6366f1);border-radius:50%;z-index:6;animation:cardLoadSpin .8s linear infinite}@keyframes cardLoadFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardLoadSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}.dash-hero{background:linear-gradient(135deg,var(--primary, #6366f1) 0%,#818cf8 100%);border-radius:var(--radius-xl, 16px);padding:20px;margin-bottom:20px;color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;position:relative;overflow:hidden}.dash-hero:before{content:"";position:absolute;top:-30%;right:-10%;width:180px;height:180px;background:#ffffff14;border-radius:50%;pointer-events:none}.dash-hero:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6366f140}.dash-hero:active{transform:translateY(0)}.dash-hero-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dash-hero-greeting{display:flex;align-items:center;gap:10px}.dash-hero-hello{font-size:16px;font-weight:500}.dash-hero-hello strong{font-weight:700}.dash-hero-streak{background:#fff3;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:700;animation:streakPulse 2s ease-in-out infinite;cursor:pointer;transition:background .2s}.dash-hero-streak:hover{background:#ffffff59}.dash-hero-streak--hot{background:#f59e0b40;border:1px solid rgba(245,158,11,.4)}@keyframes streakPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.dash-hero-level{font-size:13px;font-weight:600;background:#ffffff26;padding:3px 10px;border-radius:999px;white-space:nowrap}.dash-hero-progress{position:relative}.dash-hero-bar{height:8px;background:#fff3;border-radius:999px;overflow:hidden;margin-bottom:6px}.dash-hero-fill{height:100%;background:#ffffffd9;border-radius:999px;transition:width .6s ease;box-shadow:0 0 8px #ffffff4d}.dash-hero-xp-labels{display:flex;flex-direction:column;gap:var(--space-2);font-size:11px;opacity:.85}.dash-hero-cta{font-size:13px;opacity:.9;margin:0;cursor:pointer}.dash-hero-reward-teaser{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;background:#ffffff26;border-radius:var(--radius-sm, 8px);cursor:pointer;transition:background .15s}.dash-hero-reward-teaser:hover{background:#ffffff40}.dash-hero-reward-icon{font-size:18px;flex-shrink:0}.dash-hero-reward-text{font-size:12px;flex:1;line-height:1.3}.dash-hero-reward-text strong{font-weight:700}.dash-hero-reward-arrow{font-size:18px;font-weight:700;opacity:.7;flex-shrink:0}@media(prefers-reduced-motion:reduce){.dash-hero-streak{animation:none}.dash-hero:hover{transform:none}}.checklist-wrapper{margin-bottom:var(--space-4, 16px);animation:fadeInUp var(--duration-enter, .35s) var(--ease-out);max-width:600px;margin-left:auto;margin-right:auto}:where(.dash-hero) button{border:none;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.upgrade-modal{max-width:420px;padding:0;overflow:hidden}.upgrade-modal .modal-header{padding:20px 20px 0}.upgrade-modal-title{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;margin:0}.modal-close-btn{background:none;border:none;cursor:pointer;color:var(--color-text-secondary, #888);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;padding:0;transition:background .15s,color .15s}.modal-close-btn:hover{background:var(--color-surface-hover, rgba(0,0,0,.06));color:var(--color-text, #222)}.upgrade-modal-sub{font-size:.85rem;color:var(--color-text-secondary, #888);margin:6px 20px 16px;line-height:1.4}.upgrade-benefits{list-style:none;margin:0;padding:0 20px;display:flex;flex-direction:column;gap:10px}.upgrade-benefit-item{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.4;color:var(--color-text, #222)}.upgrade-benefit-icon{flex-shrink:0;color:var(--color-primary, #6c63ff);margin-top:1px}.upgrade-benefit-sub{color:var(--color-text-secondary, #888);font-weight:400}.upgrade-plans{display:flex;gap:10px;padding:16px 20px}.upgrade-plan-card{flex:1;position:relative;border:2px solid var(--color-border, #e5e7eb);border-radius:12px;padding:12px 10px;background:var(--color-surface, #fff);cursor:pointer;text-align:center;transition:border-color .18s,background .18s;display:flex;flex-direction:column;align-items:center;gap:3px}.upgrade-plan-card:hover{border-color:var(--color-primary, #6c63ff)}.upgrade-plan-card.selected{border-color:var(--color-primary, #6c63ff);background:color-mix(in srgb,var(--color-primary, #6c63ff) 6%,transparent)}.upgrade-plan-label{font-size:.8rem;font-weight:600;color:var(--color-text-secondary, #888);text-transform:uppercase;letter-spacing:.04em}.upgrade-plan-price{display:flex;align-items:baseline;gap:2px}.upgrade-plan-price strong{font-size:1.25rem;font-weight:800;color:var(--color-text, #222)}.upgrade-plan-unit{font-size:.75rem;color:var(--color-text-secondary, #888)}.upgrade-plan-saving{font-size:.72rem;color:var(--color-text-secondary, #888)}.upgrade-plan-badge{position:absolute;top:-10px;right:10px;background:#10b981;color:#fff;font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:20px;letter-spacing:.03em}.upgrade-cta-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 40px);margin:0 20px;font-size:.95rem;font-weight:700;padding:14px 20px}.upgrade-error{display:flex;align-items:center;gap:6px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#ef4444;border-radius:8px;padding:8px 12px;font-size:.82rem;margin:0 20px 4px}.upgrade-legal{font-size:.72rem;color:var(--color-text-secondary, #888);text-align:center;padding:10px 20px 20px;margin:0;line-height:1.4}.upgrade-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.gamif-hub{margin:0 0 20px;background:var(--surface-1, #101424);border-radius:var(--radius-xl, 16px);border:1px solid var(--border-default, rgba(255,255,255,.07));overflow:hidden}.gamif-hub-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px}.gamif-hub-title{display:flex;align-items:center;gap:6px;font-size:var(--text-sm, 14px);font-weight:700;color:var(--text-primary, #e8ebf0);letter-spacing:.02em}.gamif-hub-see-all{background:none;border:none;color:var(--brand-primary, #818cf8);font-size:var(--text-xs, 12px);font-weight:600;cursor:pointer;padding:4px 10px;border-radius:var(--radius-sm, 8px);transition:background .15s}.gamif-hub-see-all:hover{background:var(--surface-2, #161a2e)}.gamif-shortcuts{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-top:1px solid var(--border-default, rgba(255,255,255,.07));padding:12px 16px 14px}.gamif-shortcuts::-webkit-scrollbar{display:none}.gamif-shortcut-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 0;background:var(--surface-2, rgba(255,255,255,.04));border:1px solid var(--border-default, rgba(255,255,255,.07));border-radius:12px;cursor:pointer;transition:background .15s,border-color .15s;font-size:var(--text-xs, 12px);color:var(--text-secondary, #a1afc0);font-weight:600;flex-shrink:0;min-width:68px;-webkit-tap-highlight-color:transparent}.gamif-shortcut-btn:hover,.gamif-shortcut-btn:active{background:var(--surface-3, #1a2332);border-color:#818cf84d;color:var(--text-primary, #e8ebf0)}.gamif-shortcut-icon{font-size:20px;line-height:1}.project-filters-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:sticky;top:56px;z-index:20;background:var(--bg, #090d1a);margin-left:-16px;margin-right:-16px;padding:8px 16px 2px}.project-filters-bar::-webkit-scrollbar{display:none}.project-filter-chips{display:flex;gap:6px;flex:1;overflow-x:auto;scrollbar-width:none}.project-filter-chips::-webkit-scrollbar{display:none}.project-filter-chip{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;border:1.5px solid var(--border, rgba(255,255,255,.08));background:var(--surface-2);color:var(--text-secondary);font-size:var(--text-xs, 12px);font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.project-filter-chip.active{background:var(--chip-active-bg, #4338ca);border-color:var(--chip-active-bg, #4338ca);color:#fff}.project-filter-chip-count{background:#00000061;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700;color:#fff}.project-filter-chip.active .project-filter-chip-count{background:#00000040}.project-sort-wrap{position:relative;flex-shrink:0}.project-sort-btn{width:34px;height:34px;border-radius:10px;border:1.5px solid var(--border, rgba(255,255,255,.08));background:var(--surface-2);color:var(--text-secondary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.project-sort-btn:hover,.project-sort-btn:focus-visible{background:var(--surface-3)}.project-sort-overlay{position:fixed;inset:0;z-index:60}.project-sort-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:70;background:var(--surface-2, #1a1d2e);border:1px solid var(--border-default, rgba(255,255,255,.07));border-radius:12px;min-width:160px;box-shadow:0 8px 24px #0006;overflow:hidden}.project-sort-item{display:block;width:100%;text-align:left;padding:11px 16px;background:none;border:none;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .12s}.project-sort-item:hover{background:var(--surface-3)}.project-sort-item.active{color:var(--brand-primary);font-weight:700}.project-addon-badges{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.project-addon-badge{font-size:16px;padding:4px 7px;border-radius:8px;background:var(--surface-3, rgba(255,255,255,.05));border:1px solid var(--border-subtle);cursor:pointer;transition:transform .12s,background .12s;line-height:1;-webkit-tap-highlight-color:transparent}.project-addon-badge:hover,.project-addon-badge:active{transform:scale(1.12);background:var(--surface-2)}@media(prefers-reduced-motion:reduce){.empty-projects-aspirational,.empty-hero,.empty-inspiration,.empty-neighbor-card,.checklist-wrapper,.project-card,.projects-grid>*{animation:none!important;transition:none!important}.dash-hero-streak,.float{animation:none!important}}.dtw-card{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:12px 14px;background:linear-gradient(135deg,#6366f11a,#22c55e0f);border:1px solid rgba(99,102,241,.22);border-radius:14px;cursor:pointer;text-align:left;color:var(--text-primary);transition:background .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.dtw-card:hover,.dtw-card:focus-visible{background:linear-gradient(135deg,#6366f12e,#22c55e1a);transform:translateY(-1px)}.dtw-card:focus-visible{outline:2px solid var(--brand-primary, #818cf8);outline-offset:2px}.dtw-card:active{transform:scale(.98)}.dtw-icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:#6366f12e;color:#818cf8;display:flex;align-items:center;justify-content:center}.dtw-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dtw-label{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#818cf8;opacity:.85}.dtw-task-title{font-size:.88rem;font-weight:700;color:var(--text-primary, #e8ebf0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtw-meta{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-muted, #6b7280);flex-wrap:wrap}.dtw-step{color:var(--text-secondary, #9ca3af);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtw-duration{display:flex;align-items:center;gap:2px}.dtw-difficulty{font-weight:600}.dtw-project{font-size:.7rem;color:var(--text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtw-right{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-muted, #6b7280)}.dtw-check-icon{color:#6366f173}.dtw-chevron{color:var(--text-muted, #6b7280)}.dtw-skeleton{padding:12px 14px;border-radius:14px;background:var(--surface-1, #101424);border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:6px}.dtw-skeleton-line{border-radius:6px;background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1a,#ffffff0f 75%);background-size:200% 100%;animation:dtw-shimmer 1.4s ease-in-out infinite}.dtw-skeleton-line--title{height:14px;width:60%}.dtw-skeleton-line--sub{height:11px;width:40%}@keyframes dtw-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.dtw-card{transition:none}.dtw-skeleton-line{animation:none}}.dashboard-welcome-hero{padding:0 16px 16px}.dashboard-welcome-text{font-size:18px;font-weight:600;color:var(--text-primary, #ffffff);margin-bottom:12px}.dashboard-today-hero{border-left:4px solid #6366f1;border-radius:12px;background:var(--bg-secondary, #1a2340);padding:12px 16px;margin:0 16px 16px}.dashboard-empty-state{padding:24px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.empty-state-title{font-size:22px;font-weight:700;color:var(--text-primary, #fff);margin:0}.empty-state-badge{background:#10b98126;color:#10b981;border-radius:99px;padding:4px 12px;font-size:13px;font-weight:600;border:1px solid rgba(16,185,129,.3);display:inline-block}.empty-state-gallery{display:flex;gap:12px;overflow-x:auto;width:100%;padding:4px 0 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.empty-state-gallery::-webkit-scrollbar{display:none}.gallery-card{flex:0 0 180px;background:var(--bg-secondary, #1a2340);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;font-size:13px;color:var(--text-secondary, #d1d5db);text-align:left;line-height:1.5}.empty-state-testimony{font-size:14px;color:var(--text-secondary, #d1d5db);font-style:italic;max-width:300px;line-height:1.5;margin:0}.empty-state-cta{width:100%;max-width:320px;padding:16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:16px;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.empty-state-cta:active{transform:scale(.98);opacity:.9}.empty-state-cta:hover{opacity:.95}.empty-state-hint{font-size:13px;color:var(--text-muted, #9ca3af);margin:0}.theme-segmented{display:flex;gap:4px;padding:4px;border-radius:var(--radius-lg, 12px);background:var(--surface-0, rgba(255, 255, 255, .04));border:1px solid var(--border-default, rgba(255, 255, 255, .08));width:fit-content}.theme-seg-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1.5px solid transparent;border-radius:var(--radius-md, 8px);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;min-width:100px;justify-content:center}.theme-seg-btn:hover{background:#ffffff0f;color:var(--text-primary)}.theme-seg-btn--active{background:var(--surface-1, rgba(255, 255, 255, .08));border-color:var(--brand-primary, #6366f1);color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px #0000001a,0 0 0 1px #6366f11f}.theme-seg-btn--active:hover{background:var(--surface-1, rgba(255, 255, 255, .08))}.theme-seg-btn svg{flex-shrink:0;opacity:.7;transition:opacity .2s}.theme-seg-btn--active svg{opacity:1;color:var(--brand-primary, #6366f1)}@media(max-width:380px){.theme-segmented{width:100%}.theme-seg-btn{flex:1;min-width:0;padding:10px 14px}}@media(prefers-reduced-motion:reduce){.theme-seg-btn{transition:none}}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f1f5f9;--bg-card: #ffffff;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--border-color: #e2e8f0;--brand-primary: #6366f1}[data-theme=light] .theme-segmented{background:#00000008;border-color:#0000001a}[data-theme=light] .theme-seg-btn:hover{background:#0000000a}[data-theme=light] .theme-seg-btn--active{background:#fff;box-shadow:0 1px 4px #00000014,0 0 0 1px #6366f126}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer,[class*=skeleton-]{background:linear-gradient(90deg,var(--surface-2, #111a33) 0%,var(--surface-3, #1e2942) 40%,var(--surface-2, #111a33) 80%)!important;background-size:200% 100%!important;animation:skeletonShimmer 1.5s ease-in-out infinite!important;will-change:background-position}@media(prefers-reduced-motion:reduce){.skeleton-shimmer,[class*=skeleton-]{animation:none!important}}.skeleton-line{height:16px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);animation:fadeIn var(--duration-normal) var(--ease-out)}.skeleton-project-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);animation:fadeIn var(--duration-normal) var(--ease-out)}.skeleton-project-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.skeleton-badge{width:60px;height:20px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;flex-shrink:0}.skeleton-tags{display:flex;gap:var(--space-1);flex-wrap:wrap}.skeleton-tag{height:20px;width:60px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-progress-container{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1)}.skeleton-progress-bar{height:5px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;overflow:hidden}.dashboard-skeleton{min-height:50vh;padding:var(--space-5);animation:fadeIn var(--duration-normal) var(--ease-out)}.skeleton-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}@media(max-width:379px){.skeleton-projects-grid{grid-template-columns:1fr;gap:var(--space-3)}.skeleton-project-card,.dashboard-skeleton{padding:var(--space-3)}}@media(min-width:380px)and (max-width:599px){.skeleton-projects-grid{grid-template-columns:1fr;gap:var(--space-3)}.dashboard-skeleton{padding:var(--space-4)}}@media(min-width:600px)and (max-width:767.98px){.skeleton-projects-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media(min-width:768px)and (max-width:1023px){.skeleton-projects-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-5)}.dashboard-skeleton{padding:var(--space-6)}}@media(min-width:1024px)and (max-width:1279px){.skeleton-projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5)}}@media(min-width:1280px){.skeleton-projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}.dashboard-skeleton{padding:var(--space-6)}}@media(min-width:1920px){.skeleton-projects-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media(max-height:500px)and (orientation:landscape){.skeleton-projects-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}.dashboard-skeleton{padding:var(--space-3)}}.notif-center{position:relative;display:inline-flex}.notif-bell{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast);min-width:44px;min-height:44px}.notif-bell:hover{background:var(--surface-3);color:var(--text-primary)}.notif-bell:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.notif-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,90vw);max-height:420px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:fadeInScale var(--duration-normal) var(--ease-out);z-index:var(--z-notification);display:flex;flex-direction:column}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.notif-panel-header h3{font-size:var(--text-md);font-weight:700;color:var(--text-primary);margin:0}.notif-panel-actions{display:flex;gap:var(--space-2)}.notif-action-btn{background:none;border:none;color:var(--brand-primary);font-size:var(--text-xs);font-weight:600;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--duration-fast)}.notif-action-btn:hover{background:var(--surface-3)}.notif-list{overflow-y:auto;flex:1}.notif-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);gap:var(--space-3)}.notif-empty-icon{font-size:32px;opacity:.4}.notif-empty p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.notif-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--duration-fast);border-bottom:1px solid var(--border-subtle)}.notif-item:hover{background:var(--surface-2)}.notif-item--unread{background:var(--brand-gradient-soft)}.notif-item--unread:hover{background:var(--surface-2)}.notif-item-icon{flex-shrink:0;font-size:16px;margin-top:2px}.notif-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-item-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.notif-item-message{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--leading-normal)}.notif-item-time{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.notif-item-dismiss{flex-shrink:0;background:none;border:none;color:var(--text-tertiary);font-size:18px;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);opacity:0;transition:opacity var(--duration-fast),color var(--duration-fast);line-height:1}.notif-item:hover .notif-item-dismiss{opacity:1}.notif-item-dismiss:hover{color:var(--danger)}@media(prefers-reduced-motion:reduce){.notif-panel{animation:none!important}}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md, 1rem);padding:var(--space-lg, 2rem);background-color:var(--surface-2, #1a1a1a);border:1px solid var(--surface-3, #2a2a2a);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .12));text-align:center;animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.error-state__icon{font-size:3rem;line-height:1}.error-state__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #ffffff);line-height:1.4}.error-state__message{margin:0;max-width:28rem;font-size:.95rem;color:var(--text-secondary, #b0b0b0);line-height:1.6}.error-state__retry-btn{min-height:2.75rem;padding:var(--space-sm, .5rem) var(--space-md, 1rem);background-color:var(--brand-primary, #4a90e2);color:#fff;border:none;border-radius:var(--radius-md, .5rem);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .12));margin-top:var(--space-xs, .25rem)}.error-state__retry-btn:hover{background-color:var(--brand-primary-hover, #3a7bc8);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .15));transform:translateY(-1px)}.error-state__retry-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .12))}.error-state__retry-btn:focus-visible{outline:2px solid var(--brand-primary, #4a90e2);outline-offset:2px}.error-state--compact{gap:var(--space-sm, .5rem);padding:var(--space-md, 1rem);border-radius:var(--radius-md, .5rem)}.error-state--compact .error-state__message{font-size:.875rem}.error-state__retry-btn--compact{min-height:2.25rem;padding:var(--space-xs, .25rem) var(--space-sm, .5rem);font-size:.85rem}@media(prefers-reduced-motion:reduce){.error-state{animation:none}.error-state__retry-btn,.error-state__retry-btn:hover,.error-state__retry-btn:active{transition:none;transform:none}}@media(max-width:640px){.error-state{padding:var(--space-md, 1rem);gap:var(--space-md, 1rem)}.error-state__icon{font-size:2.5rem}.error-state__title{font-size:1.1rem}.error-state__message{font-size:.9rem;max-width:none}.error-state__retry-btn{width:100%;padding:var(--space-sm, .5rem) var(--space-md, 1rem)}}.unlock-celebration{position:fixed;inset:0;width:100%;height:100%;padding:0;border:none;background:transparent;display:flex;align-items:center;justify-content:center;z-index:2000}.unlock-celebration::backdrop{background-color:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out}.unlock-celebration__confetti{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;background-color:var(--brand-primary, #818cf8);opacity:.8;pointer-events:none}.confetti:nth-child(1){left:10%;top:-10px;background-color:var(--brand-primary, #818cf8);animation:confettiFall 3s ease-in forwards;animation-delay:calc(0s + var(--delay, 0s))}.confetti:nth-child(2){left:20%;top:-10px;background-color:var(--brand-secondary, #67e8f9);animation:confettiFall 3.2s ease-in forwards;animation-delay:calc(.1s + var(--delay, 0s))}.confetti:nth-child(3){left:30%;top:-10px;background-color:#10b981;animation:confettiFall 3.4s ease-in forwards;animation-delay:calc(.2s + var(--delay, 0s))}.confetti:nth-child(4){left:40%;top:-10px;background-color:#f59e0b;animation:confettiFall 3.1s ease-in forwards;animation-delay:calc(.3s + var(--delay, 0s))}.confetti:nth-child(5){left:50%;top:-10px;background-color:var(--brand-primary, #818cf8);animation:confettiFall 3.3s ease-in forwards;animation-delay:calc(.4s + var(--delay, 0s))}.confetti:nth-child(6){left:60%;top:-10px;background-color:var(--brand-secondary, #67e8f9);animation:confettiFall 3s ease-in forwards;animation-delay:calc(.5s + var(--delay, 0s))}.confetti:nth-child(7){left:70%;top:-10px;background-color:#10b981;animation:confettiFall 3.2s ease-in forwards;animation-delay:calc(.6s + var(--delay, 0s))}.confetti:nth-child(8){left:80%;top:-10px;background-color:#f59e0b;animation:confettiFall 3.4s ease-in forwards;animation-delay:calc(.7s + var(--delay, 0s))}.confetti:nth-child(9){left:90%;top:-10px;background-color:var(--brand-primary, #818cf8);animation:confettiFall 3.1s ease-in forwards;animation-delay:calc(.8s + var(--delay, 0s))}.confetti:nth-child(10){left:15%;top:-10px;background-color:var(--brand-secondary, #67e8f9);animation:confettiFall 3.3s ease-in forwards;animation-delay:calc(.9s + var(--delay, 0s))}.confetti:nth-child(11){left:25%;top:-10px;background-color:#10b981;animation:confettiFall 3s ease-in forwards;animation-delay:calc(1s + var(--delay, 0s))}.confetti:nth-child(12){left:35%;top:-10px;background-color:#f59e0b;animation:confettiFall 3.2s ease-in forwards;animation-delay:calc(1.1s + var(--delay, 0s))}.confetti:nth-child(13){left:45%;top:-10px;background-color:var(--brand-primary, #818cf8);animation:confettiFall 3.4s ease-in forwards;animation-delay:calc(1.2s + var(--delay, 0s))}.confetti:nth-child(14){left:55%;top:-10px;background-color:var(--brand-secondary, #67e8f9);animation:confettiFall 3.1s ease-in forwards;animation-delay:calc(1.3s + var(--delay, 0s))}.confetti:nth-child(15){left:65%;top:-10px;background-color:#10b981;animation:confettiFall 3.3s ease-in forwards;animation-delay:calc(1.4s + var(--delay, 0s))}.confetti:nth-child(16){left:75%;top:-10px;background-color:#f59e0b;animation:confettiFall 3s ease-in forwards;animation-delay:calc(1.5s + var(--delay, 0s))}.confetti:nth-child(17){left:85%;top:-10px;background-color:var(--brand-primary, #818cf8);animation:confettiFall 3.2s ease-in forwards;animation-delay:calc(1.6s + var(--delay, 0s))}.confetti:nth-child(18){left:12%;top:-10px;background-color:var(--brand-secondary, #67e8f9);animation:confettiFall 3.4s ease-in forwards;animation-delay:calc(1.7s + var(--delay, 0s))}.confetti:nth-child(19){left:38%;top:-10px;background-color:#10b981;animation:confettiFall 3.1s ease-in forwards;animation-delay:calc(1.8s + var(--delay, 0s))}.confetti:nth-child(20){left:62%;top:-10px;background-color:#f59e0b;animation:confettiFall 3.3s ease-in forwards;animation-delay:calc(1.9s + var(--delay, 0s))}.unlock-celebration__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;z-index:-1}.unlock-celebration__card{position:relative;background-color:var(--surface-elevated, #1a1a1a);border-radius:var(--radius-xl, 16px);padding:var(--space-xl, 32px) var(--space-lg, 24px);text-align:center;box-shadow:var(--shadow-xl, 0 25px 50px -12px rgba(0, 0, 0, .5));border:1px solid var(--surface-secondary, #2a2a2a);animation:slideInScale .5s cubic-bezier(.16,1,.3,1);max-width:90%;width:100%;z-index:1}@media(min-width:640px){.unlock-celebration__card{max-width:400px}}.unlock-celebration__icon{font-size:4rem;margin-bottom:var(--space-md, 16px);display:inline-block;animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55) .2s backwards}#unlock-title{margin:0 0 var(--space-sm, 12px) 0;font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--brand-primary, #818cf8) 0%,var(--brand-secondary, #67e8f9) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.unlock-celebration__reward-name{margin:0 0 var(--space-md, 16px) 0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #ffffff)}.unlock-celebration__badge{display:inline-block;background-color:var(--surface-secondary, #2a2a2a);color:var(--brand-secondary, #67e8f9);padding:var(--space-xs, 6px) var(--space-sm, 12px);border-radius:var(--radius-full, 9999px);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-lg, 24px);border:1px solid var(--brand-secondary, #67e8f9);opacity:.8}.unlock-celebration__button{background:linear-gradient(135deg,var(--brand-primary, #818cf8) 0%,var(--brand-secondary, #67e8f9) 100%);color:#fff;border:none;border-radius:var(--radius-lg, 12px);padding:var(--space-sm, 12px) var(--space-lg, 24px);font-size:1rem;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease-out;box-shadow:0 4px 12px #818cf866}.unlock-celebration__button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #818cf899}.unlock-celebration__button:active{transform:translateY(0)}.unlock-celebration__button:focus{outline:2px solid var(--brand-primary, #818cf8);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes confettiFall{to{transform:translateY(100vh) rotate(360deg);opacity:0}}@media(prefers-reduced-motion:reduce){.unlock-celebration::backdrop{animation:none}.confetti{animation:none!important;display:none}.unlock-celebration__card,.unlock-celebration__icon{animation:none}.unlock-celebration__button{transition:none}.unlock-celebration__button:hover,.unlock-celebration__button:active{transform:none}}.bxp-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary, #64748b)}.bxp-loading-spinner{width:32px;height:32px;border:3px solid var(--border-light, #e2e8f0);border-top-color:var(--primary, #6366f1);border-radius:50%;animation:bxpSpin .7s linear infinite}@keyframes bxpSpin{to{transform:rotate(360deg)}}.bxp-page{min-height:auto;background:var(--surface-page, linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%));padding:16px 16px calc(100px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,16px));padding-right:max(16px,env(safe-area-inset-right,16px));overflow-x:hidden}.bxp-container{max-width:720px;margin:0 auto}.bxp-header{background:var(--surface-card, #fff);border-radius:var(--radius-lg, 16px);padding:24px;margin-bottom:20px;box-shadow:0 2px 12px #0000000f}.bxp-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.bxp-title{margin:0 0 4px;font-size:24px;font-weight:800;color:var(--text-primary, #1e293b)}.bxp-subtitle{margin:0;font-size:14px;color:var(--text-secondary, #64748b)}.bxp-xp-badge{display:flex;align-items:center;gap:10px;padding:10px 16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:var(--radius-md, 12px);color:#fff;flex-shrink:0}.bxp-xp-icon{font-size:28px}.bxp-xp-info{display:flex;flex-direction:column}.bxp-xp-level{font-size:12px;opacity:.85;font-weight:500}.bxp-xp-total{font-size:20px;font-weight:700}.bxp-briques-badge{display:flex;align-items:center;gap:10px;padding:10px 16px;background:linear-gradient(135deg,#d97706,#b45309);border-radius:var(--radius-md, 12px);color:#fff;flex-shrink:0;cursor:default}.bxp-briques-icon{display:flex;align-items:center}.bxp-briques-info{display:flex;flex-direction:column}.bxp-briques-label{font-size:12px;opacity:.85;font-weight:500}.bxp-briques-total{font-size:20px;font-weight:700}.bxp-level-progress{margin-top:20px}.bxp-level-bar{height:8px;background:var(--surface-muted, #f1f5f9);border-radius:8px;overflow:hidden}.bxp-level-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:8px;transition:width .5s ease}.bxp-level-label{display:block;margin-top:6px;font-size:12px;color:var(--text-tertiary, #94a3b8)}.bxp-next-reward{margin-top:16px;display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a40);border:1px solid #fbbf2440;border-radius:var(--radius-md, 10px);font-size:13px;color:var(--text-primary, #1e293b)}.bxp-next-icon{font-size:24px}.bxp-next-text strong{color:#d97706}.bxp-tabs{display:flex;gap:6px;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.bxp-tabs::-webkit-scrollbar{display:none}.bxp-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px;background:var(--surface-card, #fff);border:2px solid var(--border-light, #e2e8f0);border-radius:var(--radius-md, 12px);font-size:12px;font-weight:700;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s;white-space:nowrap;min-width:0;overflow:hidden}.bxp-tab:hover{border-color:#8b5cf650;color:var(--text-primary, #1e293b)}.bxp-tab--active{background:linear-gradient(135deg,#6366f108,#8b5cf610);border-color:#8b5cf6;color:#6366f1}.bxp-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:10px;flex-shrink:0;font-weight:700;color:#fff;background:#94a3b8}.bxp-tab--active .bxp-tab-count{background:#6366f1}.bxp-tab-count--hot{background:#ef4444;animation:bxpPulseHot 2s ease-in-out infinite}@keyframes bxpPulseHot{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.bxp-section{margin-bottom:32px}.bxp-section-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 16px}.bxp-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:12px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#10b981,#059669)}.bxp-section-count--locked{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.bxp-ephemeral-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.bxp-ephemeral-desc{margin:0;font-size:13px;color:var(--text-secondary, #64748b)}.bxp-countdown{display:inline-flex;align-items:center;padding:6px 14px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap;animation:bxpPulseHot 2s ease-in-out infinite;flex-shrink:0}.bxp-ephemeral-hint{margin-top:16px;padding:12px 16px;background:var(--surface-muted, #f1f5f920);border-radius:var(--radius-md, 10px);font-size:12px;color:var(--text-tertiary, #94a3b8);text-align:center}.bxp-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:540px){.bxp-grid{grid-template-columns:1fr 1fr}}.bxp-card{position:relative;background:var(--surface-card, #fff);border-radius:var(--radius-lg, 16px);padding:20px;border:1.5px solid var(--border-light, #e2e8f0);transition:all .2s ease;cursor:default}.bxp-card--unlocked{border-color:#10b98130}.bxp-card--locked{opacity:.88}.bxp-card--ephemeral{border-style:dashed}.bxp-card--ephemeral.bxp-card--unlocked{border-color:#f59e0b60;border-style:solid;background:linear-gradient(135deg,#fffbeb,#fff 60%)}.bxp-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.bxp-card-badge-unlocked{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(135deg,#10b981,#059669)}.bxp-card-badge-xp{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.bxp-card-tag{position:absolute;top:12px;left:12px;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:#94a3b8}.bxp-card-icon{font-size:40px;display:block;margin-bottom:10px}.bxp-card-title{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--text-primary, #1e293b)}.bxp-card-desc{margin:0 0 12px;font-size:13px;color:var(--text-secondary, #64748b);line-height:1.4}.bxp-card-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bxp-card-type{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;color:#fff}.bxp-type--cosmetic{background-color:var(--cosmetic-color, #ec4899)}.bxp-type--power{background-color:var(--brand-accent, #8b5cf6)}.bxp-type--content{background-color:var(--info, #60a5fa)}.bxp-type--status{background-color:var(--warning, #fbbf24);color:var(--text-inverse, #090d1a)}.bxp-type--boost{background-color:var(--success, #34d399);color:var(--text-inverse, #090d1a)}.bxp-card-duration{font-size:11px;color:var(--text-tertiary, #94a3b8);font-weight:600}button.bxp-card{text-align:left;border:none;cursor:pointer;font-family:inherit}.bxp-card-progress{margin-top:14px}.bxp-card-progress-bar{height:6px;background:var(--surface-muted, #f1f5f9);border-radius:6px;overflow:hidden}.bxp-card-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:6px;transition:width .5s ease}.bxp-card-progress-text{display:block;margin-top:4px;font-size:11px;color:var(--text-tertiary, #94a3b8);font-weight:500;text-align:right}.bxp-card-activate{display:block;width:100%;margin-top:14px;padding:10px 0;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:var(--radius-md, 10px);font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}.bxp-card-activate:hover{transform:scale(1.02);box-shadow:0 4px 12px #f59e0b59}.bxp-card-activate:active{transform:scale(.98)}[data-theme=dark] .bxp-page{background:var(--surface-page, #0f172a)}[data-theme=dark] .bxp-header,[data-theme=dark] .bxp-card,[data-theme=dark] .bxp-tab{background:var(--surface-card, #1e293b);border-color:var(--border-light, #334155)}[data-theme=dark] .bxp-card--ephemeral.bxp-card--unlocked{background:linear-gradient(135deg,#78350f20 0%,var(--surface-card, #1e293b) 60%)}@media(prefers-reduced-motion:reduce){.bxp-countdown,.bxp-tab-count--hot{animation:none}}.boutique__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;color:var(--text-secondary)}.boutique__empty span{font-size:48px;line-height:1}.boutique__empty p{margin:0;font-size:14px;line-height:1.5}.streak-shield{position:relative;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--surface-2, #1a1a1a);border-radius:.75rem;border:1px solid var(--surface-3, #2a2a2a);transition:all .3s ease}.streak-shield.danger{border-color:#f44;background:#ff444414;animation:danger-pulse 2s infinite}@keyframes danger-pulse{0%,to{border-color:#f44;box-shadow:0 0 #ff44444d}50%{border-color:#f66;box-shadow:0 0 0 4px #ff444426}}.streak-container{display:flex;align-items:center;gap:.5rem}.streak-fire{display:inline-block;animation:fire-flicker 1.5s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(255,100,0,.6))}@keyframes fire-flicker{0%,to{transform:scale(1) rotate(0);filter:drop-shadow(0 0 6px rgba(255,100,0,.6))}25%{transform:scale(1.05) rotate(-1deg);filter:drop-shadow(0 0 8px rgba(255,120,0,.7))}50%{transform:scale(.98) rotate(1deg);filter:drop-shadow(0 0 10px rgba(255,140,0,.8))}75%{transform:scale(1.02) rotate(-.5deg);filter:drop-shadow(0 0 8px rgba(255,120,0,.7))}}.streak-number{font-size:1.5rem;font-weight:700;color:var(--text-primary, #ffffff);line-height:1}.shield-badge{position:absolute;top:-.5rem;right:.5rem;font-size:1.25rem;padding:.25rem;background:#64c8ff26;border:1px solid rgba(100,200,255,.4);border-radius:.5rem;display:none}.shield-badge.active{display:flex;align-items:center;justify-content:center;animation:shield-pulse 2s ease-in-out infinite}@keyframes shield-pulse{0%,to{transform:scale(1);box-shadow:0 0 #64c8ff66}50%{transform:scale(1.1);box-shadow:0 0 8px 2px #64c8ff4d}}.milestone-badge{position:absolute;top:50%;right:-1.5rem;transform:translateY(-50%);font-size:1.75rem;animation:milestone-appear .6s cubic-bezier(.34,1.56,.64,1)}@keyframes milestone-appear{0%{opacity:0;transform:translateY(-50%) scale(.5)}to{opacity:1;transform:translateY(-50%) scale(1)}}.danger-warning{position:absolute;top:-2rem;left:50%;transform:translate(-50%);background:#ff4444e6;color:#fff;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:600;white-space:nowrap;animation:danger-appear .4s ease;text-transform:uppercase;letter-spacing:.5px}@keyframes danger-appear{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.warning-text{display:block}.protection-actions{display:flex;gap:.5rem;margin-left:auto}.action-button{padding:.4rem .8rem;border:none;border-radius:.4rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.3px;min-height:44px;display:flex;align-items:center;justify-content:center}.shield-button{background:linear-gradient(135deg,#64c8ff,#42a5f5);color:#fff}.shield-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #42a5f566}.shield-button:active{transform:translateY(0)}.freeze-button{background:linear-gradient(135deg,#88d3f5,#5ab4f0);color:#fff}.freeze-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5ab4f066}.freeze-button:active{transform:translateY(0)}@media(max-width:600px){.streak-shield{padding:.5rem .75rem;gap:.5rem}.streak-fire{font-size:1.25rem!important}.streak-number{font-size:1.25rem}.protection-actions{display:none}.shield-badge{font-size:1rem}.danger-warning{top:auto;bottom:-1.75rem;font-size:.65rem}}:root[data-theme=dark] .streak-shield{background:var(--surface-2, #1a1a1a);border-color:var(--surface-3, #2a2a2a)}:root[data-theme=dark] .streak-number{color:var(--text-primary, #ffffff)}@media(prefers-color-scheme:dark){.streak-shield{background:var(--surface-2, #1a1a1a);border-color:var(--surface-3, #2a2a2a)}.streak-number{color:var(--text-primary, #ffffff)}}@media(prefers-color-scheme:light){.streak-shield{background:#f5f5f5;border-color:#e0e0e0}.streak-shield.danger{border-color:#f44;background:#ff44440d}.streak-number{color:#1a1a1a}.shield-badge{background:#64c8ff1a;border-color:#64c8ff4d}.action-button{color:#fff}}@media(prefers-reduced-motion:reduce){.streak-shield.danger,.streak-fire,.shield-badge.active,.milestone-badge,.danger-warning{animation:none!important}}.fsc-card{background:var(--surface-card, #fff);border-radius:var(--radius-lg, 16px);padding:16px;box-shadow:0 2px 12px #0000000f;border:1.5px solid #6366f120}.fsc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.fsc-header-left{display:flex;align-items:center;gap:10px}.fsc-header-icon{font-size:24px}.fsc-title{margin:0;font-size:16px;font-weight:700;color:var(--text-primary, #1e293b)}.fsc-subtitle{font-size:12px;color:var(--text-tertiary, #94a3b8);font-weight:500}.fsc-dismiss{background:none;border:none;font-size:16px;color:var(--text-tertiary, #94a3b8);cursor:pointer;padding:4px;border-radius:50%;transition:background .15s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.fsc-dismiss:hover{background:var(--surface-muted, #f1f5f9)}.fsc-dismiss:focus-visible{outline:2px solid var(--brand-primary, #818cf8);outline-offset:2px}.fsc-progress{display:flex;align-items:center;gap:10px;margin-bottom:14px}.fsc-progress-bar{flex:1;height:6px;background:var(--surface-muted, #f1f5f9);border-radius:6px;overflow:hidden}.fsc-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary, #6366f1),var(--brand-accent, #8b5cf6));border-radius:6px;transition:width .5s ease}.fsc-progress-label{font-size:12px;font-weight:700;color:var(--brand-primary, #818cf8);flex-shrink:0}.fsc-steps{display:flex;flex-direction:column;gap:6px}.fsc-step{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:var(--surface-muted, #f8fafc);border:1px solid var(--border-light, #e2e8f0);border-radius:var(--radius-md, 10px);cursor:pointer;transition:all .15s;text-align:left}.fsc-step:hover{background:#f1f5f9;transform:translate(2px)}.fsc-step:focus-visible{outline:2px solid var(--brand-primary, #818cf8);outline-offset:2px}.fsc-step--done{background:#f0fdf4;border-color:#10b98125;opacity:.7}.fsc-step--just{animation:fscPop .4s ease;background:#ecfdf5;border-color:#10b98150;opacity:1}@keyframes fscPop{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.fsc-step-check{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:50%;background:#fff;border:2px solid var(--border-light, #e2e8f0);flex-shrink:0;transition:all .2s}.fsc-step-check--done{background:linear-gradient(135deg,#10b981,#059669);border-color:transparent;color:#fff;font-size:14px;font-weight:700}.fsc-step-content{flex:1;min-width:0}.fsc-step-title{display:block;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.fsc-step--done .fsc-step-title{text-decoration:line-through;color:var(--text-tertiary, #94a3b8)}.fsc-step-desc{display:block;font-size:11px;color:var(--text-secondary, #64748b);margin-top:1px}.fsc-step-xp{font-size:11px;font-weight:700;color:var(--brand-primary, #818cf8);flex-shrink:0;white-space:nowrap}.fsc-step--done .fsc-step-xp{color:var(--success, #10b981)}[data-theme=dark] .fsc-card{background:var(--surface-card, #1e293b);border-color:#6366f130}[data-theme=dark] .fsc-step{background:#1e293b80;border-color:#334155}[data-theme=dark] .fsc-step--done{background:#064e3b20}@media(prefers-reduced-motion:reduce){.fsc-step--just{animation:none!important}}[data-theme=light] .fsc-card{background:var(--surface-0);border-color:#6366f115}[data-theme=light] .fsc-title{color:var(--text-primary)}[data-theme=light] .fsc-subtitle,[data-theme=light] .fsc-dismiss{color:var(--text-tertiary)}[data-theme=light] .fsc-dismiss:hover,[data-theme=light] .fsc-progress-bar{background:var(--surface-2)}[data-theme=light] .fsc-step{background:var(--surface-1);border-color:var(--border-default)}[data-theme=light] .fsc-step:hover{background:var(--surface-2)}[data-theme=light] .fsc-step--done{background:#f0fdf4;border-color:#10b98125}[data-theme=light] .fsc-step--just{background:#ecfdf5;border-color:#10b98150}[data-theme=light] .fsc-step-check{background:#fff;border-color:var(--border-default)}[data-theme=light] .fsc-step-title{color:var(--text-primary)}[data-theme=light] .fsc-step--done .fsc-step-title{color:var(--text-tertiary)}[data-theme=light] .fsc-step-desc{color:var(--text-secondary)}
