@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap");:root{--bg-base:#04060d;--bg-surface:#090d1a;--bg-elevated:#10162c;--bg-card:#0d1224;--bg-card-hover:#131b34;--border:hsla(0,0%,100%,.08);--border-hover:hsla(0,0%,100%,.18);--border-focus:rgba(139,92,246,.5);--primary:#8b5cf6;--primary-light:#a78bfa;--primary-dark:#7c3aed;--primary-glow:rgba(139,92,246,.25);--primary-subtle:rgba(139,92,246,.12);--accent:#06b6d4;--accent-light:#22d3ee;--accent-glow:rgba(6,182,212,.25);--success:#22c55e;--success-glow:rgba(34,197,94,.45);--success-subtle:rgba(34,197,94,.12);--warning:#f59e0b;--warning-subtle:rgba(245,158,11,.12);--danger:#ef4444;--danger-subtle:rgba(239,68,68,.12);--domain-business:#3b82f6;--domain-fitness:#22c55e;--domain-study:#a855f7;--domain-journal:#8b5cf6;--domain-knowledge:#ec4899;--text-primary:#f8f9fc;--text-secondary:rgba(248,249,252,.72);--text-muted:rgba(248,249,252,.42);--text-inverse:#04060d;--font-sans:"Plus Jakarta Sans","Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-display:"Outfit","Plus Jakarta Sans","Inter",sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.3);--shadow-lg:0 12px 40px rgba(0,0,0,.6),0 4px 16px rgba(0,0,0,.4);--shadow-xl:0 24px 64px rgba(0,0,0,.7);--shadow-glow:0 0 40px var(--primary-glow);--shadow-card:0 2px 12px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.04);--card-bg-gradient:linear-gradient(180deg,rgba(13,18,36,.95),rgba(9,13,26,.95));--card-bg-gradient-135:linear-gradient(135deg,rgba(14,20,40,.95),rgba(9,13,26,.95));--card-bg-streak:linear-gradient(135deg,rgba(20,16,36,.95),rgba(13,18,36,.95));--card-bg-quote:linear-gradient(135deg,rgba(139,92,246,.12),rgba(6,182,212,.08));--hex-outer-bg:linear-gradient(135deg,hsla(0,0%,100%,.14),hsla(0,0%,100%,.02));--hex-inner-bg:linear-gradient(135deg,hsla(0,0%,100%,.12),hsla(0,0%,100%,.02));--cal-day-bg:hsla(0,0%,100%,.04);--cal-day-border:hsla(0,0%,100%,.05);--track-bg:hsla(0,0%,100%,.05);--achieve-item-bg:hsla(0,0%,100%,.02);--achieve-item-border:hsla(0,0%,100%,.05);--achieve-item-hover:hsla(0,0%,100%,.05);--week-tag-bg:hsla(0,0%,100%,.05);--week-tag-border:hsla(0,0%,100%,.1);--level-num-color:#fff;--level-num-shadow:0 0 24px rgba(167,139,250,.6);--transition-fast:120ms cubic-bezier(0.4,0,0.2,1);--transition-normal:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--transition-spring:400ms cubic-bezier(0.34,1.56,0.64,1);--sidebar-width:240px;--sidebar-collapsed:64px;--header-height:60px}[data-theme=light]{--bg-base:#f1f5f9;--bg-surface:#fff;--bg-elevated:#e2e8f0;--bg-card:#fff;--bg-card-hover:#f8fafc;--border:rgba(15,23,42,.08);--border-hover:rgba(15,23,42,.18);--border-focus:rgba(139,92,246,.4);--text-primary:#0f172a;--text-secondary:rgba(15,23,42,.75);--text-muted:rgba(15,23,42,.48);--text-inverse:#fff;--shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);--shadow-md:0 4px 12px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.04);--shadow-lg:0 12px 32px rgba(15,23,42,.1),0 4px 12px rgba(15,23,42,.05);--shadow-xl:0 24px 48px rgba(15,23,42,.12);--shadow-card:0 2px 10px rgba(15,23,42,.05),inset 0 1px 0 hsla(0,0%,100%,.8);--card-bg-gradient:linear-gradient(180deg,#fff,#f8fafc);--card-bg-gradient-135:linear-gradient(135deg,#fff,#f1f5f9);--card-bg-streak:linear-gradient(135deg,#fff,#fffbeb);--card-bg-quote:linear-gradient(135deg,rgba(139,92,246,.08),rgba(6,182,212,.05));--hex-outer-bg:linear-gradient(135deg,rgba(15,23,42,.08),rgba(15,23,42,.02));--hex-inner-bg:linear-gradient(135deg,rgba(15,23,42,.06),rgba(15,23,42,.01));--cal-day-bg:rgba(15,23,42,.03);--cal-day-border:rgba(15,23,42,.08);--track-bg:rgba(15,23,42,.08);--achieve-item-bg:rgba(15,23,42,.02);--achieve-item-border:rgba(15,23,42,.08);--achieve-item-hover:rgba(15,23,42,.06);--week-tag-bg:rgba(15,23,42,.05);--week-tag-border:rgba(15,23,42,.12);--level-num-color:var(--text-primary);--level-num-shadow:none}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);line-height:1.5;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary)}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.375rem,3vw,1.875rem)}h3{font-size:clamp(1.125rem,2.5vw,1.375rem)}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{line-height:1.7;color:var(--text-secondary)}a{color:var(--primary-light);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary)}::selection{background:var(--primary);color:#fff}.glass{background:rgba(22,22,42,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.glass,.glass-strong{border:1px solid var(--border)}.glass-strong{background:rgba(14,14,28,.85);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.gradient-text{background:linear-gradient(135deg,var(--primary-light) 0,var(--accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.875rem;font-weight:500;cursor:pointer;border:none;outline:none;transition:all var(--transition-normal);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 20px var(--primary-glow)}.btn-primary:hover{background:var(--primary-light);box-shadow:0 6px 28px var(--primary-glow);transform:translateY(-1px);color:#fff}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-hover);color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:1rem;border-radius:var(--radius-lg)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.8125rem;border-radius:var(--radius-sm)}.btn-icon{padding:var(--space-2);width:36px;height:36px;justify-content:center}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:.9375rem;transition:all var(--transition-normal);outline:none}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--border-focus);background:var(--bg-card);box-shadow:0 0 0 3px var(--primary-subtle)}.label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-2);letter-spacing:.01em}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.badge-primary{background:var(--primary-subtle);color:var(--primary-light)}.badge-success{background:var(--success-subtle);color:var(--success)}.badge-warning{background:var(--warning-subtle);color:var(--warning)}.badge-danger{background:var(--danger-subtle);color:var(--danger)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:var(--bg-elevated);border-radius:var(--radius-sm);animation:skeleton-pulse 1.8s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes progressFill{0%{width:0}to{width:var(--progress-width)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(1.8);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-fade-in-up{animation:fadeInUp .5s ease forwards}.animate-scale-in{animation:scaleIn .3s ease forwards}.animate-slide-in-right{animation:slideInRight .3s ease forwards}.progress-bar{width:100%;height:6px;background:var(--bg-elevated);overflow:hidden}.progress-bar,.progress-fill{border-radius:var(--radius-full)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px var(--primary-glow)}.divider{width:100%;height:1px;background:var(--border);margin:var(--space-4) 0}@media (max-width:768px){:root{--sidebar-width:280px}}