@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap);@import url(https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=IBM+Plex+Sans:wght@400;600;700&family=Bebas+Neue&display=swap);@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;800&family=Crimson+Pro:wght@400;600&family=Lora:wght@400;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&family=Pixelify+Sans:wght@400;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&family=DM+Sans:wght@400;500;700&family=Inter:wght@400;600&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#6366f1;--color-primary-light:#818cf8;--color-primary-dark:#4f46e5;--color-secondary:#8b5cf6;--color-accent:#ec4899;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-secondary:linear-gradient(135deg,#f093fb,#f5576c);--gradient-accent:linear-gradient(135deg,#fa709a,#fee140);--gradient-dark:linear-gradient(135deg,#30cfd0,#330867);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--font-4xl:2.25rem;--font-5xl:3rem;--font-light:300;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--line-tight:1.25;--line-normal:1.5;--line-relaxed:1.75;--line-loose:2;--letter-tight:-0.025em;--letter-normal:0;--letter-wide:0.025em;--letter-wider:0.05em;--letter-widest:0.1em;--breakpoint-xs:480px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}html{font-size:16px;height:100%}body{background:linear-gradient(to bottom right,#f8fafc,#e2e8f0);font-size:1rem;font-size:var(--font-base);line-height:1.5;line-height:var(--line-normal);margin:0;position:relative}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:700;font-weight:var(--font-bold);line-height:1.25;line-height:var(--line-tight);margin:0}h1{font-size:3rem;font-size:var(--font-5xl)}h2{font-size:2.25rem;font-size:var(--font-4xl)}h3{font-size:1.875rem;font-size:var(--font-3xl)}h4{font-size:var(--font-2xl)}h5{font-size:var(--font-xl)}h6{font-size:1.125rem;font-size:var(--font-lg)}p{line-height:1.75;line-height:var(--line-relaxed);margin:0 0 1rem;margin:0 0 var(--spacing-md) 0}a{color:#6366f1;color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{text-decoration:underline}a:hover,code{color:#4f46e5;color:var(--color-primary-dark)}code{background:#6366f11a;border-radius:.25rem;font-size:.9em;padding:.2em .4em}code,pre{font-family:SF Mono,Monaco,Inconsolata,Fira Code,Courier New,monospace}pre{background:#1e293b;border-radius:.5rem;color:#e2e8f0;overflow-x:auto;padding:1rem;padding:var(--spacing-md)}::selection{background:#818cf8;background:var(--color-primary-light);color:#fff}::-moz-selection{background:#818cf8;background:var(--color-primary-light);color:#fff}:focus{outline:2px solid #6366f1;outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:6px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:2px solid #f1f5f9;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#4f46e5,#8b5cf6);background:linear-gradient(135deg,var(--color-primary-dark),var(--color-secondary))}.container{max-width:1280px;padding:0 1rem;padding:0 var(--spacing-md);width:100%}@media (min-width:640px){.container{padding:0 1.5rem;padding:0 var(--spacing-lg)}}@media (min-width:1024px){.container{padding:0 2rem;padding:0 var(--spacing-xl)}}@keyframes slideIn{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-.5rem)}}.transition-all{transition:all .3s ease}.transition-colors{transition:background-color .3s ease,color .3s ease}.transition-transform{transition:transform .3s ease}.transition-opacity{transition:opacity .3s ease}.hover-lift:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-2px)}.hover-grow:hover{transform:scale(1.05)}.hover-shrink:hover{transform:scale(.95)}.glass{background:#ffffffb3;border:1px solid #ffffff4d}.glass,.glass-dark{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-dark{background:#1e293bb3;border:1px solid #ffffff1a}.neumorphic{background:#e0e5ec;box-shadow:9px 9px 16px #a3b1c6,-9px -9px 16px #fff}.neumorphic-inset{background:#e0e5ec;box-shadow:inset 9px 9px 16px #a3b1c6,inset -9px -9px 16px #fff}@media print{body{background:#fff;color:#000}.no-print{display:none!important}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.focus-visible:focus{outline:2px solid #6366f1;outline:2px solid var(--color-primary);outline-offset:2px}.skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%}.habit-tracker-container{animation:fadeIn .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffffe6,#f8fafce6);border-radius:1.5rem;box-shadow:0 20px 40px #00000014;padding:2rem}.habit-tracker-header{align-items:center;border-bottom:2px solid #6366f11a;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.habit-tracker-title{-webkit-text-fill-color:#0000;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;display:flex;font-size:2.5rem;font-weight:800;gap:.75rem}.habit-tracker-subtitle{color:#64748b;font-size:1rem;font-weight:400;margin-top:.5rem}.habit-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.habit-control-group{align-items:center;background:#fff;border-radius:.75rem;box-shadow:0 2px 8px #0000000f;display:flex;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.habit-control-group:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.habit-control-label{color:#475569;font-size:.875rem;font-weight:500}.habit-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin:2rem 0}.habit-card{background:#fff;border:1px solid #0000000d;border-radius:1rem;box-shadow:0 4px 6px #0000000d;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.habit-card:before{background:linear-gradient(90deg,#6366f1,#818cf8);background:linear-gradient(90deg,var(--habit-color,#6366f1),var(--habit-color-light,#818cf8));content:"";height:4px;left:0;position:absolute;right:0;top:0}.habit-card:hover{box-shadow:0 12px 24px #0000001a;transform:translateY(-4px) scale(1.02)}.habit-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.habit-card-title{align-items:center;color:#1e293b;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem}.habit-card-badge{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:9999px;color:#0369a1;display:inline-flex;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.habit-calendar{grid-gap:.5rem;background:#f8fafc;border-radius:.75rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);padding:1rem}.habit-day{align-items:center;aspect-ratio:1;border-radius:.5rem;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;justify-content:center;position:relative;transition:all .2s ease}.habit-day:hover{transform:scale(1.1);z-index:1}.habit-day.completed{background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 2px 4px #10b9814d;color:#fff}.habit-day.partial{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 2px 4px #f59e0b4d;color:#fff}.habit-day.missed{background:#f1f5f9;color:#94a3b8}.habit-day.today{border:2px solid #6366f1;font-weight:700}.habit-stats-container{grid-gap:1rem;background:#fff;border-radius:1rem;box-shadow:0 4px 6px #0000000d;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2rem 0;padding:1.5rem}.habit-stat-item{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:.75rem;padding:1rem;text-align:center;transition:all .3s ease}.habit-stat-item:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);transform:translateY(-2px)}.habit-stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}.habit-stat-label{color:#64748b;font-size:.875rem;letter-spacing:.05em;margin-top:.5rem;text-transform:uppercase}.heatmap-wrapper{background:#fff;border-radius:1rem;box-shadow:0 4px 6px #0000000d;margin:2rem 0;padding:2rem}.heatmap-title{color:#1e293b}.heatmap-legend{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.5rem}.heatmap-legend-item{align-items:center;display:flex;gap:.25rem}.heatmap-legend-color{border-radius:.25rem;height:16px;width:16px}.streak-indicator{align-items:center;animation:pulse 2s infinite;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:9999px;color:#92400e;display:inline-flex;font-weight:600;gap:.5rem;padding:.5rem 1rem}.streak-fire{animation:flicker 1.5s infinite;color:#ef4444}@keyframes flicker{0%,to{opacity:1}50%{opacity:.8;transform:scale(1.1)}}.habit-progress{margin:1rem 0}.habit-progress-bar{background:#e2e8f0;height:8px}.habit-progress-bar,.habit-progress-fill{border-radius:9999px;overflow:hidden;position:relative}.habit-progress-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);height:100%;transition:width .5s ease}.habit-progress-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.habit-progress-text{color:#64748b;display:flex;font-size:.875rem;justify-content:space-between;margin-top:.5rem}.habit-tooltip{background:#1e293b;border-radius:.5rem;color:#fff;font-size:.875rem;opacity:0;padding:.5rem .75rem;pointer-events:none;position:absolute;transition:opacity .2s ease;white-space:nowrap;z-index:1000}.habit-tooltip.visible{opacity:1}.habit-tooltip:after{border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid #1e293b;bottom:-4px;content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}@media (max-width:768px){.habit-tracker-title{font-size:1.75rem}.habit-grid{grid-template-columns:1fr}.habit-controls{align-items:stretch;flex-direction:column}.habit-control-group{justify-content:center}.habit-stats-container{grid-template-columns:repeat(2,1fr)}}.fade-in{animation:fadeIn .5s ease-out}.slide-up{animation:slideUp .5s ease-out}.scale-in{animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.exercise-tracker-container{animation:fadeIn .6s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#fffffff2,#f9fafbf2);border-radius:1.5rem;box-shadow:0 25px 50px #0000001a;overflow:hidden;padding:2rem;position:relative}.exercise-tracker-container:before{animation:backgroundMove 30s linear infinite;background:radial-gradient(circle,#8b5cf60d 1px,#0000 0);background-size:30px 30px;content:"";height:200%;pointer-events:none;position:absolute;right:-50%;top:-50%;width:200%}.exercise-header{align-items:center;background:linear-gradient(90deg,#0000,#8b5cf61a,#0000);border-bottom:3px solid #0000;border-image:linear-gradient(90deg,#0000,#8b5cf6,#0000) 1;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.exercise-title{-webkit-text-fill-color:#0000;align-items:center;background:linear-gradient(135deg,#8b5cf6,#ec4899);-webkit-background-clip:text;background-clip:text;display:flex;font-size:2.75rem;font-weight:900;gap:1rem;text-shadow:0 2px 4px #8b5cf61a}.exercise-subtitle{color:#6b7280;font-size:1.1rem;font-weight:400;letter-spacing:.025em;margin-top:.5rem}.exercise-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.exercise-stat-card{background:#fff;border:1px solid #8b5cf61a;border-radius:1rem;box-shadow:0 4px 15px #00000014;overflow:hidden;padding:1.75rem;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.exercise-stat-card:before{background:linear-gradient(90deg,#0000,#8b5cf6,#0000);content:"";height:3px;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.exercise-stat-card:hover:before{left:100%}.exercise-stat-card:hover{border-color:#8b5cf64d;box-shadow:0 8px 25px #8b5cf626;transform:translateY(-5px) scale(1.02)}.exercise-stat-icon{align-items:center;background:linear-gradient(135deg,#8b5cf6,#a78bfa);border-radius:12px;color:#fff;display:flex;font-size:1.5rem;height:48px;justify-content:center;margin-bottom:1rem;width:48px}.exercise-stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#8b5cf6,#ec4899);-webkit-background-clip:text;background-clip:text;font-size:2.25rem;font-weight:800;line-height:1;margin-bottom:.5rem}.exercise-stat-label{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.exercise-stat-change{align-items:center;border-top:1px dashed #8b5cf633;display:flex;font-size:.875rem;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.exercise-stat-change.positive{color:#10b981}.exercise-stat-change.negative{color:#ef4444}.exercise-list-container{background:#fff;border-radius:1rem;box-shadow:0 4px 15px #00000014;margin-bottom:2rem;padding:1.5rem}.exercise-list-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.exercise-list-title{color:#1f2937;font-size:1.5rem;font-weight:700}.exercise-filter-group{display:flex;gap:.5rem}.exercise-filter-btn{background:#f3f4f6;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.exercise-filter-btn:hover{background:#e5e7eb;color:#4b5563}.exercise-filter-btn.active{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff}.exercise-item{align-items:center;background:#fafafa;border:2px solid #0000;border-radius:.75rem;cursor:pointer;display:flex;margin-bottom:1rem;padding:1.25rem;transition:all .3s ease}.exercise-item:hover{background:#fff;border-color:#8b5cf633;box-shadow:0 4px 12px #00000014;transform:translateX(5px)}.exercise-item-icon{align-items:center;background:linear-gradient(135deg,#8b5cf6,#ec4899);border-radius:12px;color:#fff;display:flex;font-size:1.5rem;height:56px;justify-content:center;margin-right:1rem;width:56px}.exercise-item-content{flex:1 1}.exercise-item-name{color:#1f2937;font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.exercise-item-details{color:#6b7280;display:flex;font-size:.875rem;gap:1rem}.exercise-item-detail{align-items:center;display:flex;gap:.25rem}.exercise-item-actions{display:flex;gap:.5rem}.exercise-action-btn{align-items:center;background:#f3f4f6;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.exercise-action-btn:hover{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;transform:scale(1.1)}.exercise-calendar-container{background:#fff;border-radius:1rem;box-shadow:0 4px 15px #00000014;margin-bottom:2rem;padding:2rem}.exercise-calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.exercise-calendar-nav{display:flex;gap:.5rem}.calendar-nav-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.calendar-nav-btn:hover{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.exercise-calendar-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;background:#fafafa;border:2px solid #0000;border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;justify-content:center;position:relative;transition:all .3s ease}.calendar-day:hover{box-shadow:0 4px 12px #0000001a;transform:scale(1.05)}.calendar-day.has-exercise{background:linear-gradient(135deg,#8b5cf61a,#ec48991a);border-color:#8b5cf64d}.calendar-day.selected{background:linear-gradient(135deg,#8b5cf6,#ec4899);box-shadow:0 4px 12px #8b5cf64d;color:#fff}.calendar-day-number{font-size:1rem;font-weight:600}.calendar-day-exercises{bottom:4px;display:flex;gap:2px;position:absolute}.exercise-dot{background:#8b5cf6;border-radius:50%;height:6px;width:6px}.exercise-progress-container{background:#fff;border-radius:1rem;box-shadow:0 4px 15px #00000014;margin-bottom:2rem;padding:2rem}.exercise-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.progress-period-selector{background:#f3f4f6;border-radius:.5rem;display:flex;gap:.5rem;padding:.25rem}.period-btn{background:#0000;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.period-btn:hover{color:#4b5563}.period-btn.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:#8b5cf6}.exercise-chart-wrapper{height:300px;margin:2rem 0;position:relative}.chart-overlay{background:linear-gradient(180deg,#0000 70%,#ffffffe6);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.add-exercise-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;border-radius:50%;bottom:2rem;box-shadow:0 8px 24px #8b5cf64d;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:64px;justify-content:center;position:fixed;right:2rem;transition:all .3s ease;width:64px;z-index:100}.add-exercise-btn:hover{box-shadow:0 12px 32px #8b5cf666;transform:scale(1.1) rotate(90deg)}@media (max-width:768px){.exercise-title{font-size:2rem}.exercise-stats-grid{grid-template-columns:1fr}.exercise-header{align-items:flex-start;flex-direction:column;gap:1rem}.exercise-calendar-grid{gap:.5rem}.calendar-day{font-size:.875rem}.add-exercise-btn{bottom:1rem;height:56px;right:1rem;width:56px}}.exercise-loading{align-items:center;display:flex;justify-content:center;min-height:200px}.exercise-spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#8b5cf6;height:48px;width:48px}.exercise-empty-state{padding:4rem 2rem;text-align:center}.empty-state-icon{color:#e5e7eb}.empty-state-title{color:#4b5563}.empty-state-message{color:#9ca3af;margin-bottom:2rem}.empty-state-action{background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 2rem;transition:all .3s ease}.empty-state-action:hover{box-shadow:0 8px 16px #8b5cf64d;transform:translateY(-2px)}:root{--primary-color:#6366f1;--primary-light:#818cf8;--primary-dark:#4f46e5;--secondary-color:#8b5cf6;--secondary-light:#a78bfa;--secondary-dark:#7c3aed;--accent-color:#ec4899;--accent-light:#f472b6;--accent-dark:#db2777;--success-color:#10b981;--success-light:#34d399;--success-dark:#059669;--warning-color:#f59e0b;--warning-light:#fbbf24;--warning-dark:#d97706;--error-color:#ef4444;--error-light:#f87171;--error-dark:#dc2626;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--text-primary:#1e293b;--text-secondary:#475569;--text-tertiary:#64748b;--text-light:#94a3b8;--border-light:#e2e8f0;--border-medium:#cbd5e1;--border-dark:#94a3b8;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-hover:0 14px 28px #0000001f,0 10px 10px #00000014;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}@media (prefers-color-scheme:dark){:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-light:#64748b;--border-light:#334155;--border-medium:#475569;--border-dark:#64748b}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#fff);background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-primary) 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:#1e293b;color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{color:#475569;color:var(--text-secondary);margin-bottom:1rem}.btn{align-items:center;border:none;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.625rem 1.25rem;text-decoration:none;transition:all .25s ease;transition:all var(--transition-base)}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#818cf8,#6366f1);background:linear-gradient(135deg,var(--primary-light) 0,var(--primary-color) 100%);box-shadow:0 14px 28px #0000001f,0 10px 10px #00000014;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.btn-secondary{background:#f8fafc;background:var(--bg-secondary);border:2px solid #e2e8f0;border:2px solid var(--border-light);color:#1e293b;color:var(--text-primary)}.btn-secondary:hover{background:#f1f5f9;background:var(--bg-tertiary);border-color:#cbd5e1;border-color:var(--border-medium)}.card{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);padding:1.5rem;transition:all .25s ease;transition:all var(--transition-base)}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light);margin-bottom:1rem;padding-bottom:1rem}.card-body{padding:1rem 0}.card-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-light);margin-top:1rem;padding-top:1rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-weight:500;margin-bottom:.5rem}.form-control,.form-label{color:#1e293b;color:var(--text-primary);font-size:.875rem}.form-control{background:#fff;background:var(--bg-primary);border:2px solid #e2e8f0;border:2px solid var(--border-light);border-radius:.5rem;border-radius:var(--radius-md);padding:.625rem .875rem;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.form-control:focus{border-color:#6366f1;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.table-modern{background:#fff;background:var(--bg-primary);border-collapse:initial;border-radius:.75rem;border-radius:var(--radius-lg);border-spacing:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);overflow:hidden;width:100%}.table-modern thead{background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%)}.table-modern thead th{color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.table-modern tbody tr{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light);transition:all .15s ease;transition:all var(--transition-fast)}.table-modern tbody tr:hover{background:#f8fafc;background:var(--bg-secondary)}.table-modern tbody td{color:#475569;color:var(--text-secondary);font-size:.875rem;padding:1rem}.grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(1,minmax(0,1fr))}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-fadeIn{animation:fadeIn .5s ease-out}.animate-slideInLeft{animation:slideInLeft .5s ease-out}.animate-slideInRight{animation:slideInRight .5s ease-out}.animate-pulse{animation:pulse 2s infinite}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2rem}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040;box-shadow:var(--shadow-2xl)}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f8fafc;background:var(--bg-secondary)}::-webkit-scrollbar-thumb,::-webkit-scrollbar-track{border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:#6366f1;background:var(--primary-color);border:2px solid #f8fafc;border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:#4f46e5;background:var(--primary-dark)}.spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-top-color:#6366f1;border:4px solid var(--border-light);border-radius:50%;border-top-color:var(--primary-color);height:40px;width:40px}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.badge-primary{background:#818cf8;background:var(--primary-light);color:#fff}.badge-success{background:#34d399;background:var(--success-light);color:#fff}.badge-warning{background:#fbbf24;background:var(--warning-light);color:#1e293b;color:var(--text-primary)}.badge-error{background:#f87171;background:var(--error-light);color:#fff}.container{animation:fadeIn .5s ease-out;margin:0 auto;max-width:1200px;padding:2rem}.app-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;overflow:hidden;position:relative}.app-container:before{animation:backgroundMove 20s linear infinite;background:radial-gradient(circle,#ffffff1a 1px,#0000 0);background-size:50px 50px;content:"";height:200%;pointer-events:none;position:absolute;right:-50%;top:-50%;width:200%}@keyframes backgroundMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.main-content{animation:slideUp .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);margin:2rem auto;max-width:1400px;padding:2rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-header{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border-radius:var(--radius-xl) var(--radius-xl) 0 0;color:#fff;margin:-2rem -2rem 2rem;padding:3rem 2rem;text-align:center}.app-header h1{font-size:3rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem;text-shadow:2px 2px 4px #0000001a}.app-header p{color:#ffffffe6;font-size:1.2rem;opacity:.95}.nav-tabs{border-bottom:2px solid var(--border-light);display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:0}.nav-tab{background:#0000;border:none;border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--text-secondary);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;position:relative;transition:all var(--transition-base)}.nav-tab:hover{background:var(--bg-secondary);color:var(--primary-color)}.nav-tab.active{background:var(--bg-primary);color:var(--primary-color)}.nav-tab.active:after{background:var(--primary-color);bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}table{background:var(--bg-primary);border-collapse:initial;border-radius:var(--radius-lg);border-spacing:0;box-shadow:var(--shadow-md);overflow:hidden;width:100%}thead{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%)}th{border:none;color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}tbody tr{border-bottom:1px solid var(--border-light);transition:all var(--transition-fast)}tbody tr:hover{background:var(--bg-secondary);transform:scale(1.01)}tbody tr:last-child{border-bottom:none}td{border:none;color:var(--text-secondary);font-size:.875rem;padding:1rem}.card-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem 0}.stats-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;padding:1.5rem;position:relative;transition:all var(--transition-base)}.stats-card:before{background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));content:"";height:4px;left:0;position:absolute;right:0;top:0}.stats-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.stats-card-title{color:var(--text-tertiary);font-size:.875rem;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.stats-card-value{color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1}.stats-card-change{align-items:center;display:flex;font-size:.875rem;gap:.25rem;margin-top:.5rem}.stats-card-change.positive{color:var(--success-color)}.stats-card-change.negative{color:var(--error-color)}.fab-container{bottom:2rem;position:fixed;right:2rem;z-index:var(--z-fixed)}.fab{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border:none;border-radius:50%;box-shadow:var(--shadow-lg);color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;transition:all var(--transition-base);width:56px}.fab:hover{box-shadow:var(--shadow-xl);transform:scale(1.1) rotate(90deg)}.fab svg{height:24px;width:24px}.charts-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin:2rem 0}.chart-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem}.chart-header{align-items:center;border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.chart-title{color:var(--text-primary);font-size:1.25rem;font-weight:600}.heatmap-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:2rem 0;padding:1.5rem}.heatmap-header{justify-content:space-between;margin-bottom:1.5rem}.heatmap-header,.heatmap-title{align-items:center;display:flex}.heatmap-title{color:var(--text-primary);font-size:1.5rem;font-weight:600;gap:.5rem}.heatmap-grid{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}@media (max-width:768px){.container{padding:1rem}.main-content{margin:1rem;padding:1rem}.app-header h1{font-size:2rem}.app-header p{font-size:1rem}.card-grid,.charts-container{grid-template-columns:1fr}.nav-tabs{flex-wrap:wrap}.fab-container{bottom:1rem;right:1rem}}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.loading-spinner{animation:spin .8s linear infinite;border:4px solid var(--border-light);border-radius:50%;border-top-color:var(--primary-color);height:48px;width:48px}.loading-text{color:var(--text-secondary);font-size:1rem}.empty-state{color:var(--text-tertiary);padding:3rem;text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state-title{color:var(--text-secondary);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.empty-state-description{color:var(--text-tertiary);font-size:1rem}:root[data-theme=brutalist]{--brutal-black:#000;--brutal-white:#fff;--brutal-gray:#f5f5f5;--brutal-dark-gray:#333;--brutal-orange:#ff4500;--brutal-red:red;--brutal-yellow:#ff0;--font-display:"Bebas Neue","Space Mono",monospace;--font-body:"IBM Plex Sans",sans-serif;--font-mono:"Space Mono",monospace;--brutal-border:4px solid var(--brutal-black);--brutal-border-thick:8px solid var(--brutal-black);--brutal-shadow:8px 8px 0 var(--brutal-black);--brutal-shadow-hover:12px 12px 0 var(--brutal-black);--brutal-shadow-active:4px 4px 0 var(--brutal-black);--brutal-spacing:24px;--brutal-spacing-sm:12px;--brutal-spacing-lg:48px}:root[data-theme=brutalist] *{box-sizing:border-box}:root[data-theme=brutalist] body{-webkit-font-smoothing:antialiased;background:var(--brutal-white);color:var(--brutal-black);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}:root[data-theme=brutalist] *{border-radius:0!important}:root[data-theme=brutalist] .app-container,:root[data-theme=brutalist] .app-container.brutalist{background:var(--brutal-white);min-height:100vh;overflow:visible;position:relative}:root[data-theme=brutalist] .app-container.brutalist:before,:root[data-theme=brutalist] .app-container:before{background-image:repeating-linear-gradient(0deg,#0000,#0000 23px,var(--brutal-black) 23px,var(--brutal-black) 24px),repeating-linear-gradient(90deg,#0000,#0000 23px,var(--brutal-black) 23px,var(--brutal-black) 24px);content:"";height:100%;left:0;opacity:.05;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}:root[data-theme=brutalist] .brutal-header{background:var(--brutal-black);border-bottom:var(--brutal-border-thick);color:var(--brutal-white);margin-bottom:var(--brutal-spacing-lg);overflow:hidden;padding:var(--brutal-spacing-lg) var(--brutal-spacing);position:relative}:root[data-theme=brutalist] .brutal-header:after{color:var(--brutal-white);content:"HABITFLOW";font-family:var(--font-display);font-size:8rem;font-weight:700;letter-spacing:.2em;opacity:.05;pointer-events:none;position:absolute;right:-20px;top:50%;transform:translateY(-50%) rotate(90deg)}:root[data-theme=brutalist] .brutal-title{color:var(--brutal-white)!important;font-family:var(--font-display);font-size:clamp(3rem,10vw,8rem);font-weight:700;letter-spacing:-.05em;line-height:.9;margin-bottom:var(--brutal-spacing-sm);position:relative;text-transform:uppercase;z-index:1}:root[data-theme=brutalist] .brutal-title span{animation:glitchText 3s infinite;color:var(--brutal-white)!important;display:inline-block}@keyframes glitchText{0%,90%,to{transform:translate(0)}92%{transform:translate(-2px,2px)}94%{transform:translate(2px,-2px)}}:root[data-theme=brutalist] .brutal-subtitle{color:var(--brutal-orange)!important;display:block!important;font-family:var(--font-mono)!important;font-size:1rem!important;letter-spacing:.2em!important;opacity:1!important;position:relative;text-transform:uppercase!important;visibility:visible!important;z-index:1}.brutal-tabs{border:var(--brutal-border);display:flex;gap:0;margin:0 var(--brutal-spacing) var(--brutal-spacing-lg)}.brutal-tab,.brutal-tabs{background:var(--brutal-white)}.brutal-tab{border:none;border-right:var(--brutal-border);cursor:pointer;flex:1 1;font-family:var(--font-mono);font-size:1rem;font-weight:700;letter-spacing:.1em;padding:var(--brutal-spacing) var(--brutal-spacing);position:relative;text-transform:uppercase;transition:all .15s ease}.brutal-tab:last-child{border-right:none}.brutal-tab:hover{background:var(--brutal-yellow);transform:translateY(-4px)}.brutal-tab.active{background:var(--brutal-black);color:var(--brutal-white)}.brutal-tab.active:before{animation:blink 1s infinite;content:"▶";left:8px;position:absolute}.brutal-card{background:var(--brutal-white);border:var(--brutal-border);box-shadow:var(--brutal-shadow);margin-bottom:var(--brutal-spacing);padding:var(--brutal-spacing);position:relative;transition:all .2s ease}.brutal-card:hover{box-shadow:var(--brutal-shadow-hover);transform:translate(-4px,-4px)}.brutal-card:active{box-shadow:var(--brutal-shadow-active);transform:translate(4px,4px)}.brutal-habit-card{border-left:12px solid var(--habit-color,var(--brutal-orange));overflow:visible;position:relative}.brutal-habit-card:before{background:var(--brutal-black);border:2px solid var(--brutal-black);color:var(--brutal-white);content:attr(data-habit-name);font-family:var(--font-mono);font-size:.75rem;font-weight:700;left:-4px;letter-spacing:.1em;padding:4px 12px;position:absolute;text-transform:uppercase;top:-20px}.brutal-heatmap-container{background:var(--brutal-gray);border:var(--brutal-border);box-shadow:var(--brutal-shadow);margin:var(--brutal-spacing) var(--brutal-spacing);padding:var(--brutal-spacing-lg)}.brutal-heatmap-title{border-bottom:var(--brutal-border-thick);font-family:var(--font-display);font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--brutal-spacing);padding-bottom:var(--brutal-spacing-sm);text-transform:uppercase}.brutal-heatmap-cell{aspect-ratio:1;border:2px solid var(--brutal-black);cursor:pointer;transition:all .1s ease}.brutal-heatmap-cell:hover{box-shadow:4px 4px 0 var(--brutal-black);transform:scale(1.2);z-index:10}.brutal-heatmap-cell.empty{background:var(--brutal-white)}.brutal-heatmap-cell.level-1{background:repeating-linear-gradient(45deg,var(--brutal-white),var(--brutal-white) 5px,var(--habit-color) 5px,var(--habit-color) 10px)}.brutal-heatmap-cell.level-2{background:repeating-linear-gradient(45deg,var(--habit-color),var(--habit-color) 5px,var(--brutal-white) 5px,var(--brutal-white) 10px)}.brutal-heatmap-cell.level-3{background:var(--habit-color)}.brutal-stats-grid{grid-gap:var(--brutal-spacing);display:grid;gap:var(--brutal-spacing);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:var(--brutal-spacing)}.brutal-stat-card{background:var(--brutal-black);border:var(--brutal-border);color:var(--brutal-white);overflow:hidden;padding:var(--brutal-spacing-lg) var(--brutal-spacing);position:relative;text-align:center}.brutal-stat-card:before{background:var(--brutal-orange);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:0}.brutal-stat-card:hover:before{left:0}.brutal-stat-value{font-family:var(--font-display);font-size:5rem;font-weight:700;line-height:1;position:relative;z-index:1}.brutal-stat-label{font-size:.875rem;letter-spacing:.2em;margin-top:var(--brutal-spacing-sm);z-index:1}.brutal-stat-label,.brutal-streak{font-family:var(--font-mono);position:relative;text-transform:uppercase}.brutal-streak{align-items:center;animation:pulseStreak 2s infinite;background:var(--brutal-yellow);border:var(--brutal-border);box-shadow:4px 4px 0 var(--brutal-black);display:inline-flex;font-size:1.25rem;font-weight:700;gap:var(--brutal-spacing-sm);padding:var(--brutal-spacing-sm) var(--brutal-spacing)}@keyframes pulseStreak{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.brutal-streak-icon{animation:fireFlicker .5s infinite;font-size:1.5rem}@keyframes fireFlicker{0%,to{transform:scale(1) rotate(0deg)}25%{transform:scale(1.1) rotate(-5deg)}75%{transform:scale(1.1) rotate(5deg)}}.brutal-button{background:var(--brutal-white);border:var(--brutal-border);box-shadow:4px 4px 0 var(--brutal-black);cursor:pointer;font-family:var(--font-mono);font-size:1rem;font-weight:700;letter-spacing:.1em;overflow:hidden;padding:var(--brutal-spacing-sm) var(--brutal-spacing);position:relative;text-transform:uppercase;transition:all .15s ease}.brutal-button:hover{background:var(--brutal-orange);box-shadow:6px 6px 0 var(--brutal-black);color:var(--brutal-white);transform:translate(-2px,-2px)}.brutal-button:active{box-shadow:0 0 0 var(--brutal-black);transform:translate(4px,4px)}.brutal-button-primary{background:var(--brutal-black);color:var(--brutal-white)}.brutal-button-primary:hover{background:var(--brutal-orange)}.brutal-score-selector{border:var(--brutal-border);display:flex;gap:0}.brutal-score-button{background:var(--brutal-white);border:none;border-right:var(--brutal-border);cursor:pointer;flex:1 1;font-family:var(--font-display);font-size:2rem;font-weight:700;padding:var(--brutal-spacing);transition:all .15s ease}.brutal-score-button:last-child{border-right:none}.brutal-score-button:hover{background:var(--brutal-gray);transform:scale(1.1)}.brutal-score-button.selected{background:var(--brutal-black);color:var(--brutal-white)}.brutal-score-button[data-score="0"]{border-left:4px solid #ccc}.brutal-score-button[data-score="1"]{border-left:4px solid #ff0}.brutal-score-button[data-score="2"]{border-left:4px solid #f80}.brutal-score-button[data-score="3"]{border-left:4px solid #0f0}.brutal-loading{align-items:center;display:flex;flex-direction:column;gap:var(--brutal-spacing);justify-content:center;min-height:400px}.brutal-spinner{animation:brutalSpin .6s linear infinite;border:8px solid var(--brutal-black);border-top-color:var(--brutal-orange);height:80px;width:80px}@keyframes brutalSpin{to{transform:rotate(1turn)}}.brutal-loading-text{animation:blink 1s infinite;font-family:var(--font-mono);font-size:1.5rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.brutal-chart-container{background:var(--brutal-white);border:var(--brutal-border);box-shadow:var(--brutal-shadow);margin:var(--brutal-spacing);padding:var(--brutal-spacing-lg)}.brutal-chart-title{border-bottom:var(--brutal-border);font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:var(--brutal-spacing);padding-bottom:var(--brutal-spacing-sm);text-transform:uppercase}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--brutal-black);stroke-width:2}.recharts-cartesian-axis-line{stroke:var(--brutal-black);stroke-width:4}@media (max-width:768px){.brutal-title{font-size:3rem}.brutal-stats-grid{grid-template-columns:1fr}.brutal-tabs{flex-direction:column}.brutal-tab{border-bottom:var(--brutal-border);border-right:none}.brutal-tab:last-child{border-bottom:none}}.MuiPaper-root{background:var(--brutal-white)!important;border:var(--brutal-border)!important;border-radius:0!important;box-shadow:var(--brutal-shadow)!important;transition:all .15s ease!important}.MuiPaper-root:hover{box-shadow:var(--brutal-shadow-hover)!important;transform:translate(-2px,-2px)!important}.MuiButton-root,.MuiButtonBase-root:not(.MuiTab-root){border:var(--brutal-border)!important;border-radius:0!important;box-shadow:4px 4px 0 var(--brutal-black)!important;font-family:var(--font-mono)!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;transition:all .15s ease!important}.MuiButton-root:hover{background:var(--brutal-orange)!important;box-shadow:6px 6px 0 var(--brutal-black)!important;color:var(--brutal-white)!important;transform:translate(-2px,-2px)!important}.MuiButton-contained{background:var(--brutal-black)!important;color:var(--brutal-white)!important}.MuiButton-outlined{background:var(--brutal-white)!important;color:var(--brutal-black)!important}.MuiTypography-h1,.MuiTypography-h2,.MuiTypography-h3,.MuiTypography-h4{font-family:var(--font-display)!important;font-weight:700!important;letter-spacing:-.02em!important}.MuiTypography-h5,.MuiTypography-h6{font-family:var(--font-body)!important;font-weight:700!important}.MuiTypography-body1,.MuiTypography-body2{color:var(--brutal-black)!important;font-family:var(--font-body)!important}:root[data-theme=brutalist] div,:root[data-theme=brutalist] p,:root[data-theme=brutalist] span{color:var(--brutal-black)}:root[data-theme=brutalist] label{color:var(--brutal-black)!important;font-family:var(--font-mono)!important}.MuiInputBase-root,.MuiSelect-root,.MuiTextField-root input{background:var(--brutal-white)!important;font-family:var(--font-mono)!important}.MuiInputBase-root,.MuiOutlinedInput-notchedOutline,.MuiSelect-root,.MuiTextField-root input,input[type=date]{border:var(--brutal-border)!important;border-radius:0!important}input[type=date]{background:var(--brutal-white)!important;font-family:var(--font-mono)!important;font-size:1rem!important;padding:12px!important}.MuiChip-root{border:2px solid var(--brutal-black)!important;border-radius:0!important;font-weight:700!important;text-transform:uppercase!important}.MuiAlert-root,.MuiChip-root{font-family:var(--font-mono)!important}.MuiAlert-root{border:var(--brutal-border)!important;border-radius:0!important}.MuiDialog-paper{border:var(--brutal-border-thick)!important;box-shadow:16px 16px 0 var(--brutal-black)!important}.MuiCard-root{border:var(--brutal-border)!important;border-radius:0!important;box-shadow:var(--brutal-shadow)!important}.MuiCard-root:hover{box-shadow:var(--brutal-shadow-hover)!important;transform:translate(-2px,-2px)!important}.MuiCircularProgress-root{color:var(--brutal-orange)!important}.MuiIconButton-root{border:2px solid var(--brutal-black)!important;border-radius:0!important}.brutal-divider{background:var(--brutal-black);height:4px;margin:var(--brutal-spacing-lg) 0}.brutal-text-display{font-family:var(--font-display);font-weight:700;text-transform:uppercase}.brutal-text-mono{font-family:var(--font-mono);letter-spacing:.1em}.brutal-bg-stripe{background:repeating-linear-gradient(45deg,var(--brutal-black),var(--brutal-black) 10px,var(--brutal-yellow) 10px,var(--brutal-yellow) 20px)}:root[data-theme=zen-garden]{--zen-forest:#2d5016;--zen-cream:#e8dcc4;--zen-terracotta:#c97d60;--zen-sage:#a8b5a0;--zen-white:#fdfbf7;--zen-moss:#4a6741;--zen-sand:#d4c5b0;--zen-clay:#a67c52;--font-display:"Playfair Display",serif;--font-body:"Crimson Pro",serif;--font-accent:"Lora",serif;--font-mono:"Crimson Pro",serif;--zen-spacing-xs:8px;--zen-spacing-sm:16px;--zen-spacing-md:32px;--zen-spacing-lg:64px;--zen-spacing-xl:96px;--zen-radius-sm:12px;--zen-radius-md:16px;--zen-radius-lg:24px;--zen-radius-xl:32px;--zen-shadow-sm:0 2px 12px #2d50160f;--zen-shadow-md:0 4px 20px #2d501614;--zen-shadow-lg:0 12px 40px #2d50161f;--zen-shadow-xl:0 20px 60px #2d501629;--zen-gradient-primary:linear-gradient(135deg,#fdfbf7,#e8dcc4);--zen-gradient-secondary:linear-gradient(135deg,#a8b5a0,#2d5016);--zen-gradient-accent:linear-gradient(135deg,#d4c5b0,#c97d60)}:root[data-theme=zen-garden] *{box-sizing:border-box}:root[data-theme=zen-garden] body{-webkit-font-smoothing:antialiased;background:var(--zen-gradient-primary);color:var(--zen-forest);font-family:var(--font-body);line-height:1.8}:root[data-theme=zen-garden] .app-container{background:var(--zen-gradient-primary);min-height:100vh;overflow:hidden;position:relative}:root[data-theme=zen-garden] .app-container:before{animation:watercolorFloat 30s ease-in-out infinite;background-image:radial-gradient(circle at 20% 30%,#a8b5a00d 0,#0000 50%),radial-gradient(circle at 80% 70%,#c97d600d 0,#0000 50%),radial-gradient(circle at 50% 50%,#d4c5b008 0,#0000 70%);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}@keyframes watercolorFloat{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}:root[data-theme=zen-garden] .brutal-header{background:var(--zen-gradient-secondary);border-bottom:none;box-shadow:var(--zen-shadow-lg);color:var(--zen-white);margin-bottom:var(--zen-spacing-lg);overflow:hidden;padding:var(--zen-spacing-xl) var(--zen-spacing-md);position:relative}:root[data-theme=zen-garden] .brutal-header:after{animation:gentleFloat 20s ease-in-out infinite;background:radial-gradient(ellipse,#ffffff14 0,#0000 70%);border-radius:50%;content:"";height:200%;pointer-events:none;position:absolute;right:-10%;top:-50%;width:80%}@keyframes gentleFloat{0%,to{transform:translate(0) rotate(0deg)}50%{transform:translate(-20px,20px) rotate(5deg)}}:root[data-theme=zen-garden] .brutal-title{animation:none;font-family:var(--font-display);font-size:clamp(2.5rem,8vw,5rem);font-weight:700;letter-spacing:.05em;line-height:1.2;margin-bottom:var(--zen-spacing-sm);position:relative;text-transform:none;z-index:1}:root[data-theme=zen-garden] .brutal-title span{animation:none;font-style:italic}:root[data-theme=zen-garden] .brutal-subtitle{color:var(--zen-cream);font-family:var(--font-accent);font-size:1.1rem;font-style:italic;letter-spacing:.15em;position:relative;text-transform:none;z-index:1}:root[data-theme=zen-garden] .brutal-tabs{background:#0000;border:none;display:flex;gap:var(--zen-spacing-sm);margin:0 var(--zen-spacing-md) var(--zen-spacing-lg)}:root[data-theme=zen-garden] .brutal-tab{background:var(--zen-white);border:2px solid var(--zen-sage);border-radius:var(--zen-radius-md);box-shadow:var(--zen-shadow-sm);color:var(--zen-forest);cursor:pointer;flex:1 1;font-family:var(--font-accent);font-size:1rem;font-weight:600;letter-spacing:.05em;padding:var(--zen-spacing-md);text-transform:none;transition:all .3s ease}:root[data-theme=zen-garden] .brutal-tab:hover{background:var(--zen-cream);box-shadow:var(--zen-shadow-md);transform:translateY(-2px)}:root[data-theme=zen-garden] .brutal-tab.active{background:var(--zen-gradient-secondary);border-color:var(--zen-forest);box-shadow:var(--zen-shadow-lg);color:var(--zen-white)}:root[data-theme=zen-garden] .brutal-tab.active:before{animation:blossomFloat 2s ease-in-out infinite;content:"🌸";left:12px;position:absolute}@keyframes blossomFloat{0%,to{opacity:1;transform:translateY(0) rotate(0deg)}50%{opacity:.7;transform:translateY(-5px) rotate(10deg)}}:root[data-theme=zen-garden] .brutal-card{background:var(--zen-white);border:2px solid var(--zen-sage);border-radius:var(--zen-radius-lg);box-shadow:var(--zen-shadow-md);margin-bottom:var(--zen-spacing-md);overflow:hidden;padding:var(--zen-spacing-md);position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}:root[data-theme=zen-garden] .brutal-card:before{background:radial-gradient(circle,#a8b5a01a 0,#0000 70%);content:"";height:100%;opacity:0;pointer-events:none;position:absolute;right:-50%;top:-50%;transition:opacity .4s ease;width:100%}:root[data-theme=zen-garden] .brutal-card:hover{border-color:var(--zen-terracotta);box-shadow:var(--zen-shadow-xl);transform:translateY(-8px) scale(1.02)}:root[data-theme=zen-garden] .brutal-card:hover:before{opacity:1}:root[data-theme=zen-garden] .brutal-button{background:var(--zen-white);border:2px solid var(--zen-forest);border-radius:var(--zen-radius-md);box-shadow:var(--zen-shadow-sm);color:var(--zen-forest);cursor:pointer;font-family:var(--font-accent);font-size:1rem;font-weight:600;letter-spacing:.05em;padding:var(--zen-spacing-sm) var(--zen-spacing-md);text-transform:none;transition:all .3s cubic-bezier(.4,0,.2,1)}:root[data-theme=zen-garden] .brutal-button:hover{background:var(--zen-terracotta);border-color:var(--zen-terracotta);box-shadow:var(--zen-shadow-lg);color:var(--zen-white);transform:translateY(-4px)}:root[data-theme=zen-garden] .brutal-button:active{box-shadow:var(--zen-shadow-md);transform:translateY(-2px)}:root[data-theme=zen-garden] .brutal-button-primary{background:var(--zen-gradient-secondary);border-color:var(--zen-forest);color:var(--zen-white)}:root[data-theme=zen-garden] .brutal-button-primary:hover{background:var(--zen-terracotta)}:root[data-theme=zen-garden] .brutal-stat-card{background:var(--zen-gradient-accent);border:2px solid var(--zen-terracotta);border-radius:var(--zen-radius-lg);box-shadow:var(--zen-shadow-md);color:var(--zen-forest);padding:var(--zen-spacing-lg) var(--zen-spacing-md);text-align:center;transition:all .4s ease}:root[data-theme=zen-garden] .brutal-stat-card:before{display:none}:root[data-theme=zen-garden] .brutal-stat-card:hover{box-shadow:var(--zen-shadow-lg);transform:scale(1.05)}:root[data-theme=zen-garden] .brutal-stat-value{color:var(--zen-forest);font-family:var(--font-display);font-size:4rem;font-weight:700;line-height:1}:root[data-theme=zen-garden] .brutal-stat-label{color:var(--zen-moss);font-family:var(--font-accent);font-size:.9rem;font-style:italic;letter-spacing:.1em;margin-top:var(--zen-spacing-sm);text-transform:none}:root[data-theme=zen-garden] .brutal-streak{animation:gentlePulse 3s ease-in-out infinite;background:linear-gradient(135deg,#fdfbf7,#e8dcc4);border:2px solid var(--zen-terracotta);border-radius:var(--zen-radius-md);box-shadow:var(--zen-shadow-md);color:var(--zen-forest);font-family:var(--font-accent);font-size:1.1rem;font-weight:600;padding:var(--zen-spacing-sm) var(--zen-spacing-md)}@keyframes gentlePulse{0%,to{box-shadow:var(--zen-shadow-md);transform:scale(1)}50%{box-shadow:var(--zen-shadow-lg);transform:scale(1.03)}}:root[data-theme=zen-garden] .brutal-streak-icon{animation:gentleFlicker 2s ease-in-out infinite}@keyframes gentleFlicker{0%,to{opacity:1;transform:scale(1) rotate(0deg)}50%{opacity:.8;transform:scale(1.15) rotate(15deg)}}:root[data-theme=zen-garden] .brutal-loading{align-items:center;display:flex;flex-direction:column;gap:var(--zen-spacing-md);justify-content:center;min-height:400px}:root[data-theme=zen-garden] .brutal-spinner{animation:zenSpin 1.2s cubic-bezier(.4,0,.2,1) infinite;border:4px solid var(--zen-sage);border-radius:50%;border-top-color:var(--zen-terracotta);height:80px;width:80px}@keyframes zenSpin{to{transform:rotate(1turn)}}:root[data-theme=zen-garden] .brutal-loading-text{animation:gentleFade 2s ease-in-out infinite;color:var(--zen-forest);font-family:var(--font-accent);font-size:1.2rem;font-style:italic;font-weight:600;letter-spacing:.2em;text-transform:none}@keyframes gentleFade{0%,to{opacity:1}50%{opacity:.5}}:root[data-theme=zen-garden] .brutal-heatmap-container{background:var(--zen-white);border:2px solid var(--zen-sage);border-radius:var(--zen-radius-lg);box-shadow:var(--zen-shadow-md);margin:var(--zen-spacing-md);padding:var(--zen-spacing-lg)}:root[data-theme=zen-garden] .brutal-heatmap-title{border-bottom:3px solid var(--zen-sage);color:var(--zen-forest);font-family:var(--font-display);font-size:2.5rem;font-weight:700;letter-spacing:.02em;margin-bottom:var(--zen-spacing-md);padding-bottom:var(--zen-spacing-sm);text-transform:none}:root[data-theme=zen-garden] .brutal-heatmap-cell{border:1px solid var(--zen-sage);border-radius:var(--zen-radius-sm);transition:all .3s ease}:root[data-theme=zen-garden] .brutal-heatmap-cell:hover{border-color:var(--zen-terracotta);box-shadow:var(--zen-shadow-md);transform:scale(1.15);z-index:10}:root[data-theme=zen-garden] .MuiPaper-root{background:var(--zen-white)!important;border:2px solid var(--zen-sage)!important;border-radius:var(--zen-radius-md)!important;box-shadow:var(--zen-shadow-md)!important;transition:all .3s ease!important}:root[data-theme=zen-garden] .MuiPaper-root:hover{border-color:var(--zen-terracotta)!important;box-shadow:var(--zen-shadow-lg)!important;transform:translateY(-4px)!important}:root[data-theme=zen-garden] .MuiButton-root{border:2px solid var(--zen-forest)!important;border-radius:var(--zen-radius-md)!important;box-shadow:var(--zen-shadow-sm)!important;font-family:var(--font-accent)!important;font-weight:600!important;letter-spacing:.05em!important;text-transform:none!important;transition:all .3s ease!important}:root[data-theme=zen-garden] .MuiButton-root:hover{background:var(--zen-terracotta)!important;box-shadow:var(--zen-shadow-md)!important;color:var(--zen-white)!important;transform:translateY(-2px)!important}:root[data-theme=zen-garden] .MuiButton-contained{background:var(--zen-gradient-secondary)!important;color:var(--zen-white)!important}:root[data-theme=zen-garden] .MuiButton-outlined{background:var(--zen-white)!important;color:var(--zen-forest)!important}:root[data-theme=zen-garden] .MuiTypography-h1,:root[data-theme=zen-garden] .MuiTypography-h2,:root[data-theme=zen-garden] .MuiTypography-h3,:root[data-theme=zen-garden] .MuiTypography-h4{color:var(--zen-forest)!important;font-family:var(--font-display)!important;font-weight:700!important;letter-spacing:.02em!important}:root[data-theme=zen-garden] .MuiTypography-h5,:root[data-theme=zen-garden] .MuiTypography-h6{color:var(--zen-forest)!important;font-family:var(--font-accent)!important;font-weight:600!important}:root[data-theme=zen-garden] .MuiTypography-body1,:root[data-theme=zen-garden] .MuiTypography-body2{color:var(--zen-forest)!important;font-family:var(--font-body)!important}:root[data-theme=zen-garden] div,:root[data-theme=zen-garden] p,:root[data-theme=zen-garden] span{color:var(--zen-forest)}:root[data-theme=zen-garden] label{color:var(--zen-moss)!important;font-family:var(--font-accent)!important}:root[data-theme=zen-garden] .MuiInputBase-root,:root[data-theme=zen-garden] input[type=date]{background:var(--zen-white)!important;border:2px solid var(--zen-sage)!important;border-radius:var(--zen-radius-md)!important;font-family:var(--font-body)!important;transition:all .3s ease!important}:root[data-theme=zen-garden] .MuiInputBase-root:focus,:root[data-theme=zen-garden] input[type=date]:focus{border-color:var(--zen-terracotta)!important;box-shadow:var(--zen-shadow-md)!important}:root[data-theme=zen-garden] .MuiAlert-root{border:2px solid var(--zen-sage)!important;border-radius:var(--zen-radius-md)!important;box-shadow:var(--zen-shadow-md)!important;font-family:var(--font-body)!important}:root[data-theme=zen-garden] .MuiChip-root{background:var(--zen-cream)!important;border:2px solid var(--zen-sage)!important;border-radius:var(--zen-radius-sm)!important;font-family:var(--font-accent)!important;font-weight:600!important}@media (max-width:768px){:root[data-theme=zen-garden] .brutal-title{font-size:2.5rem}:root[data-theme=zen-garden] .brutal-tabs{flex-direction:column}:root[data-theme=zen-garden] .brutal-stat-value{font-size:3rem}}@keyframes petalFall{0%{opacity:0;transform:translateY(-100vh) rotate(0deg)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(100vh) rotate(1turn)}}@keyframes waveFlow{0%,to{background-position:0 50%}50%{background-position:100% 50%}}:root[data-theme=retro-pixel]{--pixel-navy:#1a1a2e;--pixel-red:#f55;--pixel-cyan:#5ff;--pixel-yellow:#ff5;--pixel-purple:#bd93f9;--pixel-green:#50fa7b;--pixel-white:#fff;--pixel-dark:#0f0f1e;--font-display:"Press Start 2P",cursive;--font-body:"VT323",monospace;--font-mono:"Press Start 2P",cursive;--font-accent:"Pixelify Sans",cursive;--pixel-spacing-xs:8px;--pixel-spacing-sm:16px;--pixel-spacing-md:24px;--pixel-spacing-lg:32px;--pixel-spacing-xl:48px;--pixel-border:3px solid var(--pixel-navy);--pixel-border-thick:4px solid var(--pixel-navy);--pixel-shadow:4px 4px 0 var(--pixel-navy);--pixel-shadow-lg:6px 6px 0 var(--pixel-navy);--pixel-shadow-neon:0 0 10px currentColor,0 0 20px currentColor}:root[data-theme=retro-pixel] *{box-sizing:border-box;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}:root[data-theme=retro-pixel] body{-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;background:var(--pixel-navy);color:var(--pixel-white);font-family:var(--font-body);line-height:1.6}:root[data-theme=retro-pixel] .app-container{background:var(--pixel-navy);min-height:100vh;overflow:hidden;position:relative}:root[data-theme=retro-pixel] .app-container:before{animation:scanlines 8s linear infinite;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000001a 0,#0000001a 4px);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:1}@keyframes scanlines{0%{transform:translateY(0)}to{transform:translateY(4px)}}:root[data-theme=retro-pixel] .app-container:after{background-image:repeating-linear-gradient(0deg,#0000,#0000 7px,#ffffff08 0,#ffffff08 8px),repeating-linear-gradient(90deg,#0000,#0000 7px,#ffffff08 0,#ffffff08 8px);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}:root[data-theme=retro-pixel] .brutal-header{animation:pixelGlow 2s ease-in-out infinite;background:var(--pixel-dark);border-bottom:var(--pixel-border-thick);border-color:var(--pixel-cyan);box-shadow:none;color:var(--pixel-cyan);margin-bottom:var(--pixel-spacing-lg);overflow:hidden;padding:var(--pixel-spacing-xl) var(--pixel-spacing-md);position:relative}@keyframes pixelGlow{0%,to{box-shadow:0 0 20px var(--pixel-cyan)}50%{box-shadow:0 0 40px var(--pixel-cyan)}}:root[data-theme=retro-pixel] .brutal-header:before{animation:starfield 20s linear infinite;background-image:radial-gradient(2px 2px at 20% 30%,#fff,#0000),radial-gradient(2px 2px at 60% 70%,#fff,#0000),radial-gradient(1px 1px at 50% 50%,#fff,#0000),radial-gradient(1px 1px at 80% 10%,#fff,#0000),radial-gradient(2px 2px at 90% 60%,#fff,#0000),radial-gradient(1px 1px at 33% 80%,#fff,#0000);background-size:200% 200%;content:"";height:100%;left:0;opacity:.6;position:absolute;top:0;width:100%}@keyframes starfield{0%{background-position:0 0}to{background-position:100% 100%}}:root[data-theme=retro-pixel] .brutal-title{animation:pixelBounce 1s ease-in-out infinite;font-family:var(--font-display);font-size:clamp(1.5rem,4vw,3rem);font-weight:400;letter-spacing:.1em;line-height:1.5;margin-bottom:var(--pixel-spacing-md);position:relative;text-shadow:3px 3px 0 var(--pixel-red),6px 6px 0 var(--pixel-yellow);text-transform:uppercase;z-index:1}@keyframes pixelBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}:root[data-theme=retro-pixel] .brutal-title span{animation:colorCycle 3s linear infinite}@keyframes colorCycle{0%{color:var(--pixel-cyan)}33%{color:var(--pixel-red)}66%{color:var(--pixel-yellow)}to{color:var(--pixel-cyan)}}:root[data-theme=retro-pixel] .brutal-subtitle{animation:blink 1s step-end infinite;color:var(--pixel-yellow);font-family:var(--font-body);font-size:1.5rem;letter-spacing:.2em;position:relative;text-transform:uppercase;z-index:1}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}:root[data-theme=retro-pixel] .brutal-tabs{background:var(--pixel-dark);border:var(--pixel-border-thick);border-color:var(--pixel-cyan);display:flex;gap:0;margin:0 var(--pixel-spacing-md) var(--pixel-spacing-lg)}:root[data-theme=retro-pixel] .brutal-tab{background:var(--pixel-dark);border:none;border-right:var(--pixel-border);border-color:var(--pixel-cyan);color:var(--pixel-cyan);cursor:pointer;flex:1 1;font-family:var(--font-display);font-size:.75rem;font-weight:400;letter-spacing:.1em;padding:var(--pixel-spacing-md);position:relative;text-transform:uppercase;transition:all .1s step-end}:root[data-theme=retro-pixel] .brutal-tab:last-child{border-right:none}:root[data-theme=retro-pixel] .brutal-tab:hover{animation:pixelShake .3s ease-in-out;background:var(--pixel-navy);color:var(--pixel-yellow);transform:none}@keyframes pixelShake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}:root[data-theme=retro-pixel] .brutal-tab.active{background:var(--pixel-cyan);box-shadow:inset 0 0 10px #0000004d;color:var(--pixel-navy)}:root[data-theme=retro-pixel] .brutal-tab.active:before{animation:blink 1s step-end infinite;content:"▶";left:8px;position:absolute}:root[data-theme=retro-pixel] .brutal-card{background:#16162a;border:var(--pixel-border-thick);border-color:var(--pixel-cyan);box-shadow:var(--pixel-shadow-lg);color:var(--pixel-white);margin-bottom:var(--pixel-spacing-md);padding:var(--pixel-spacing-md);position:relative;transition:all .1s step-end}:root[data-theme=retro-pixel] .brutal-card:before{border:1px solid #4ecdc44d;bottom:8px;content:"";left:8px;pointer-events:none;position:absolute;right:8px;top:8px}:root[data-theme=retro-pixel] .brutal-card:hover{border-color:var(--pixel-yellow);box-shadow:8px 8px 0 var(--pixel-navy);transform:translate(-2px,-2px)}:root[data-theme=retro-pixel] .brutal-button{background:var(--pixel-dark);border:var(--pixel-border);border-color:var(--pixel-cyan);box-shadow:var(--pixel-shadow);color:var(--pixel-cyan);cursor:pointer;font-family:var(--font-display);font-size:.75rem;font-weight:400;letter-spacing:.1em;padding:var(--pixel-spacing-sm) var(--pixel-spacing-md);text-transform:uppercase;transition:all .1s step-end}:root[data-theme=retro-pixel] .brutal-button:hover{background:var(--pixel-cyan);box-shadow:6px 6px 0 var(--pixel-navy);color:var(--pixel-navy);transform:translate(-2px,-2px)}:root[data-theme=retro-pixel] .brutal-button:active{box-shadow:2px 2px 0 var(--pixel-navy);transform:translate(2px,2px)}:root[data-theme=retro-pixel] .brutal-button-primary{background:var(--pixel-red);border-color:var(--pixel-red);box-shadow:4px 4px 0 var(--pixel-navy),0 0 10px var(--pixel-red);color:var(--pixel-white)}:root[data-theme=retro-pixel] .brutal-button-primary:hover{background:var(--pixel-yellow);border-color:var(--pixel-yellow);color:var(--pixel-navy)}:root[data-theme=retro-pixel] .brutal-stat-card{animation:statPulse 2s ease-in-out infinite;background:var(--pixel-dark);border:var(--pixel-border-thick);border-color:var(--pixel-red);box-shadow:var(--pixel-shadow-lg);color:var(--pixel-yellow);padding:var(--pixel-spacing-lg) var(--pixel-spacing-md);position:relative;text-align:center}@keyframes statPulse{0%,to{box-shadow:6px 6px 0 var(--pixel-navy),0 0 10px var(--pixel-red)}50%{box-shadow:6px 6px 0 var(--pixel-navy),0 0 20px var(--pixel-red),0 0 30px var(--pixel-red)}}:root[data-theme=retro-pixel] .brutal-stat-card:before{display:none}:root[data-theme=retro-pixel] .brutal-stat-value{animation:numberGlow 1.5s ease-in-out infinite;color:var(--pixel-yellow);font-family:var(--font-display);font-size:3rem;font-weight:400;line-height:1;text-shadow:2px 2px 0 var(--pixel-red),4px 4px 0 var(--pixel-cyan)}@keyframes numberGlow{0%,to{text-shadow:2px 2px 0 var(--pixel-red),4px 4px 0 var(--pixel-cyan)}50%{text-shadow:2px 2px 0 var(--pixel-red),4px 4px 0 var(--pixel-cyan),0 0 20px var(--pixel-yellow)}}:root[data-theme=retro-pixel] .brutal-stat-label{color:var(--pixel-cyan);font-family:var(--font-body);font-size:1.2rem;letter-spacing:.2em;margin-top:var(--pixel-spacing-sm);text-transform:uppercase}:root[data-theme=retro-pixel] .brutal-streak{animation:comboFlash 1s ease-in-out infinite;background:var(--pixel-dark);border:var(--pixel-border-thick);border-color:var(--pixel-yellow);box-shadow:4px 4px 0 var(--pixel-navy),0 0 20px var(--pixel-yellow);color:var(--pixel-yellow);font-family:var(--font-display);font-size:.875rem;font-weight:400;padding:var(--pixel-spacing-sm) var(--pixel-spacing-md)}@keyframes comboFlash{0%,to{box-shadow:4px 4px 0 var(--pixel-navy),0 0 20px var(--pixel-yellow);transform:scale(1)}50%{box-shadow:4px 4px 0 var(--pixel-navy),0 0 30px var(--pixel-yellow),0 0 40px var(--pixel-yellow);transform:scale(1.05)}}:root[data-theme=retro-pixel] .brutal-streak-icon{animation:firePixel .5s step-end infinite}@keyframes firePixel{0%,50%{transform:scale(1)}51%,to{transform:scale(1.2)}}:root[data-theme=retro-pixel] .brutal-loading{align-items:center;display:flex;flex-direction:column;gap:var(--pixel-spacing-md);justify-content:center;min-height:400px}:root[data-theme=retro-pixel] .brutal-spinner{animation:pixelSpin .8s steps(8) infinite;border:4px solid var(--pixel-cyan);border-top-color:var(--pixel-red);height:80px;width:80px}@keyframes pixelSpin{to{transform:rotate(1turn)}}:root[data-theme=retro-pixel] .brutal-loading-text{animation:blink 1s step-end infinite;color:var(--pixel-cyan);font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase}:root[data-theme=retro-pixel] .MuiPaper-root{background:#16162a!important;border:var(--pixel-border)!important;border-color:var(--pixel-cyan)!important;box-shadow:var(--pixel-shadow)!important;color:var(--pixel-white)!important;transition:all .1s step-end!important}:root[data-theme=retro-pixel] .MuiPaper-root:hover{border-color:var(--pixel-yellow)!important;box-shadow:var(--pixel-shadow-lg)!important;transform:translate(-2px,-2px)!important}:root[data-theme=retro-pixel] .MuiButton-root{border:var(--pixel-border)!important;border-color:var(--pixel-cyan)!important;box-shadow:var(--pixel-shadow)!important;transition:all .1s step-end!important}:root[data-theme=retro-pixel] .MuiButton-root,:root[data-theme=retro-pixel] .MuiButton-root *{letter-spacing:.1em!important;text-transform:uppercase!important}:root[data-theme=retro-pixel] .MuiButton-label,:root[data-theme=retro-pixel] .MuiButton-root,:root[data-theme=retro-pixel] .MuiButton-root *,:root[data-theme=retro-pixel] .MuiButton-root span{font-family:var(--font-display)!important;font-size:.75rem!important;font-weight:400!important}:root[data-theme=retro-pixel] .MuiButton-root:hover{background:var(--pixel-cyan)!important;box-shadow:var(--pixel-shadow-lg)!important;color:var(--pixel-navy)!important;transform:translate(-2px,-2px)!important}:root[data-theme=retro-pixel] .MuiTypography-h1,:root[data-theme=retro-pixel] .MuiTypography-h2,:root[data-theme=retro-pixel] .MuiTypography-h3,:root[data-theme=retro-pixel] .MuiTypography-h4{color:var(--pixel-cyan)!important;font-family:var(--font-display)!important;font-weight:400!important;letter-spacing:.1em!important}:root[data-theme=retro-pixel] .MuiTypography-h5,:root[data-theme=retro-pixel] .MuiTypography-h6{color:var(--pixel-yellow)!important;font-family:var(--font-body)!important;font-weight:400!important}:root[data-theme=retro-pixel] .MuiTypography-body1,:root[data-theme=retro-pixel] .MuiTypography-body2{color:var(--pixel-white)!important;font-family:var(--font-body)!important}:root[data-theme=retro-pixel] div,:root[data-theme=retro-pixel] p,:root[data-theme=retro-pixel] span{color:var(--pixel-white)}:root[data-theme=retro-pixel] label{color:var(--pixel-cyan)!important;font-family:var(--font-body)!important}:root[data-theme=retro-pixel] .MuiInputBase-root,:root[data-theme=retro-pixel] input[type=date]{background:var(--pixel-dark)!important;border:var(--pixel-border)!important;border-color:var(--pixel-cyan)!important;color:var(--pixel-white)!important;font-family:var(--font-body)!important;font-size:1.2rem!important}:root[data-theme=retro-pixel] .MuiAlert-root{background:var(--pixel-dark)!important;border:var(--pixel-border-thick)!important;border-color:var(--pixel-red)!important;box-shadow:var(--pixel-shadow)!important;color:var(--pixel-white)!important;font-family:var(--font-body)!important}@media (max-width:768px){:root[data-theme=retro-pixel] .brutal-title{font-size:1.5rem}:root[data-theme=retro-pixel] .brutal-stat-value{font-size:2rem}:root[data-theme=retro-pixel] .brutal-tabs{flex-direction:column}:root[data-theme=retro-pixel] .brutal-tab{border-bottom:var(--pixel-border);border-right:none}:root[data-theme=retro-pixel] .brutal-tab:last-child{border-bottom:none}}@keyframes levelUp{0%{opacity:0;transform:scale(.5) translateY(0)}50%{opacity:1;transform:scale(1.2) translateY(-20px)}to{opacity:0;transform:scale(1) translateY(-40px)}}@keyframes coinCollect{0%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:0;transform:translateY(-100px) rotate(1turn)}}:root[data-theme=neumorphic]{--neuro-bg:#e0e5ec;--neuro-surface:#e0e5ec;--neuro-primary:#6c63ff;--neuro-secondary:#a3b1c6;--neuro-dark:#4a5568;--neuro-light:#f7fafc;--neuro-shadow-dark:#a3b1c6;--neuro-shadow-light:#fff;--neuro-accent:#ff6584;--font-display:"Outfit",sans-serif;--font-body:"DM Sans",sans-serif;--font-mono:"Inter",sans-serif;--neuro-spacing-xs:8px;--neuro-spacing-sm:16px;--neuro-spacing-md:24px;--neuro-spacing-lg:48px;--neuro-spacing-xl:72px;--neuro-radius-sm:12px;--neuro-radius-md:20px;--neuro-radius-lg:30px;--neuro-radius-xl:40px;--neuro-radius-full:9999px;--neuro-shadow-raised:8px 8px 16px var(--neuro-shadow-dark),-8px -8px 16px var(--neuro-shadow-light);--neuro-shadow-pressed:inset 4px 4px 8px var(--neuro-shadow-dark),inset -4px -4px 8px var(--neuro-shadow-light);--neuro-shadow-flat:4px 4px 8px var(--neuro-shadow-dark),-4px -4px 8px var(--neuro-shadow-light);--neuro-shadow-hover:12px 12px 24px var(--neuro-shadow-dark),-12px -12px 24px var(--neuro-shadow-light)}:root[data-theme=neumorphic] *{box-sizing:border-box}:root[data-theme=neumorphic] body{-webkit-font-smoothing:antialiased;background:var(--neuro-bg);color:var(--neuro-dark);font-family:var(--font-body);font-weight:400;line-height:1.7}:root[data-theme=neumorphic] .app-container{background:var(--neuro-bg);min-height:100vh;overflow:hidden;position:relative}:root[data-theme=neumorphic] .app-container:before{background:radial-gradient(circle at 30% 20%,#6c63ff0d 0,#0000 50%),radial-gradient(circle at 70% 80%,#ff65840d 0,#0000 50%);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}:root[data-theme=neumorphic] .brutal-header{background:var(--neuro-bg);border-bottom:none;border-radius:0 0 var(--neuro-radius-lg) var(--neuro-radius-lg);box-shadow:var(--neuro-shadow-flat);color:var(--neuro-dark);margin-bottom:var(--neuro-spacing-lg);overflow:hidden;padding:var(--neuro-spacing-xl) var(--neuro-spacing-md);position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}:root[data-theme=neumorphic] .brutal-title{-webkit-text-fill-color:#0000;animation:none;background:linear-gradient(135deg,var(--neuro-primary) 0,var(--neuro-accent) 100%);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:var(--neuro-spacing-sm);position:relative;text-transform:none;z-index:1}:root[data-theme=neumorphic] .brutal-title span{animation:none}:root[data-theme=neumorphic] .brutal-subtitle{color:var(--neuro-secondary);font-family:var(--font-body);font-size:1rem;font-weight:500;letter-spacing:.05em;position:relative;text-transform:none;z-index:1}:root[data-theme=neumorphic] .brutal-tabs{background:var(--neuro-bg);border:none;border-radius:var(--neuro-radius-lg);box-shadow:var(--neuro-shadow-pressed);display:flex;gap:var(--neuro-spacing-sm);margin:0 var(--neuro-spacing-md) var(--neuro-spacing-lg);padding:var(--neuro-spacing-xs)}:root[data-theme=neumorphic] .brutal-tab{background:#0000;border:none;border-radius:var(--neuro-radius-md);color:var(--neuro-secondary);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.02em;padding:var(--neuro-spacing-md);text-transform:none;transition:all .3s cubic-bezier(.4,0,.2,1)}:root[data-theme=neumorphic] .brutal-tab:hover{background:#0000;color:var(--neuro-dark);transform:none}:root[data-theme=neumorphic] .brutal-tab.active{background:var(--neuro-bg);box-shadow:var(--neuro-shadow-raised);color:var(--neuro-primary);font-weight:700}:root[data-theme=neumorphic] .brutal-tab.active:before{content:none}:root[data-theme=neumorphic] .brutal-card{background:var(--neuro-bg);border:none;border-radius:var(--neuro-radius-lg);box-shadow:var(--neuro-shadow-raised);margin-bottom:var(--neuro-spacing-md);overflow:hidden;padding:var(--neuro-spacing-lg);position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}:root[data-theme=neumorphic] .brutal-card:before{display:none}:root[data-theme=neumorphic] .brutal-card:hover{box-shadow:16px 16px 32px var(--neuro-shadow-dark),-16px -16px 32px var(--neuro-shadow-light);transform:translateY(-8px)}:root[data-theme=neumorphic] .brutal-card:active{box-shadow:var(--neuro-shadow-pressed);transform:translateY(-2px)}:root[data-theme=neumorphic] .brutal-button{background:var(--neuro-bg);border:none;border-radius:var(--neuro-radius-md);box-shadow:var(--neuro-shadow-raised);color:var(--neuro-dark);cursor:pointer;font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.02em;padding:var(--neuro-spacing-sm) var(--neuro-spacing-md);text-transform:none;transition:all .3s cubic-bezier(.4,0,.2,1)}:root[data-theme=neumorphic] .brutal-button:hover{box-shadow:var(--neuro-shadow-hover);color:var(--neuro-primary);transform:translateY(-4px)}:root[data-theme=neumorphic] .brutal-button:active{box-shadow:var(--neuro-shadow-pressed);transform:translateY(0)}:root[data-theme=neumorphic] .brutal-button-primary{background:linear-gradient(135deg,var(--neuro-primary) 0,var(--neuro-accent) 100%);box-shadow:8px 8px 16px #6c63ff4d,-8px -8px 16px #ffffff80;color:#fff}:root[data-theme=neumorphic] .brutal-button-primary:hover{box-shadow:12px 12px 24px #6c63ff66,-12px -12px 24px #fff9;color:#fff}:root[data-theme=neumorphic] .brutal-stat-card{background:var(--neuro-bg);border:none;border-radius:var(--neuro-radius-xl);box-shadow:var(--neuro-shadow-raised);color:var(--neuro-dark);padding:var(--neuro-spacing-xl) var(--neuro-spacing-md);position:relative;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1)}:root[data-theme=neumorphic] .brutal-stat-card:before{display:none}:root[data-theme=neumorphic] .brutal-stat-card:hover{box-shadow:var(--neuro-shadow-hover);transform:scale(1.05) translateY(-8px)}:root[data-theme=neumorphic] .brutal-stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--neuro-primary) 0,var(--neuro-accent) 100%);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:4rem;font-weight:700;line-height:1}:root[data-theme=neumorphic] .brutal-stat-label{color:var(--neuro-secondary);font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.15em;margin-top:var(--neuro-spacing-sm);text-transform:uppercase}:root[data-theme=neumorphic] .brutal-streak{animation:softPulse 3s ease-in-out infinite;background:var(--neuro-bg);border:none;border-radius:var(--neuro-radius-full);box-shadow:var(--neuro-shadow-raised);color:var(--neuro-primary);font-family:var(--font-body);font-size:1rem;font-weight:700;overflow:hidden;padding:var(--neuro-spacing-sm) var(--neuro-spacing-md);position:relative}@keyframes softPulse{0%,to{box-shadow:var(--neuro-shadow-raised);transform:scale(1)}50%{box-shadow:var(--neuro-shadow-hover);transform:scale(1.05)}}:root[data-theme=neumorphic] .brutal-streak:before{animation:shimmerSoft 3s linear infinite;background:linear-gradient(135deg,#0000,#6c63ff1a 50%,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes shimmerSoft{0%{transform:translateX(-50%) translateY(-50%)}to{transform:translateX(50%) translateY(50%)}}:root[data-theme=neumorphic] .brutal-streak-icon{animation:softFlicker 2s ease-in-out infinite}@keyframes softFlicker{0%,to{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.2);transform:scale(1.1)}}:root[data-theme=neumorphic] .brutal-loading{align-items:center;display:flex;flex-direction:column;gap:var(--neuro-spacing-md);justify-content:center;min-height:400px}:root[data-theme=neumorphic] .brutal-spinner{animation:softRotate 1.5s cubic-bezier(.4,0,.2,1) infinite;background:var(--neuro-bg);border:none;border-radius:50%;box-shadow:var(--neuro-shadow-pressed);height:80px;position:relative;width:80px}:root[data-theme=neumorphic] .brutal-spinner:before{background:linear-gradient(135deg,var(--neuro-primary) 0,var(--neuro-accent) 100%);border-radius:50%;bottom:8px;content:"";left:8px;opacity:.5;position:absolute;right:8px;top:8px}@keyframes softRotate{to{transform:rotate(1turn)}}:root[data-theme=neumorphic] .brutal-loading-text{animation:softFade 2s ease-in-out infinite;color:var(--neuro-secondary);font-family:var(--font-body);font-size:1.1rem;font-weight:600;letter-spacing:.1em;text-transform:none}@keyframes softFade{0%,to{opacity:1}50%{opacity:.5}}:root[data-theme=neumorphic] .brutal-heatmap-container{background:var(--neuro-bg);border:none;border-radius:var(--neuro-radius-lg);box-shadow:var(--neuro-shadow-raised);margin:var(--neuro-spacing-md);padding:var(--neuro-spacing-lg)}:root[data-theme=neumorphic] .brutal-heatmap-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--neuro-primary) 0,var(--neuro-accent) 100%);-webkit-background-clip:text;background-clip:text;border-bottom:none;font-family:var(--font-display);font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--neuro-spacing-md);padding-bottom:var(--neuro-spacing-sm);text-transform:none}:root[data-theme=neumorphic] .brutal-heatmap-cell{border:none;border-radius:var(--neuro-radius-sm);box-shadow:var(--neuro-shadow-pressed);transition:all .3s cubic-bezier(.4,0,.2,1)}:root[data-theme=neumorphic] .brutal-heatmap-cell:hover{box-shadow:var(--neuro-shadow-raised);transform:scale(1.2);z-index:10}:root[data-theme=neumorphic] .MuiPaper-root{background:var(--neuro-bg)!important;border:none!important;border-radius:var(--neuro-radius-lg)!important;box-shadow:var(--neuro-shadow-raised)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}:root[data-theme=neumorphic] .MuiPaper-root:hover{box-shadow:var(--neuro-shadow-hover)!important;transform:translateY(-6px)!important}:root[data-theme=neumorphic] .MuiButton-root{border:none!important;border-radius:var(--neuro-radius-md)!important;box-shadow:var(--neuro-shadow-raised)!important;font-family:var(--font-body)!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:none!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}:root[data-theme=neumorphic] .MuiButton-root:hover{box-shadow:var(--neuro-shadow-hover)!important;transform:translateY(-4px)!important}:root[data-theme=neumorphic] .MuiButton-root:active{box-shadow:var(--neuro-shadow-pressed)!important;transform:translateY(0)!important}:root[data-theme=neumorphic] .MuiButton-contained{background:linear-gradient(135deg,var(--neuro-primary) 0,var(--neuro-accent) 100%)!important;color:#fff!important}:root[data-theme=neumorphic] .MuiButton-outlined{background:var(--neuro-bg)!important;color:var(--neuro-dark)!important}:root[data-theme=neumorphic] .MuiTypography-h1,:root[data-theme=neumorphic] .MuiTypography-h2,:root[data-theme=neumorphic] .MuiTypography-h3,:root[data-theme=neumorphic] .MuiTypography-h4{color:var(--neuro-dark)!important;font-family:var(--font-display)!important;font-weight:700!important;letter-spacing:-.02em!important}:root[data-theme=neumorphic] .MuiTypography-h5,:root[data-theme=neumorphic] .MuiTypography-h6{color:var(--neuro-dark)!important;font-family:var(--font-body)!important;font-weight:600!important}:root[data-theme=neumorphic] .MuiTypography-body1,:root[data-theme=neumorphic] .MuiTypography-body2{color:var(--neuro-dark)!important;font-family:var(--font-body)!important}:root[data-theme=neumorphic] div,:root[data-theme=neumorphic] p,:root[data-theme=neumorphic] span{color:var(--neuro-dark)}:root[data-theme=neumorphic] label{color:var(--neuro-secondary)!important;font-family:var(--font-body)!important;font-weight:600!important}:root[data-theme=neumorphic] .MuiInputBase-root,:root[data-theme=neumorphic] input[type=date]{background:var(--neuro-bg)!important;border:none!important;border-radius:var(--neuro-radius-md)!important;box-shadow:var(--neuro-shadow-pressed)!important;font-family:var(--font-body)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}:root[data-theme=neumorphic] .MuiInputBase-root:focus,:root[data-theme=neumorphic] input[type=date]:focus{box-shadow:inset 6px 6px 12px var(--neuro-shadow-dark),inset -6px -6px 12px var(--neuro-shadow-light)!important}:root[data-theme=neumorphic] .MuiAlert-root{border:none!important;border-radius:var(--neuro-radius-md)!important;box-shadow:var(--neuro-shadow-raised)!important;font-family:var(--font-body)!important}:root[data-theme=neumorphic] .MuiChip-root{background:var(--neuro-bg)!important;border:none!important;border-radius:var(--neuro-radius-full)!important;box-shadow:var(--neuro-shadow-flat)!important;font-family:var(--font-body)!important;font-weight:600!important}@media (max-width:768px){:root[data-theme=neumorphic] .brutal-title{font-size:2.5rem}:root[data-theme=neumorphic] .brutal-stat-value{font-size:3rem}:root[data-theme=neumorphic] .brutal-tabs{flex-direction:column}}:root[data-theme=neumorphic] .brutal-button:focus,:root[data-theme=neumorphic] .brutal-tab:focus{box-shadow:var(--neuro-shadow-raised),0 0 0 3px #6c63ff33;outline:none}:root[data-theme=neumorphic] .MuiPaper-root,:root[data-theme=neumorphic] .brutal-card,:root[data-theme=neumorphic] button{will-change:transform,box-shadow}:root *{transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.theme-transitioning{pointer-events:none;-webkit-user-select:none;user-select:none}.theme-transitioning:before{animation:themeFlash .5s ease;background:radial-gradient(circle,#fffc 0,#0000 70%);content:"";height:100%;left:0;opacity:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:9999}@keyframes themeFlash{0%{opacity:0}50%{opacity:.5}to{opacity:0}}[data-theme]{animation:themeMorph .5s cubic-bezier(.4,0,.2,1)}@keyframes themeMorph{0%{opacity:1;transform:scale(1)}50%{opacity:.95;transform:scale(.98)}to{opacity:1;transform:scale(1)}}[data-theme=brutalist] .theme-transitioning{animation:sharpToSoft .5s cubic-bezier(.4,0,.2,1)}@keyframes sharpToSoft{0%{filter:contrast(1.2) saturate(1)}50%{filter:contrast(1) saturate(1.1)}to{filter:contrast(.95) saturate(1.2)}}[data-theme=zen-garden] .theme-transitioning{animation:softToSharp .5s cubic-bezier(.4,0,.2,1)}@keyframes softToSharp{0%{filter:contrast(.95) saturate(1.2)}50%{filter:contrast(1.05) saturate(1.1)}to{filter:contrast(1.2) saturate(1)}}.MuiButton-root,.brutal-button,button{transition:all .3s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1)!important}.MuiPaper-root,.brutal-card{transition:all .3s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)!important}.MuiTypography-root,h1,h2,h3,h4,h5,h6{transition:font-family 0s .2s,color .4s cubic-bezier(.4,0,.2,1),letter-spacing .4s cubic-bezier(.4,0,.2,1)}[data-theme] .MuiPaper-root,[data-theme] .brutal-card{animation:shadowMorph .4s cubic-bezier(.4,0,.2,1)}@keyframes shadowMorph{0%,to{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow,0 4px 12px #0000001a)}50%{box-shadow:0 0 0 #0000}}[data-theme] *{transition:border-radius .4s cubic-bezier(.4,0,.2,1)}@keyframes colorWave{0%,to{filter:hue-rotate(0deg)}50%{filter:hue-rotate(10deg)}}.theme-transitioning{animation:colorWave .5s ease}.theme-loading{left:50%;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:10000}.theme-loading:after{animation:spin .6s linear infinite;border:4px solid #0000001a;border-radius:50%;border-top-color:initial;content:"";height:60px;width:60px}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.theme-transitioning,:root *,[data-theme]{animation-duration:.01ms!important;transition-duration:.01ms!important}}.brutal-header{transition:background .5s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)}.brutal-tab{transition:all .3s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1)}.brutal-stat-card{transition:all .4s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.theme-transitioning .brutal-streak{animation:transitionPulse .5s ease}@keyframes transitionPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.MuiInputBase-root,input{transition:border-color .3s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1),background-color .4s cubic-bezier(.4,0,.2,1)}.brutal-heatmap-cell,.react-grid-heatmap-cell{transition:all .3s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1)}.app-container,.app-container:before{transition:background .6s cubic-bezier(.4,0,.2,1)}
/*# sourceMappingURL=main.fad0374c.css.map*/