@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--bg-primary: #fafbfd;--bg-secondary: #ffffff;--bg-tertiary: #f2f4f8;--bg-elevated: #ffffff;--bg-overlay: rgba(15, 20, 35, .35);--text-primary: #1a1f2e;--text-secondary: #5a6378;--text-tertiary: #8b93a7;--text-inverse: #ffffff;--border-primary: #e4e8f0;--border-secondary: #edf0f6;--border-focus: #6b7fcc;--accent-primary: #4a5dbd;--accent-primary-hover: #3d4fa8;--accent-primary-soft: #eef1fb;--accent-primary-glow: rgba(74, 93, 189, .15);--accent-success: #3d8b6a;--accent-success-soft: #e8f5ee;--accent-success-glow: rgba(61, 139, 106, .12);--accent-warning: #c78b30;--accent-warning-soft: #fef8eb;--accent-danger: #c45555;--accent-danger-soft: #fdf0f0;--tone-blue: #e6ecf9;--tone-blue-ink: #3e5080;--tone-blue-dot: #6580bf;--tone-lilac: #ede8f5;--tone-lilac-ink: #584a72;--tone-lilac-dot: #8a70b0;--tone-mint: #e4f0ea;--tone-mint-ink: #3a6450;--tone-mint-dot: #5e9476;--tone-peach: #f8ece5;--tone-peach-ink: #7a5640;--tone-peach-dot: #c08060;--tone-butter: #f5f0e2;--tone-butter-ink: #6e5f3e;--tone-butter-dot: #b09050;--stage-spark: #f0a040;--stage-foundation: #5890e0;--stage-integration: #6b50c0;--stage-mastery: #3da070;--shadow-sm: 0 1px 3px rgba(15, 20, 40, .04);--shadow-md: 0 4px 16px rgba(15, 20, 40, .06);--shadow-lg: 0 12px 40px rgba(15, 20, 40, .08);--shadow-xl: 0 24px 64px rgba(15, 20, 40, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Playfair Display", Georgia, serif;--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-spring: cubic-bezier(.34, 1.2, .64, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .35s;--sidebar-width: 240px}[data-theme=dark]{--bg-primary: #0f1118;--bg-secondary: #181b24;--bg-tertiary: #1e2230;--bg-elevated: #222638;--bg-overlay: rgba(0, 0, 0, .55);--text-primary: #e8ebf2;--text-secondary: #9da5b8;--text-tertiary: #6b7490;--text-inverse: #0f1118;--border-primary: #2a2f42;--border-secondary: #252938;--border-focus: #7b8fd6;--accent-primary: #7b8fd6;--accent-primary-hover: #8da0e2;--accent-primary-soft: rgba(123, 143, 214, .12);--accent-primary-glow: rgba(123, 143, 214, .2);--accent-success: #5aad80;--accent-success-soft: rgba(90, 173, 128, .12);--accent-warning: #d9a348;--accent-warning-soft: rgba(217, 163, 72, .12);--accent-danger: #d47070;--accent-danger-soft: rgba(212, 112, 112, .12);--tone-blue: #1e2540;--tone-blue-ink: #a8b8e0;--tone-blue-dot: #7090d0;--tone-lilac: #252040;--tone-lilac-ink: #c0a8e0;--tone-lilac-dot: #9070c0;--tone-mint: #1a2a22;--tone-mint-ink: #90c0a0;--tone-mint-dot: #60a078;--tone-peach: #2a1e18;--tone-peach-ink: #d0a888;--tone-peach-dot: #c08060;--tone-butter: #282418;--tone-butter-ink: #c0b080;--tone-butter-dot: #b09050;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .3);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:14px;line-height:1.55;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;min-height:100vh;min-width:320px;overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:transparent}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--accent-primary-soft);color:var(--accent-primary)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}input,textarea{outline:none}.app-shell{display:flex;min-height:100vh;width:100%;background:var(--bg-primary)}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-secondary);padding:var(--space-lg) var(--space-md) var(--space-md);display:flex;flex-direction:column;z-index:10;overflow-y:auto;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.brand{display:flex;align-items:center;gap:10px;padding:0 var(--space-sm);font-weight:700;font-size:15px;letter-spacing:-.4px;color:var(--text-primary)}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--accent-primary);color:#fff;font-size:18px;font-weight:800;font-family:var(--font-serif);line-height:1}.side-date{margin:var(--space-xl) var(--space-sm) var(--space-lg);color:var(--text-tertiary);font-size:11px;letter-spacing:.2px}.side-label{padding:0 10px;margin-bottom:var(--space-sm);color:var(--text-tertiary);font-size:9px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase}.primary-nav{display:grid;gap:2px;margin-bottom:var(--space-md)}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-weight:500;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);position:relative}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:var(--accent-primary-soft);color:var(--accent-primary);font-weight:600}.nav-icon{width:18px;text-align:center;font-size:16px;line-height:1;opacity:.7}.nav-item.active .nav-icon{opacity:1}.nav-badge{margin-left:auto;background:var(--accent-primary);color:#fff;font-size:9px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);display:grid;place-items:center}.sidebar-quote{margin:auto 4px var(--space-md);padding:var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-md);position:relative;overflow:hidden}.sidebar-quote:after{content:"";position:absolute;width:80px;height:80px;border:1px solid var(--accent-primary-glow);border-radius:50%;right:-30px;bottom:-30px}.sidebar-quote-mark{font-family:var(--font-serif);font-size:28px;line-height:.8;color:var(--accent-primary);opacity:.5}.sidebar-quote p{font-family:var(--font-serif);font-style:italic;font-size:13px;line-height:1.5;color:var(--text-secondary);margin:var(--space-sm) 0 var(--space-md)}.sidebar-quote-foot{font-size:8px;letter-spacing:1.2px;color:var(--text-tertiary);font-weight:700}.sidebar-profile{border-top:1px solid var(--border-secondary);padding:var(--space-md) 2px 0;display:flex;align-items:center;gap:10px;min-width:0}.avatar{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--accent-primary-soft);color:var(--accent-primary);font-weight:700;font-size:12px}.profile-copy{display:grid;gap:2px;min-width:0;flex:1}.profile-copy strong{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-copy small{color:var(--text-tertiary);font-size:10px}.profile-actions{display:flex;gap:2px}.icon-btn{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:15px;transition:background var(--duration-fast),color var(--duration-fast)}.icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.main-content{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));max-width:calc(100% - var(--sidebar-width));min-height:100vh;display:flex;flex-direction:column;flex:1;background:var(--bg-primary);min-width:0}.topbar{height:56px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-2xl);border-bottom:1px solid var(--border-secondary);background:var(--bg-secondary);position:sticky;top:0;z-index:50;width:100%}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.breadcrumb{font-size:13px;color:var(--text-tertiary);white-space:nowrap}.breadcrumb span{margin:0 8px;color:var(--border-primary)}.breadcrumb strong{font-weight:600;color:var(--text-primary)}.topbar-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.save-indicator{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-tertiary);white-space:nowrap}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-success);box-shadow:0 0 0 3px var(--accent-success-soft)}.theme-toggle{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:16px;transition:background var(--duration-fast)}.theme-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.topbar-logout{font-size:11px;color:var(--text-tertiary);padding:6px 12px;border-radius:var(--radius-sm);transition:background var(--duration-fast),color var(--duration-fast);white-space:nowrap}.topbar-logout:hover{background:var(--bg-tertiary);color:var(--text-primary)}.page-container{max-width:1360px;margin:0 auto;padding:var(--space-xl) var(--space-2xl);width:100%;flex:1;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-xl);gap:var(--space-md)}.page-header-text .eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase}.page-header h1{font-size:36px;font-weight:700;letter-spacing:-1.4px;line-height:1.1;margin:8px 0 6px}.heading-dot{color:var(--accent-primary)}.page-header p{color:var(--text-secondary);font-size:13px}.page-header-stat{text-align:right;display:grid;gap:2px}.page-header-stat strong{font-size:24px;font-weight:600;color:var(--accent-primary);letter-spacing:-.8px}.page-header-stat small{font-size:8px;letter-spacing:1.2px;font-weight:700;color:var(--text-tertiary)}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--accent-primary);color:#fff;font-size:12px;font-weight:600;border-radius:var(--radius-sm);transition:background var(--duration-fast),transform var(--duration-fast)}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary .btn-icon{font-size:15px;line-height:1}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:11px;font-weight:600;border-radius:var(--radius-sm);transition:background var(--duration-fast),color var(--duration-fast)}.btn-secondary:hover{background:var(--border-primary);color:var(--text-primary)}.btn-text{color:var(--accent-primary);font-size:12px;font-weight:600;transition:opacity var(--duration-fast);display:inline-flex;align-items:center;gap:4px}.btn-text:hover{opacity:.8}.card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);overflow:hidden}.card-padded{padding:var(--space-lg)}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--text-tertiary)}.empty-state-icon{width:48px;height:48px;margin:0 auto var(--space-md);display:grid;place-items:center;border-radius:var(--radius-md);background:var(--accent-primary-soft);color:var(--accent-primary);font-size:24px}.empty-state h3{font-size:15px;color:var(--text-primary);font-weight:600;margin-bottom:6px}.empty-state p{font-size:12px;line-height:1.6;max-width:300px;margin:0 auto}.toast{position:fixed;bottom:20px;right:20px;z-index:50;display:flex;align-items:center;gap:var(--space-md);padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:12px;color:var(--text-secondary);animation:toast-in .3s var(--ease-spring);max-width:min(420px,calc(100vw - 32px))}.toast button{color:var(--text-tertiary);font-size:18px;padding:0 2px}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--text-tertiary);font-size:13px}.boot .brand-mark{animation:pulse 1.2s ease infinite alternate}@keyframes pulse{0%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(.92)}}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--bg-primary)}.auth-art{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(145deg,var(--accent-primary-soft) 0%,var(--bg-tertiary) 50%,var(--tone-lilac) 100%);padding:36px clamp(32px,6vw,80px);display:flex;flex-direction:column}.art-top{display:flex;align-items:center;gap:10px;color:var(--text-tertiary);font-size:9px;letter-spacing:1.5px;font-weight:700}.art-composition{position:relative;flex:1;min-height:300px;display:grid;place-items:center}.art-orbit{position:absolute;width:min(32vw,360px);aspect-ratio:1;border:1px solid var(--accent-primary-glow);border-radius:50%;box-shadow:0 0 0 40px #ffffff14,0 0 0 80px #ffffff0a;animation:orbit-spin 30s linear infinite}@keyframes orbit-spin{to{transform:rotate(360deg)}}.art-card{position:absolute;border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.art-card-blue{width:min(240px,60%);height:175px;left:12%;top:18%;background:var(--tone-blue);transform:rotate(-6deg)}.art-card-yellow{width:min(230px,55%);height:145px;right:8%;bottom:22%;background:var(--tone-butter);transform:rotate(5deg)}.art-card .art-eyebrow{font-size:8px;letter-spacing:1.2px;font-weight:700;color:var(--text-tertiary)}.art-card-blue h3{font-family:var(--font-serif);font-size:24px;line-height:1.2;color:var(--tone-blue-ink);margin-top:auto;letter-spacing:-.4px}.art-card-yellow .art-task{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;margin-top:8px}.art-task-check{width:14px;height:14px;border:1.5px solid var(--accent-success);border-radius:4px;display:grid;place-items:center;color:var(--accent-success);font-size:9px}.art-task-check.done{background:var(--accent-success-soft)}.art-accent{position:absolute;top:16%;right:12%;color:var(--accent-primary);font-size:22px;opacity:.5;animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.art-caption{margin:0 0 40px 8%}.art-caption h2{font-family:var(--font-serif);font-size:32px;line-height:1.18;letter-spacing:-.6px;color:var(--text-primary);margin-bottom:10px}.art-caption p{font-size:12px;color:var(--text-secondary)}.art-foot{font-size:8px;letter-spacing:1.4px;color:var(--text-tertiary);margin-left:8%}.auth-panel{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:50px 40px;position:relative;background:var(--bg-secondary)}.auth-mobile-brand{display:none}.auth-card{width:min(380px,100%)}.auth-card .eyebrow{font-size:8px;letter-spacing:1.5px;font-weight:700;color:var(--text-tertiary)}.auth-card h1{font-size:30px;letter-spacing:-1px;margin:12px 0 6px;font-weight:700}.auth-intro{color:var(--text-secondary);font-size:13px}.auth-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:var(--radius-sm);background:var(--bg-tertiary);margin:var(--space-lg) 0 var(--space-lg)}.auth-switch button{padding:9px;border-radius:6px;font-size:11px;color:var(--text-secondary);transition:all var(--duration-fast)}.auth-switch button.selected{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm);font-weight:600}.auth-form{display:grid;gap:var(--space-md)}.auth-form label{display:grid;gap:6px;font-size:11px;color:var(--text-secondary);font-weight:600}.auth-form input{height:42px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-primary);padding:0 12px;color:var(--text-primary);font-size:13px;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.auth-form input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-primary-glow)}.auth-form input::placeholder{color:var(--text-tertiary);font-weight:400}.auth-form .btn-primary{width:100%;justify-content:space-between;padding:13px 16px;margin-top:4px}.form-error{border-radius:var(--radius-sm);background:var(--accent-danger-soft);padding:10px 12px;color:var(--accent-danger);font-size:11px}.privacy-line{text-align:center;color:var(--text-tertiary);font-size:10px;margin-top:var(--space-md);display:flex;align-items:center;justify-content:center;gap:5px}.privacy-line .lock-icon{color:var(--accent-primary)}.auth-footer{position:absolute;bottom:20px;color:var(--text-tertiary);font-size:9px}.onboarding-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);background:var(--bg-primary);position:relative}.onboarding-brand{position:absolute;top:var(--space-xl);left:var(--space-xl);display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px}.onboarding-progress{display:flex;gap:6px;margin-bottom:var(--space-xl)}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--border-primary);transition:all var(--duration-normal)}.onboarding-dot.active{background:var(--accent-primary);width:24px;border-radius:4px}.onboarding-dot.done{background:var(--accent-success)}.onboarding-card{width:min(520px,100%);background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-lg);animation:card-in .35s var(--ease-spring)}@keyframes card-in{0%{transform:translateY(20px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.onboarding-card .eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--text-tertiary);margin-bottom:var(--space-sm)}.onboarding-card h2{font-family:var(--font-serif);font-size:26px;line-height:1.2;letter-spacing:-.4px;margin-bottom:var(--space-sm)}.onboarding-card>p{color:var(--text-secondary);font-size:13px;margin-bottom:var(--space-lg);line-height:1.6}.onboarding-form{display:grid;gap:var(--space-md)}.onboarding-form label{display:grid;gap:6px;font-size:11px;color:var(--text-secondary);font-weight:600}.onboarding-form input,.onboarding-form textarea{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-primary);padding:11px 14px;color:var(--text-primary);font-size:13px;transition:border-color var(--duration-fast)}.onboarding-form input:focus,.onboarding-form textarea:focus{border-color:var(--border-focus)}.onboarding-form textarea{resize:vertical;min-height:60px;line-height:1.5}.onboarding-form input::placeholder,.onboarding-form textarea::placeholder{color:var(--text-tertiary)}.onboarding-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-lg);gap:var(--space-md)}.onboarding-actions .btn-text{font-size:11px}.onboarding-skip{font-size:11px;color:var(--text-tertiary)}.today-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-xl);align-items:start;width:100%}.today-main{display:flex;flex-direction:column;gap:var(--space-xl);min-width:0;width:100%}.motivation-banner{background:linear-gradient(135deg,var(--accent-primary-soft),var(--bg-tertiary));border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);display:flex;align-items:center;gap:var(--space-lg);width:100%}.motivation-quote-mark{font-family:var(--font-serif);font-size:42px;line-height:1;color:var(--accent-primary);opacity:.5;flex:none}.motivation-text{flex:1}.motivation-text p{font-family:var(--font-serif);font-style:italic;font-size:16px;line-height:1.5;color:var(--text-primary)}.motivation-text .quote-author{font-family:var(--font-sans);font-style:normal;font-size:10px;color:var(--text-tertiary);margin-top:6px;font-weight:600}.motivation-text small{display:block;font-family:var(--font-sans);font-style:normal;font-size:8px;letter-spacing:1.2px;font-weight:700;color:var(--text-tertiary);margin-top:var(--space-sm)}.today-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-lg);width:100%}.habit-checkin-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg)}.habit-checkin-card .card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.card-title h3{font-size:14px;font-weight:600}.card-title .card-count{font-size:10px;color:var(--text-tertiary);font-weight:600}.habit-quick-list{display:grid;gap:4px}.habit-quick-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);transition:background var(--duration-fast);cursor:pointer}.habit-quick-item:hover{background:var(--bg-tertiary)}.habit-check{width:24px;height:24px;border:2px solid var(--border-primary);border-radius:50%;display:grid;place-items:center;transition:all var(--duration-normal) var(--ease-spring);flex:none;font-size:12px;color:transparent}.habit-check.checked{border-color:var(--accent-success);background:var(--accent-success);color:#fff;animation:check-pop .3s var(--ease-spring)}@keyframes check-pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.habit-quick-name{flex:1;font-size:12px;font-weight:500}.habit-quick-name.done{text-decoration:line-through;color:var(--text-tertiary)}.habit-quick-streak{font-size:9px;color:var(--accent-primary);font-weight:600;background:var(--accent-primary-soft);padding:3px 7px;border-radius:var(--radius-full)}.today-tasks-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg)}.task-add-form{display:flex;align-items:center;gap:8px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:0 10px;height:38px;margin-top:var(--space-md);transition:border-color var(--duration-fast)}.task-add-form:focus-within{border-color:var(--border-focus)}.task-add-form .add-icon{color:var(--accent-primary);font-size:16px;font-weight:300}.task-add-form input{border:0;background:transparent;flex:1;min-width:0;font-size:12px}.task-add-form input::placeholder{color:var(--text-tertiary)}.task-list{margin-top:var(--space-sm);display:grid;gap:1px}.task-item{display:flex;align-items:center;gap:10px;padding:9px 4px;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-fast)}.task-item:hover{background:var(--bg-tertiary)}.task-check{width:16px;height:16px;flex:none;border:1.5px solid var(--border-primary);border-radius:4px;display:grid;place-items:center;transition:all var(--duration-fast);font-size:10px;color:transparent}.task-item.done .task-check{border-color:var(--accent-success);background:var(--accent-success);color:#fff}.task-item .task-text{font-size:12px;flex:1}.task-item.done .task-text{text-decoration:line-through;color:var(--text-tertiary)}.task-delete{opacity:0;font-size:14px;color:var(--text-tertiary);transition:opacity var(--duration-fast)}.task-item:hover .task-delete{opacity:1}.today-rail{position:sticky;top:74px;display:flex;flex-direction:column;gap:var(--space-md)}.progress-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg)}.progress-card h4{font-size:12px;font-weight:600;margin-bottom:var(--space-md)}.progress-ring-container{display:flex;justify-content:center;margin-bottom:var(--space-md)}.progress-ring{width:100px;height:100px;position:relative}.progress-ring svg{transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:6;stroke-linecap:round}.progress-ring .ring-bg{stroke:var(--bg-tertiary)}.progress-ring .ring-fill{stroke:var(--accent-primary);transition:stroke-dashoffset .5s var(--ease-out)}.progress-ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring-label strong{font-size:22px;font-weight:700;letter-spacing:-.5px}.progress-ring-label small{font-size:8px;color:var(--text-tertiary);letter-spacing:.8px;font-weight:600}.progress-stats{display:grid;gap:6px}.progress-stat{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-secondary)}.progress-stat strong{font-weight:600;color:var(--text-primary)}.goals-preview-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg)}.goals-preview-card h4{font-size:12px;font-weight:600;margin-bottom:var(--space-md)}.goal-preview-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-secondary)}.goal-preview-item:last-child{border-bottom:0}.goal-level-badge{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--accent-primary-soft);color:var(--accent-primary);font-size:9px;font-weight:700}.goal-preview-text{flex:1;min-width:0}.goal-preview-text strong{display:block;font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-preview-text small{font-size:9px;color:var(--text-tertiary)}.habits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-md)}.habit-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);transition:box-shadow var(--duration-normal),transform var(--duration-normal)}.habit-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.habit-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md)}.habit-card-header h3{font-size:15px;font-weight:600;letter-spacing:-.2px}.habit-stage-badge{font-size:8px;letter-spacing:.8px;font-weight:700;padding:4px 8px;border-radius:var(--radius-full)}.stage-spark{background:#f0a0401f;color:var(--stage-spark)}.stage-foundation{background:#5890e01f;color:var(--stage-foundation)}.stage-integration{background:#6b50c01f;color:var(--stage-integration)}.stage-mastery{background:#3da0701f;color:var(--stage-mastery)}.habit-intention{font-size:11px;color:var(--text-secondary);font-style:italic;margin-bottom:var(--space-md);line-height:1.5}.habit-floor{font-size:10px;color:var(--text-tertiary);display:flex;align-items:center;gap:4px;margin-bottom:var(--space-md)}.habit-stats-row{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.habit-stat{display:grid;gap:2px}.habit-stat-value{font-size:18px;font-weight:700;letter-spacing:-.5px;color:var(--accent-primary)}.habit-stat-label{font-size:8px;letter-spacing:.6px;color:var(--text-tertiary);font-weight:600}.habit-checkin-btn{width:100%;padding:12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--duration-normal) var(--ease-spring)}.habit-checkin-btn.unchecked{background:var(--accent-primary);color:#fff}.habit-checkin-btn.unchecked:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}.habit-checkin-btn.checked{background:var(--accent-success-soft);color:var(--accent-success);border:1px solid var(--accent-success)}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:var(--space-md) 0}.mini-cal-day{aspect-ratio:1;display:grid;place-items:center;border-radius:4px;font-size:8px;font-weight:600;color:var(--text-tertiary)}.mini-cal-day.checked{background:var(--accent-success);color:#fff;font-weight:700}.mini-cal-day.today{border:1.5px solid var(--accent-primary);color:var(--accent-primary)}.mini-cal-day.today.checked{border-color:var(--accent-success);background:var(--accent-success);color:#fff}.habit-form-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-md)}.habit-form-card h3{font-size:16px;font-weight:600;margin-bottom:var(--space-lg)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.form-group .form-hint{font-size:10px;color:var(--text-tertiary);font-weight:400;margin-left:4px}.form-group input,.form-group textarea{display:block;width:100%;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-primary);padding:10px 12px;color:var(--text-primary);font-size:12px;transition:border-color var(--duration-fast)}.form-group input:focus,.form-group textarea:focus{border-color:var(--border-focus)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.form-group textarea{resize:vertical;min-height:60px}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.goal-ladder-intro{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.goal-ladder-intro .ladder-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--accent-primary-soft);color:var(--accent-primary);font-size:22px}.goal-ladder-intro p{font-size:11px;color:var(--text-secondary);line-height:1.6}.goal-ladder-intro strong{color:var(--text-primary);font-size:12px}.ladder-levels{display:flex;gap:4px;margin-left:auto}.ladder-level{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-tertiary);font-size:9px;font-weight:700}.goals-list{display:grid;gap:10px}.goal-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow var(--duration-normal)}.goal-card:hover{box-shadow:var(--shadow-sm)}.goal-card-summary{width:100%;display:flex;align-items:center;gap:12px;padding:14px var(--space-md);text-align:left}.goal-stage-pill{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--accent-primary-soft);color:var(--accent-primary);font-size:10px;font-weight:700}.goal-card-summary .goal-info{flex:1;min-width:0}.goal-card-summary .goal-info strong{display:block;font-size:13px;font-weight:600;letter-spacing:-.2px}.goal-card-summary .goal-info small,.goal-card-summary .goal-progress-label{font-size:10px;color:var(--text-tertiary)}.goal-chevron{color:var(--text-tertiary);font-size:14px;transition:transform var(--duration-normal)}.goal-card.expanded .goal-chevron{transform:rotate(180deg)}.goal-stage-track{display:flex;gap:6px;padding:0 var(--space-md) 12px 60px}.stage-dot{display:flex;align-items:center;gap:4px;font-size:8px;color:var(--text-tertiary)}.stage-dot i{width:5px;height:5px;border:1px solid var(--border-primary);border-radius:50%}.stage-dot.reached{color:var(--accent-primary)}.stage-dot.reached i{background:var(--accent-primary);border-color:var(--accent-primary)}.goal-detail{border-top:1px solid var(--border-secondary);padding:var(--space-md);animation:expand-in .25s var(--ease-out)}@keyframes expand-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.goal-detail-level{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:10px 0;position:relative}.goal-detail-level:not(:last-child):after{content:"";position:absolute;top:36px;bottom:-2px;left:12px;width:1px;background:var(--border-secondary)}.goal-detail-level .level-badge{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:9px;font-weight:700;position:relative;z-index:1;background:var(--bg-secondary)}.goal-detail-level.reached .level-badge{background:var(--accent-primary-soft);border-color:var(--accent-primary-soft);color:var(--accent-primary)}.goal-detail-level .level-content{min-width:0}.level-caption{font-size:8px;letter-spacing:1px;color:var(--text-tertiary);font-weight:700;margin-bottom:4px}.level-value{font-size:12px;line-height:1.5;color:var(--text-secondary)}.level-placeholder{font-size:11px;color:var(--text-tertiary);font-style:italic}.goal-detail-level input,.goal-detail-level textarea{margin-top:6px;width:100%;max-width:400px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-primary);padding:8px 10px;font-size:11px;color:var(--text-primary)}.goal-detail-level input:focus,.goal-detail-level textarea:focus{border-color:var(--border-focus)}.goal-detail-level textarea{resize:vertical}.goal-actions-list{display:grid;gap:6px;margin-top:6px}.goal-action-item{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--text-secondary)}.goal-action-item i{width:5px;height:5px;flex:none;border-radius:50%;background:var(--accent-success);margin-top:5px}.goal-action-item time{font-size:9px;color:var(--text-tertiary);white-space:nowrap}.action-add-form{display:flex;gap:6px;margin-top:8px;max-width:400px}.action-add-form input{flex:1}.action-add-form button{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--accent-primary-soft);color:var(--accent-primary);display:grid;place-items:center}.action-add-form button:disabled{opacity:.4}.goal-card-actions{display:flex;gap:6px;padding-top:var(--space-md);border-top:1px solid var(--border-secondary);margin-top:var(--space-md)}.notes-layout{display:grid;grid-template-columns:1fr 260px;gap:var(--space-lg);align-items:start}.notes-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.notes-toolbar h3{font-size:13px;font-weight:600}.notes-toolbar h3 span{font-size:9px;font-weight:500;color:var(--text-tertiary);background:var(--bg-tertiary);padding:3px 6px;border-radius:var(--radius-full);margin-left:6px}.filter-tabs{display:flex;gap:2px;background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:2px}.filter-tabs button{padding:6px 10px;border-radius:6px;font-size:10px;color:var(--text-secondary);transition:all var(--duration-fast)}.filter-tabs button.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm);font-weight:600}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.note-card{position:relative;min-height:170px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.6);padding:16px;display:flex;flex-direction:column;transition:box-shadow var(--duration-normal),transform var(--duration-normal);cursor:pointer;overflow:hidden}.note-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.note-card.size-large{grid-column:span 2;min-height:240px}.note-card .note-meta{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--text-tertiary);margin-bottom:10px}.note-card .pinned-badge{font-size:7px;letter-spacing:.8px;font-weight:700;color:var(--tone-blue-ink)}.note-card h4{font-size:13px;font-weight:600;color:var(--tone-blue-ink);margin-bottom:6px;letter-spacing:-.2px}.note-card .note-preview{font-size:11px;line-height:1.55;color:var(--text-secondary);overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;flex:1}.note-card .note-card-foot{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center}.note-card-actions{display:flex;gap:2px}.note-card-actions button{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:12px;color:var(--text-tertiary);transition:background var(--duration-fast),color var(--duration-fast)}.note-card-actions button:hover{background:#ffffff80;color:var(--tone-blue-ink)}.tone-blue{background:var(--tone-blue);--card-ink: var(--tone-blue-ink)}.tone-lilac{background:var(--tone-lilac);--card-ink: var(--tone-lilac-ink)}.tone-mint{background:var(--tone-mint);--card-ink: var(--tone-mint-ink)}.tone-peach{background:var(--tone-peach);--card-ink: var(--tone-peach-ink)}.tone-butter{background:var(--tone-butter);--card-ink: var(--tone-butter-ink)}.note-card h4{color:var(--card-ink)}.empty-sticker{min-height:170px;border-radius:var(--radius-lg);border:2px dashed var(--border-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-tertiary);transition:all var(--duration-normal);cursor:pointer}.empty-sticker:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-soft);transform:translateY(-2px)}.empty-sticker .sticker-plus{font-size:24px;font-weight:300;opacity:.6}.empty-sticker .sticker-label{font-family:var(--font-serif);font-size:12px;opacity:.7}.empty-sticker .sticker-hint{font-size:7px;letter-spacing:1px;font-weight:700}.calendar-layout{display:grid;grid-template-columns:1fr 340px;gap:var(--space-xl);align-items:start}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.calendar-nav h3{font-size:18px;font-weight:600;letter-spacing:-.3px}.calendar-nav-buttons{display:flex;gap:4px}.calendar-nav-buttons button{width:32px;height:32px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--text-secondary);font-size:14px;transition:background var(--duration-fast)}.calendar-nav-buttons button:hover{background:var(--bg-tertiary)}.calendar-grid{border:1px solid var(--border-secondary);border-radius:var(--radius-lg);background:var(--bg-secondary);overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border-secondary)}.calendar-weekday{padding:10px;text-align:center;font-size:10px;font-weight:600;color:var(--text-tertiary);letter-spacing:.5px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid transparent;border-right:1px solid var(--border-secondary);border-bottom:1px solid var(--border-secondary);cursor:pointer;transition:background var(--duration-fast);position:relative;padding:4px}.calendar-day:hover{background:var(--bg-tertiary)}.calendar-day.today{background:var(--accent-primary-soft)}.calendar-day.selected{background:var(--accent-primary);color:#fff;border-radius:4px}.calendar-day .day-number{font-size:12px;font-weight:500}.calendar-day.other-month .day-number{color:var(--text-tertiary);opacity:.4}.calendar-day .day-dots{display:flex;gap:2px}.day-dot{width:4px;height:4px;border-radius:50%}.day-dot.habit{background:var(--accent-success)}.day-dot.note{background:var(--accent-primary)}.day-dot.win{background:var(--accent-warning)}.day-dot.goal{background:var(--stage-integration)}.day-detail-panel{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);position:sticky;top:74px}.day-detail-panel h3{font-size:16px;font-weight:600;letter-spacing:-.3px;margin-bottom:4px}.day-detail-panel .day-date{font-size:11px;color:var(--text-tertiary);margin-bottom:var(--space-md)}.day-events{display:grid;gap:8px}.day-event-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:var(--radius-sm);background:var(--bg-tertiary)}.event-type-icon{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:var(--radius-sm);font-size:14px}.event-type-icon.habit{background:var(--accent-success-soft);color:var(--accent-success)}.event-type-icon.note{background:var(--accent-primary-soft);color:var(--accent-primary)}.event-type-icon.win{background:var(--accent-warning-soft);color:var(--accent-warning)}.event-type-icon.goal{background:#6b50c01a;color:var(--stage-integration)}.event-type-icon.milestone{background:var(--accent-success-soft);color:var(--accent-success)}.day-event-text{flex:1;min-width:0}.day-event-text strong{display:block;font-size:11px;font-weight:600;margin-bottom:2px}.day-event-text p{font-size:10px;color:var(--text-secondary);line-height:1.5}.day-event-text small{font-size:9px;color:var(--text-tertiary)}.day-no-events{text-align:center;padding:var(--space-lg);color:var(--text-tertiary);font-size:11px}.add-win-form{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-secondary)}.add-win-form input{width:100%;border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:8px 10px;font-size:11px;background:var(--bg-primary);color:var(--text-primary);margin-bottom:8px}.add-win-form input:focus{border-color:var(--border-focus)}.add-win-buttons{display:flex;gap:6px}.praise-sections{display:grid;gap:var(--space-xl)}.praise-section h3{font-size:14px;font-weight:600;margin-bottom:var(--space-md);display:flex;align-items:center;gap:8px}.praise-section h3 .praise-icon{font-size:18px}.wins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-md)}.win-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--space-md);position:relative;overflow:hidden}.win-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.win-card.big-win:before{background:linear-gradient(90deg,var(--accent-warning),var(--stage-spark))}.win-card.small-win:before{background:var(--accent-primary)}.win-card.goal-win:before{background:var(--accent-success)}.win-card .win-type{font-size:8px;letter-spacing:1px;font-weight:700;color:var(--text-tertiary);margin-bottom:6px}.win-card h4{font-size:13px;font-weight:600;margin-bottom:4px}.win-card p{font-size:11px;color:var(--text-secondary);line-height:1.5}.win-card .win-date{font-size:9px;color:var(--text-tertiary);margin-top:8px}.milestones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-sm)}.milestone-badge{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.milestone-badge .badge-icon{width:40px;height:40px;margin:0 auto 8px;display:grid;place-items:center;border-radius:50%;font-size:20px}.milestone-badge .badge-days{font-size:16px;font-weight:700;color:var(--accent-primary)}.milestone-badge .badge-label{font-size:9px;color:var(--text-tertiary);font-weight:600}.milestone-badge .badge-habit{font-size:9px;color:var(--text-secondary);margin-top:4px}.review-sections{display:grid;gap:var(--space-xl);max-width:720px}.review-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-xl)}.review-card h3{font-size:14px;font-weight:600;margin-bottom:var(--space-md)}.review-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-bottom:var(--space-lg)}.review-stat{text-align:center;padding:var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-md)}.review-stat strong{display:block;font-size:24px;font-weight:700;color:var(--accent-primary);margin-bottom:2px}.review-stat small{font-size:9px;color:var(--text-tertiary);font-weight:600}.review-question{margin-bottom:var(--space-lg)}.review-question label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.review-question textarea{width:100%;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-primary);padding:12px;font-size:12px;line-height:1.6;resize:vertical;min-height:80px;color:var(--text-primary)}.review-question textarea:focus{border-color:var(--border-focus)}.review-question textarea::placeholder{color:var(--text-tertiary)}.settings-sections{display:grid;gap:var(--space-lg);max-width:800px;width:100%}.settings-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg)}.settings-card h3{font-size:14px;font-weight:600;margin-bottom:var(--space-md)}.settings-card.danger-zone{border:1px solid rgba(239,68,68,.35);background:#ef44440a}.settings-card.danger-zone h3{color:var(--accent-danger)}.btn-danger{background:var(--accent-danger);color:#fff;padding:10px 18px;font-size:13px;font-weight:600;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;transition:all var(--duration-fast);white-space:nowrap}.btn-danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 14px #ef44444d}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);padding:12px 0;border-bottom:1px solid var(--border-secondary)}.setting-row:last-child{border-bottom:0}.setting-info{flex:1}.setting-row .setting-info h4{font-size:12px;font-weight:600}.setting-row .setting-info p{font-size:10px;color:var(--text-tertiary);margin-top:2px}.theme-options{display:flex;gap:4px}.theme-option{padding:6px 12px;border-radius:var(--radius-sm);font-size:11px;border:1px solid var(--border-primary);color:var(--text-secondary);transition:all var(--duration-fast)}.theme-option.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.admin-badge{padding:6px 10px;border-radius:var(--radius-sm);background:var(--accent-primary-soft);color:var(--accent-primary);font-size:8px;letter-spacing:1.2px;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-bottom:var(--space-xl)}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--space-md);display:grid;gap:6px}.stat-card .stat-icon{color:var(--accent-primary);font-size:16px}.stat-card .stat-label{font-size:10px;color:var(--text-tertiary)}.stat-card strong{font-size:24px;font-weight:600;letter-spacing:-.5px}.stat-card .stat-note{font-size:9px;color:var(--text-tertiary)}.admin-table-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-md)}.table-header{display:flex;justify-content:space-between;align-items:center;padding:14px var(--space-md);border-bottom:1px solid var(--border-secondary)}.table-header h3{font-size:12px;font-weight:600}.table-header span{font-size:9px;color:var(--text-tertiary)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:var(--bg-tertiary);color:var(--text-tertiary);font-size:9px;font-weight:600;padding:10px 14px;letter-spacing:.3px}td{padding:10px 14px;border-top:1px solid var(--border-secondary);color:var(--text-secondary);font-size:10px}.dialog-backdrop{position:fixed;inset:0;z-index:20;background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:fade-in .15s ease;padding:var(--space-lg)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dialog-panel{width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:dialog-in .25s var(--ease-spring)}@keyframes dialog-in{0%{transform:translateY(16px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--border-secondary)}.dialog-header h2{font-size:16px;font-weight:600}.dialog-body{padding:var(--space-lg)}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-secondary)}.note-compose-dialog{padding:var(--space-xl)}.note-compose-dialog .tone-swatches{display:flex;gap:4px;margin-bottom:var(--space-md)}.tone-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;transition:all var(--duration-fast);cursor:pointer}.tone-swatch:hover{transform:scale(1.15)}.tone-swatch.selected{border-color:var(--text-primary);box-shadow:var(--shadow-sm)}.tone-swatch.swatch-blue{background:var(--tone-blue)}.tone-swatch.swatch-lilac{background:var(--tone-lilac)}.tone-swatch.swatch-mint{background:var(--tone-mint)}.tone-swatch.swatch-peach{background:var(--tone-peach)}.tone-swatch.swatch-butter{background:var(--tone-butter)}.note-compose-dialog .compose-title{width:100%;border:0;background:transparent;font-size:20px;font-weight:600;letter-spacing:-.5px;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-secondary);margin-bottom:var(--space-md);color:var(--text-primary)}.note-compose-dialog .compose-title::placeholder{color:var(--text-tertiary);font-weight:400}.note-compose-dialog .compose-content{width:100%;border:0;background:transparent;font-size:13px;line-height:1.7;min-height:180px;resize:vertical;color:var(--text-primary)}.note-compose-dialog .compose-content::placeholder{color:var(--text-tertiary)}.note-compose-dialog .compose-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-md);border-top:1px solid var(--border-secondary);margin-top:var(--space-md)}.note-compose-dialog .compose-footer span{font-size:9px;color:var(--text-tertiary)}.note-detail-panel{max-width:560px;width:100%;max-height:calc(100vh - 48px);overflow-y:auto;border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-xl);animation:dialog-in .25s var(--ease-spring)}.note-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-lg)}.note-detail-header .close-btn{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:18px;color:var(--card-ink);transition:background var(--duration-fast)}.note-detail-header .close-btn:hover{background:#ffffff4d}.note-detail-kicker{font-size:9px;letter-spacing:1.2px;font-weight:700;color:var(--text-tertiary)}.note-detail-panel h2{font-size:24px;font-weight:600;letter-spacing:-.6px;color:var(--card-ink);margin:var(--space-md) 0}.note-entry-list{position:relative;padding-left:20px;margin-bottom:var(--space-lg)}.note-entry-list:before{content:"";position:absolute;left:5px;top:6px;bottom:4px;width:1px;background:#0000001f}.note-entry{position:relative;display:flex;gap:12px;margin-bottom:var(--space-md)}.note-entry-marker{position:absolute;left:-19px;top:3px;width:9px;height:9px;border:2px solid var(--card-ink);background:inherit;border-radius:50%;z-index:1}.note-entry time{font-size:10px;color:var(--text-tertiary)}.note-entry p{font-size:13px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;margin-top:4px}.note-add-entry{border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-md);background:#fff6;padding:14px}.note-add-entry label{font-size:11px;font-weight:600;color:var(--text-secondary);display:block;margin-bottom:6px}.note-add-entry textarea{display:block;width:100%;border:0;background:transparent;font-size:12px;line-height:1.6;resize:vertical;min-height:60px;color:var(--text-primary)}.note-add-entry textarea::placeholder{color:var(--text-tertiary)}.note-add-entry-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}.note-add-entry-foot span{font-size:9px;color:var(--text-tertiary)}@media(max-width:1100px){.today-layout{grid-template-columns:1fr}.today-rail{position:static;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.calendar-layout{grid-template-columns:1fr}.day-detail-panel{position:static}.notes-layout{grid-template-columns:1fr}.notes-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){:root{--sidebar-width: 68px}.sidebar{width:68px;padding:var(--space-md) var(--space-sm);align-items:center}.brand>span:not(.brand-mark),.side-date,.side-label,.nav-item>span:not(.nav-icon),.nav-badge,.sidebar-quote,.profile-copy,.profile-actions{display:none}.primary-nav{width:100%;margin-top:var(--space-xl)}.nav-item{justify-content:center;padding:10px}.sidebar-profile{justify-content:center}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){:root{--sidebar-width: 0px}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:64px;border-right:0;border-top:1px solid var(--border-secondary);padding:4px var(--space-md) max(4px,env(safe-area-inset-bottom));flex-direction:row;justify-content:center;background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20}.brand,.sidebar-profile,.sidebar-quote,.side-date,.side-label{display:none}.primary-nav{display:flex;justify-content:space-around;gap:2px;margin:0;max-width:440px;width:100%}.nav-item{width:auto;min-width:50px;flex-direction:column;gap:2px;padding:6px 8px;font-size:9px}.nav-item>span:not(.nav-icon){display:block}.nav-badge{display:none}.main-content{margin-left:0;padding-bottom:72px}.topbar{height:48px;padding:0 var(--space-md)}.page-container{padding:var(--space-lg) var(--space-md)}.page-header h1{font-size:28px}.today-layout,.today-grid,.today-rail,.habits-grid{grid-template-columns:1fr}.notes-grid{grid-template-columns:repeat(2,1fr)}.note-card.size-large{grid-column:span 1}.calendar-layout{grid-template-columns:1fr}.goals-list{gap:8px}.review-stat-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.wins-grid,.auth-shell{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{padding:var(--space-xl) var(--space-lg)}.auth-mobile-brand{display:flex;align-items:center;gap:8px;position:absolute;top:var(--space-lg);left:var(--space-lg);font-weight:700;font-size:14px}.auth-mobile-brand .brand-mark{width:28px;height:28px;font-size:16px}.dialog-backdrop{padding:0;align-items:flex-end}.dialog-panel,.note-detail-panel{width:100%;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:rise-in .22s var(--ease-out)}@keyframes rise-in{0%{transform:translateY(20px);opacity:.7}to{transform:translateY(0);opacity:1}}.onboarding-card{border-radius:var(--radius-lg);padding:var(--space-xl)}.onboarding-card h2{font-size:22px}}@media(max-width:380px){.notes-grid{grid-template-columns:1fr}.milestones-grid{grid-template-columns:repeat(2,1fr)}}.saved-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-lg)}.saved-search-input{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:8px 14px;font-size:13px;color:var(--text-primary);min-width:220px}.saved-search-input:focus{outline:none;border-color:var(--accent-primary)}.tags-filter-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--space-lg)}.tag-chip{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-full);padding:4px 10px;font-size:11px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast)}.tag-chip:hover{border-color:var(--border-primary);color:var(--text-primary)}.tag-chip.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.saved-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.saved-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:10px;transition:all var(--duration-normal) var(--ease-out);position:relative}.saved-card:hover{transform:translateY(-2px);border-color:var(--border-primary);box-shadow:var(--shadow-sm)}.saved-card.read{opacity:.72}.saved-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.saved-card h4{font-size:15px;font-weight:600;line-height:1.35;color:var(--text-primary)}.saved-card h4 a{color:inherit;text-decoration:none}.saved-card h4 a:hover{color:var(--accent-primary);text-decoration:underline}.saved-url-badge{font-size:11px;color:var(--text-tertiary);word-break:break-all}.saved-card p{font-size:13px;line-height:1.45;color:var(--text-secondary);flex:1}.saved-tags{display:flex;gap:4px;flex-wrap:wrap}.saved-tag-pill{font-size:10px;padding:2px 7px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-tertiary)}.saved-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--border-subtle);font-size:11px;color:var(--text-tertiary)}.saved-card-actions{display:flex;gap:6px;align-items:center}.summaries-tab-bar{display:flex;gap:8px;margin-bottom:var(--space-xl);border-bottom:1px solid var(--border-secondary);padding-bottom:12px}.summary-tab-btn{background:transparent;border:none;font-size:14px;font-weight:600;color:var(--text-tertiary);padding:6px 14px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast)}.summary-tab-btn.active{background:var(--bg-tertiary);color:var(--text-primary)}.daily-summary-layout{display:grid;gap:var(--space-lg)}.daily-date-picker-row{display:flex;align-items:center;gap:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:10px 16px;width:fit-content}.daily-date-picker-row input[type=date]{background:transparent;border:1px solid var(--border-secondary);border-radius:var(--radius-sm);padding:4px 8px;color:var(--text-primary);font-size:13px}.daily-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.daily-summary-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg)}.daily-summary-card h3{font-size:14px;font-weight:600;margin-bottom:var(--space-md);display:flex;align-items:center;gap:8px}.summary-item-list{display:grid;gap:8px}.summary-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:13px}.summary-item .item-title{color:var(--text-primary)}.summary-item .item-status{font-size:11px;font-weight:600}.daily-reflection-box{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);margin-top:var(--space-md)}.daily-reflection-box h4{font-size:14px;font-weight:600;margin-bottom:6px}.daily-reflection-box p{font-size:12px;color:var(--text-tertiary);margin-bottom:12px}.daily-reflection-box textarea{width:100%;min-height:70px;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:10px;color:var(--text-primary);font-size:13px;resize:vertical;margin-bottom:10px}.stickers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-md)}.sticker-reward-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;transition:all var(--duration-normal) var(--ease-spring);position:relative;overflow:hidden}.sticker-reward-card.unlocked{border-color:var(--accent-primary);background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);box-shadow:0 4px 16px #6366f114}.sticker-reward-card.locked{opacity:.45;filter:grayscale(.85)}.sticker-reward-card:hover{transform:translateY(-3px) scale(1.02)}.sticker-reward-icon{font-size:36px;line-height:1;margin-bottom:8px;display:inline-block;animation:float-sticker 3s ease-in-out infinite alternate}@keyframes float-sticker{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.sticker-reward-card h4{font-size:13px;font-weight:700;margin-bottom:4px;color:var(--text-primary)}.sticker-reward-card p{font-size:11px;color:var(--text-secondary);line-height:1.35}.sticker-status-tag{display:inline-block;margin-top:8px;font-size:9px;font-weight:700;letter-spacing:.8px;padding:2px 8px;border-radius:var(--radius-full)}.sticker-reward-card.unlocked .sticker-status-tag{background:var(--accent-success-soft);color:var(--accent-success)}.sticker-reward-card.locked .sticker-status-tag{background:var(--bg-tertiary);color:var(--text-tertiary)}.btn-sm{padding:4px 10px;font-size:11px;border-radius:var(--radius-sm)}.grace-badge{font-size:10px;padding:3px 8px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-tertiary);font-weight:600}.habit-milestone-chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.milestone-chip{font-size:10px;padding:2px 6px;border-radius:var(--radius-xs);background:var(--accent-primary-soft);color:var(--accent-primary);font-weight:600}.icon-btn-danger{background:transparent;border:1px solid transparent;color:var(--text-tertiary);border-radius:var(--radius-sm);width:24px;height:24px;display:grid;place-items:center;cursor:pointer;font-size:14px;transition:all var(--duration-fast)}.icon-btn-danger:hover{color:var(--accent-danger);border-color:var(--accent-danger)}.backup-actions-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:var(--space-md)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:more){:root{--text-tertiary: #555d69;--border-primary: #aeb4be}}
