:root{--color-background-base: #F6FAFF;--color-background-elevated: #FFFFFF;--color-background-subtle: #EDF4FF;--color-text-primary: #18181B;--color-text-secondary: #52525B;--color-text-tertiary: #A1A1AA;--color-border-base: rgba(15, 23, 42, .08);--color-border-strong: rgba(15, 23, 42, .14);--color-border-accent: rgba(37, 99, 235, .1);--color-accent-base: #0070F3;--color-accent-hover: #0761D1;--color-accent-subtle: rgba(0, 112, 243, .1);--color-accent-text: #0070F3;--color-success-bg: rgba(5, 150, 105, .1);--color-success-border: #059669;--color-success-text: #059669;--color-warning-bg: rgba(217, 119, 6, .1);--color-warning-border: #D97706;--color-warning-text: #D97706;--color-danger-bg: rgba(220, 38, 38, .1);--color-danger-border: #DC2626;--color-danger-text: #DC2626;--color-info-bg: rgba(0, 112, 243, .1);--color-info-border: #0070F3;--color-info-text: #0070F3;--font-family-base: "Geist Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--line-height-xs: 16px;--line-height-sm: 20px;--line-height-base: 24px;--line-height-lg: 28px;--line-height-xl: 28px;--line-height-2xl: 32px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.01em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--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: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .04);--shadow-focus: 0 0 0 3px rgba(0, 112, 243, .2);--duration-instant: .1s;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}body.dark-mode{--color-background-base: #0A0A0A;--color-background-elevated: #151515;--color-background-subtle: #1F1F1F;--color-text-primary: #FAFAF9;--color-text-secondary: #A1A1AA;--color-text-tertiary: #71717A;--color-border-base: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .15);--color-border-accent: rgba(255, 255, 255, .12);--color-accent-base: #3291FF;--color-accent-hover: #5BA3FF;--color-accent-subtle: rgba(50, 145, 255, .15);--color-accent-text: #3291FF;--color-success-bg: rgba(16, 185, 129, .15);--color-success-border: #10B981;--color-success-text: #10B981;--color-warning-bg: rgba(245, 158, 11, .15);--color-warning-border: #F59E0B;--color-warning-text: #F59E0B;--color-danger-bg: rgba(239, 68, 68, .15);--color-danger-border: #EF4444;--color-danger-text: #EF4444;--color-info-bg: rgba(50, 145, 255, .15);--color-info-border: #3291FF;--color-info-text: #3291FF;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6), 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .8), 0 2px 6px rgba(0, 0, 0, .4);--shadow-focus: 0 0 0 3px rgba(50, 145, 255, .3)}:root{--font-sans: "Geist Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-headline: "Geist Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--type-h1: 42px;--type-h2: 24px;--type-h3: 18px;--type-body: 15px;--type-small: 13px;--type-badge: 11px;--line-h1: 1.05;--line-h2: 1.2;--line-h3: 1.3;--line-body: 1.5;--line-small: 1.4;--line-badge: 1;--bg: #F6FAFF;--bg-elevated: #FFFFFF;--bg-soft: #EAF2FF;--surface-1: #FFFFFF;--surface-2: #F7FAFF;--surface-3: #EAF2FF;--text-primary: #111827;--text-secondary: #475569;--text-muted: #64748B;--text-subtle: #94A3B8;--text-invert: #FFFFFF;--text: var(--text-primary);--glass-card: rgba(255, 255, 255, .75);--glass-subcard: rgba(255, 255, 255, .5);--glass-modal: rgba(255, 255, 255, .85);--border-subtle: rgba(30, 64, 175, .1);--border-strong: rgba(30, 64, 175, .18);--border-outline: rgba(37, 99, 235, .3);--border: var(--border-subtle);--accent-100: #E0EDFF;--accent-200: #C7DDFF;--accent-300: var(--color-accent-subtle);--accent-400: var(--color-accent-hover);--accent-500: var(--color-accent-base);--accent-600: var(--color-accent-hover);--accent-violet: #4EA2FF;--accent-gradient: linear-gradient(135deg, var(--accent-500) 0%, var(--accent-violet) 100%);--accent: var(--accent-500);--accent-bg: var(--accent-100);--accent-hover: var(--accent-600);--success-bg: #D1FAE5;--success-border: #059669;--success-text: #059669;--warning-bg: #FEF3C7;--warning-border: #D97706;--warning-text: #D97706;--danger-bg: #FFE4E6;--danger-border: #E11D48;--danger-text: #E11D48;--info-bg: #DBEAFE;--info-border: #2563EB;--info-text: #2563EB;--success: var(--success-text);--warning: var(--warning-text);--danger: var(--danger-text);--warm-blue-100: var(--info-bg);--warm-blue-200: var(--info-border);--warm-blue-500: var(--info-text);--warm-blue-600: var(--info-text);--warm-blue-bg: var(--warm-blue-100);--warm-blue-border: var(--warm-blue-200);--warm-blue-text: var(--warm-blue-600);--warm-blue: var(--warm-blue-500);--tone-blue-100: #E0F2FE;--tone-blue-200: #0EA5E9;--tone-blue-700: #0284C7;--tone-green-100: #D1FAE5;--tone-green-200: #10B981;--tone-green-700: #047857;--tone-yellow-100: #FEF3C7;--tone-yellow-200: #F59E0B;--tone-yellow-700: #B45309;--tone-purple-100: #F3E8FF;--tone-purple-200: #A855F7;--tone-purple-700: #7E22CE;--tone-red-100: #FFE4E6;--tone-red-200: #F43F5E;--tone-red-700: #BE123C;--tone-orange-100: #FFEDD5;--tone-orange-200: #F97316;--tone-orange-700: #C2410C;--tone-teal-100: #CCFBF1;--tone-teal-200: #14B8A6;--tone-teal-700: #0F766E;--tone-slate-100: #F1F5F9;--tone-slate-200: #64748B;--tone-slate-700: #334155;--day-0: #F43F5E;--day-1: #0EA5E9;--day-2: #F59E0B;--day-3: #10B981;--day-4: #A855F7;--day-5: #F97316;--day-6: #14B8A6;--day-0-bg: #FFE4E6;--day-1-bg: #E0F2FE;--day-2-bg: #FEF3C7;--day-3-bg: #D1FAE5;--day-4-bg: #F3E8FF;--day-5-bg: #FFEDD5;--day-6-bg: #CCFBF1;--bg-page: var(--bg);--bg-card: var(--surface-1);--bg-subtle: var(--bg-soft);--bg-hover: var(--surface-3);--border-light: var(--border-subtle);--surface-soft: var(--surface-2);--surface-soft-hover: var(--surface-3);--surface-soft-border: var(--border-subtle);--surface-soft-border-hover: var(--border-strong);--button-primary-bg: var(--accent-500);--button-primary-bg-hover: var(--accent-600);--button-primary-border: var(--accent-500);--button-primary-text: var(--text-invert);--chip-bg: var(--surface-2);--chip-border: var(--border-strong);--chip-text: var(--text-secondary);--chip-hover-bg: var(--surface-3);--chip-hover-border: var(--border-outline);--chip-hover-text: var(--text-primary);--chip-accent-bg: var(--accent-500);--chip-accent-border: var(--accent-600);--chip-accent-text: var(--text-invert);--progress-track-bg: var(--surface-2);--progress-track-border: var(--border-subtle);--progress-fill-start: var(--accent-500);--progress-fill-end: var(--accent-600);--overlay-scrim: rgba(9, 9, 11, .4);--overlay-scrim-soft: rgba(9, 9, 11, .3);--overlay-scrim-strong: rgba(9, 9, 11, .6);--radius-chip: 999px;--radius-input: 12px;--radius-button: 999px;--radius-card: 20px;--radius-backplate: 24px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--space-title-content: 16px;--space-card: 24px;--space-grid: 16px;--space-section: 48px;--space-backplate: 0px;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .06);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .08);--shadow-aura-primary: 0 8px 24px rgba(0, 112, 243, .35);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-smooth: .3s cubic-bezier(.2, .8, .2, 1)}body.dark-mode{--bg: #0A1220;--bg-elevated: #111C30;--bg-soft: #17263F;--surface-1: #111C30;--surface-2: #17263F;--surface-3: #1F3556;--text-primary: #E2E8F0;--text-secondary: #CBD5E1;--text-muted: #94A3B8;--text-subtle: #64748B;--text-invert: #0A1220;--text: var(--text-primary);--glass-card: rgba(17, 28, 48, .75);--glass-subcard: rgba(23, 38, 63, .5);--glass-modal: rgba(31, 53, 86, .85);--border-subtle: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--border-outline: rgba(255, 255, 255, .24);--border: var(--border-subtle);--accent-100: #132A4A;--accent-200: #1A3B66;--accent-300: #2F6FE0;--accent-400: #4B8BFF;--accent-500: #3291FF;--accent-600: #6AAEFF;--accent-violet: #60A5FA;--accent-gradient: linear-gradient(135deg, var(--accent-500) 0%, var(--accent-violet) 100%);--accent: var(--accent-500);--accent-bg: var(--accent-100);--accent-bg-strong: var(--accent-200);--accent-hover: var(--accent-600);--success-bg: rgba(5, 150, 105, .15);--success-border: #059669;--success-text: #34D399;--warning-bg: rgba(217, 119, 6, .15);--warning-border: #D97706;--warning-text: #FBBF24;--danger-bg: rgba(225, 29, 72, .18);--danger-border: #E11D48;--danger-text: #FDA4AF;--info-bg: rgba(59, 130, 246, .15);--info-border: #3B82F6;--info-text: #93C5FD;--tone-blue-100: rgba(3, 105, 161, .15);--tone-blue-200: #0284C7;--tone-blue-700: #7DD3FC;--tone-green-100: rgba(15, 118, 110, .15);--tone-green-200: #0D9488;--tone-green-700: #5EEAD4;--tone-yellow-100: rgba(180, 83, 9, .15);--tone-yellow-200: #CA8A04;--tone-yellow-700: #FDE047;--tone-purple-100: rgba(109, 40, 217, .15);--tone-purple-200: #9333EA;--tone-purple-700: #D8B4FE;--tone-red-100: rgba(244, 63, 94, .16);--tone-red-200: #FB7185;--tone-red-700: #FDA4AF;--tone-orange-100: rgba(134, 25, 143, .15);--tone-orange-200: #C026D3;--tone-orange-700: #F0ABFC;--tone-teal-100: rgba(77, 124, 15, .15);--tone-teal-200: #65A30D;--tone-teal-700: #BEF264;--tone-slate-100: rgba(51, 65, 85, .15);--tone-slate-200: #475569;--tone-slate-700: #CBD5E1;--day-0: #FB7185;--day-1: #38BDF8;--day-2: #FBBF24;--day-3: #34D399;--day-4: #C084FC;--day-5: #FB923C;--day-6: #2DD4BF;--day-0-bg: rgba(244, 63, 94, .15);--day-1-bg: rgba(14, 165, 233, .15);--day-2-bg: rgba(245, 158, 11, .15);--day-3-bg: rgba(16, 185, 129, .15);--day-4-bg: rgba(168, 85, 247, .15);--day-5-bg: rgba(249, 115, 22, .15);--day-6-bg: rgba(20, 184, 166, .15);--bg-page: var(--bg);--bg-card: var(--surface-1);--bg-subtle: var(--surface-2);--bg-hover: var(--surface-3);--border-light: var(--border-subtle);--habit-grid-outline: var(--border-subtle);--surface-soft: var(--surface-2);--surface-soft-hover: var(--surface-3);--surface-soft-border: var(--border-subtle);--surface-soft-border-hover: var(--border-strong);--button-primary-bg: var(--accent-500);--button-primary-bg-hover: var(--accent-600);--button-primary-border: var(--accent-500);--button-primary-text: var(--text-invert);--chip-bg: var(--surface-2);--chip-border: var(--border-strong);--chip-text: var(--text-secondary);--chip-hover-bg: var(--surface-3);--chip-hover-border: var(--border-outline);--chip-hover-text: var(--text-primary);--chip-accent-bg: var(--accent-500);--chip-accent-border: var(--accent-600);--chip-accent-text: var(--text-invert);--progress-track-bg: var(--surface-2);--progress-track-border: var(--border-subtle);--progress-fill-start: var(--accent-500);--progress-fill-end: var(--accent-600);--shadow-sm: none;--shadow-md: none;--shadow-lg: 0 10px 30px rgba(0, 0, 0, .3);--overlay-scrim: rgba(0, 0, 0, .6);--overlay-scrim-soft: rgba(0, 0, 0, .5);--overlay-scrim-strong: rgba(0, 0, 0, .8)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);line-height:var(--line-body);font-size:var(--type-body);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page{max-width:1460px;margin:0 auto;padding:var(--space-section) 32px 100px;display:flex;flex-direction:column;gap:var(--space-section)}.app-shell-page{max-width:none;margin:0;padding:0;min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr);gap:0;overflow:hidden;background:var(--bg)}.app-sidebar{height:100vh;position:sticky;top:0;border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 84%,var(--bg-subtle));padding:18px 12px 14px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.app-sidebar-top{display:flex;flex-direction:column;gap:12px}.app-sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 8px}.app-sidebar-brand strong{display:block;font-size:1.1rem;line-height:1.2}.app-sidebar-brand span{font-size:.76rem;color:var(--text-muted)}.app-sidebar-logo{width:34px;height:34px;border-radius:999px;background:linear-gradient(145deg,var(--accent-400),var(--accent-500));color:var(--text-on-accent);font-weight:800;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 18px color-mix(in srgb,var(--accent-500) 32%,transparent)}.app-sidebar-logo-grid{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center}.app-sidebar-logo-grid svg{display:block}.app-sidebar-quick-shell{position:relative}.app-sidebar-quick-btn{width:100%;min-height:44px;border-radius:10px;border:1px solid var(--button-primary-border);background:var(--button-primary-bg);color:var(--button-primary-text);font-weight:700;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-sm)}.app-sidebar-quick-btn:hover{background:var(--button-primary-bg-hover);border-color:var(--button-primary-border);box-shadow:var(--shadow-md)}.app-sidebar-quick-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-lg);display:grid;gap:2px;padding:5px}.app-sidebar-quick-menu button{border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-primary);font-size:.84rem;font-weight:600;justify-content:flex-start;padding:9px 10px}.app-sidebar-quick-menu button:hover{background:var(--bg-hover);border-color:var(--border-light)}.app-sidebar-nav{display:grid;gap:6px}.app-sidebar-nav-item{width:100%;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-secondary);min-height:40px;display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 10px;font-size:.9rem;font-weight:500}.app-sidebar-nav-item:hover{color:var(--text-primary);background:color-mix(in srgb,var(--bg-card) 86%,var(--bg-hover));border-color:var(--border-light)}.app-sidebar-nav-item.active{color:var(--accent-600);background:color-mix(in srgb,var(--accent-bg) 72%,var(--bg-card));border-color:color-mix(in srgb,var(--accent-300) 64%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-400) 18%,transparent),0 1px 2px color-mix(in srgb,var(--accent-500) 12%,transparent);font-weight:600}.app-sidebar-bottom{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.app-sidebar-footer-btn{width:100%;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-secondary);min-height:36px;display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;padding:0 10px;font-size:.82rem;font-weight:600}.app-sidebar-footer-btn:hover{background:var(--bg-hover);border-color:var(--border);color:var(--text-primary)}.app-main{min-width:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-section);padding:var(--space-section) clamp(16px,2.1vw,28px)}.app-main-scroll{min-height:0;flex:1;overflow:auto;display:flex;flex-direction:column;gap:var(--space-section);padding-right:4px}.app-content-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:none;padding:2px 2px var(--space-title-content)}.app-content-header-main h1{margin-bottom:2px;font-size:clamp(1.9rem,2.5vw,2.4rem);font-weight:500;letter-spacing:-.02em}.app-content-header-actions{display:inline-flex;align-items:center;gap:8px}.eyebrow{font-family:var(--font-mono);font-size:var(--type-badge);line-height:var(--line-badge);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-600);margin-bottom:6px}h1,h2{font-family:var(--font-headline);font-weight:600;letter-spacing:-.03em}h3,h4,h5,h6{font-family:var(--font-headline);font-weight:500;letter-spacing:-.01em}h1{font-size:var(--type-h1);color:var(--text-primary);line-height:var(--line-h1);margin-bottom:var(--space-title-content)}h2{font-size:var(--type-h2);color:var(--text-primary);line-height:var(--line-h2);margin-bottom:12px}h3{font-size:var(--type-h3);color:var(--text-primary);line-height:var(--line-h3)}p{font-size:var(--type-body);line-height:var(--line-body);font-weight:400;margin:4px 0;color:var(--text-secondary)}.text-small{font-size:var(--type-small);line-height:var(--line-small);color:var(--text-muted)}.hero,.header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.header-cycle-trigger{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;border:none;background:transparent;color:inherit;cursor:pointer;padding:0;text-align:left}.search-input:focus{border-color:var(--accent-muted)}.search-results{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;margin-top:4px;max-height:300px;overflow-y:auto}.search-result-item{display:flex;align-items:center;gap:10px;padding:10px 14px;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;font-size:.85rem;color:var(--text-primary);border-bottom:1px solid var(--border-light)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-hover)}.search-type{font-size:.9rem}.header-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-top:auto}.header-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:14px;min-height:124px}.header-week-progress{display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-end;gap:16px;padding:0;border:none;background:transparent;position:relative}.header-week-progress-meta{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:0;line-height:1.1}.header-week-progress-meta-top{display:inline-flex;align-items:center;gap:8px}.header-week-progress-meta strong{font-size:.9rem;font-weight:700;color:var(--text-primary)}.header-week-progress-info-btn{width:20px;height:20px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:.72rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.header-week-progress-info-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 36%,var(--border));background:var(--accent-bg)}.header-week-progress-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(320px,86vw);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-lg);color:var(--text-secondary);font-size:.8rem;line-height:1.45;text-align:left;padding:10px 12px;z-index:40}.sync-status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-chip);border:1px solid var(--border);font-size:var(--type-badge);font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-subtle) 82%,var(--bg-card))}.sync-status-button{cursor:pointer}.sync-status.synced{color:var(--success-text);border-color:color-mix(in srgb,var(--success-border) 80%,transparent);background:color-mix(in srgb,var(--success-bg) 74%,transparent)}.sync-status.syncing{color:var(--accent-600);border-color:color-mix(in srgb,var(--accent-300) 76%,transparent);background:var(--accent-bg)}.sync-status.error{color:var(--danger-text);border-color:color-mix(in srgb,var(--danger-border) 78%,transparent);background:var(--danger-bg)}.sync-status.offline{color:var(--text-secondary);border-color:var(--border)}.sync-status-sheet{width:min(520px,100%)}.auth-entry-box{margin-top:0;gap:14px;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-subtle) 70%,transparent);box-shadow:var(--shadow-sm)}.auth-entry-card{width:100%;max-width:none;margin-inline:0;padding:34px}.auth-entry-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(520px,1.5fr);gap:28px;align-items:start}.auth-entry-intro{display:flex;flex-direction:column;gap:10px;padding:8px 4px}.auth-entry-intro h2{margin:0;font-size:1.45rem}.auth-entry-main{display:flex;flex-direction:column;gap:12px;padding:8px 12px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-subtle) 45%,transparent)}.auth-entry-feedback{display:flex;flex-direction:column;gap:8px;padding:2px 4px 0}.auth-entry-box label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:var(--text-primary)}.auth-entry-actions{margin-top:6px;padding-inline:2px}.auth-entry-support{font-size:.84rem;color:var(--text-secondary);border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-md);padding:10px 12px}.auth-entry-register-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-md);padding:10px 12px}.auth-cycle-setup-card{position:relative}.auth-cycle-signout-button{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;padding:0}.auth-cycle-signout-button:hover{color:var(--danger);background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.auth-cycle-signout-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.auth-password-rules{border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 92%,transparent);border-radius:var(--radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.auth-password-rule{font-size:.84rem;margin:0}.auth-password-rule.met{color:var(--success)}.auth-password-rule.unmet{color:var(--text-secondary)}@media (max-width: 900px){.auth-entry-card{width:100%;padding:24px}.auth-entry-layout{grid-template-columns:1fr;gap:16px}.auth-entry-intro{padding:0}.auth-entry-main{padding:0;background:transparent}}.header-main{display:flex;align-items:flex-start;gap:24px;flex:1;min-width:320px}.progress-bar{position:relative;width:100%;height:6px;background:#0000000f;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease;position:relative;overflow:hidden}.progress-bar-fill:after{display:none}.progress-bar-label{position:absolute;right:0;top:-20px;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.progress-bar-wrapper{position:relative;padding-top:22px}.progress-ring-container{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-ring{transform:rotate(-90deg)}.progress-ring-bg{stroke:var(--border)}.progress-ring-fill{stroke:var(--accent);transition:stroke-dashoffset .5s ease}.progress-ring-text{position:absolute;font-size:.9rem;font-weight:700;color:var(--text-primary)}.section-backplate{border-radius:var(--radius-backplate);padding:0;box-shadow:none;border:none;display:flex;gap:var(--space-section)}.card{background:var(--glass-card);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-card);padding:var(--space-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px;transition:border-color var(--transition-fast)}.card:hover{border-color:var(--accent-300)}.subcard{background:var(--glass-subcard);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--border-light)}.stats-chart{display:flex;align-items:flex-end;gap:8px;height:180px;padding:16px 0}.stats-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;border:none;background:transparent;padding:0;color:inherit;transition:transform var(--transition-fast)}.stats-bar-container:hover{transform:none}.stats-bar-container:disabled{opacity:1}.stats-bar-container.future,.stats-bar-container.future:hover{cursor:default;transform:none}.stats-bar-container.current .stats-bar{border:2px solid var(--accent)}.stats-bar-container.current .stats-bar-label{color:var(--accent);font-weight:700}.stats-bar-label{font-size:.7rem;font-weight:600;color:var(--text-muted)}.stats-bar{width:100%;height:120px;background:var(--bg-card);border:1px solid transparent;border-radius:var(--radius-sm);position:relative;overflow:hidden;display:flex;align-items:flex-end}.stats-bar.future{border-color:var(--border);border-style:dashed;background:color-mix(in srgb,var(--bg-subtle) 72%,transparent)}.stats-bar-fill{width:100%;height:var(--bar-progress, 0%);background:var(--button-primary-bg);border-radius:var(--radius-sm);transition:height .4s ease,width .4s ease;min-height:2px}.stats-bar-value{font-size:.65rem;font-weight:600;color:var(--text-secondary)}.stats-bar-value.placeholder{color:transparent}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-grid)}.stats-summary{text-align:center}.stats-card .section-title-with-icon{display:inline-flex;align-items:center;gap:10px;margin:0;line-height:1.2}.stats-card .stats-card-title-icon{flex:0 0 auto;color:var(--text-primary);transform:translateY(.5px)}.stats-goals-focus{text-align:left;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:var(--bg-card)}.stats-goals-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.stats-goals-header-actions{display:flex;align-items:center;gap:10px}.stats-goals-count{min-width:34px;height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.84rem;font-weight:800;color:var(--text-on-accent);background:var(--accent)}.stats-goal-list{display:flex;flex-direction:column;gap:12px;text-align:left}.stats-goal-card{--goal-accent: var(--accent-300);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);box-shadow:none}.stats-goal-card.has-goal-accent{border-color:color-mix(in srgb,var(--goal-accent) 34%,var(--border));background:var(--bg-card)}.stats-goal-index{min-width:28px;height:24px;padding:0 8px;border-radius:var(--radius-chip);border:1px solid color-mix(in srgb,var(--goal-accent) 62%,var(--border));display:flex;align-items:center;justify-content:center;font-size:var(--type-badge);font-weight:600;color:color-mix(in srgb,var(--goal-accent) 86%,var(--text-primary));background:transparent;flex-shrink:0}.stats-goal-card.has-goal-accent .stats-goal-index{border-color:color-mix(in srgb,var(--goal-accent) 66%,var(--border));background:transparent;color:color-mix(in srgb,var(--goal-accent) 88%,var(--text-primary))}.stats-goal-content{min-width:0;display:flex;flex-direction:column;gap:4px}.stats-goal-title{display:block;font-size:.98rem;line-height:1.3}.stats-goal-metric{font-size:var(--type-badge);line-height:1.25;display:inline-flex;width:fit-content;max-width:100%;padding:4px 10px;border-radius:var(--radius-chip);border:1px solid color-mix(in srgb,var(--goal-accent) 40%,var(--border));background:transparent;color:color-mix(in srgb,var(--goal-accent) 84%,var(--text-primary));font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-big-number{font-size:3rem;font-weight:800;color:var(--accent);line-height:1;margin:12px 0}.stats-progress-status{margin:0;font-size:.88rem;color:var(--text-secondary)}.stats-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.stats-comparison{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px}.stats-current{display:flex;flex-direction:column;align-items:center;gap:4px}.stats-week-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.stats-week-value{font-size:2.5rem;font-weight:800;color:var(--text-primary)}.stats-trend{font-size:.9rem;font-weight:600;padding:6px 14px;border-radius:var(--radius-md)}.stats-trend.up{color:var(--success);background:var(--success-bg)}.stats-trend.down{color:var(--danger-text);background:var(--danger-bg)}.stats-trend.neutral{color:var(--text-muted);background:var(--bg-subtle)}.goal-tracking-list{display:flex;flex-direction:column;gap:20px}.goal-tracking-item{display:flex;flex-direction:column;gap:8px}.goal-tracking-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.goal-tracking-info{display:flex;flex-direction:column;gap:2px;min-width:0}.goal-tracking-info strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-tracking-info .muted{font-size:.8rem}.goal-tracking-actual{font-size:.88rem;font-weight:700;color:var(--text-primary)}.goal-tracking-badge{flex-shrink:0;font-size:var(--type-badge);font-weight:500;padding:4px 10px;border-radius:var(--radius-chip);border:1px solid var(--border)}.goal-tracking-badge.high{color:var(--success-text);background:var(--success-bg-strong);border-color:var(--success)}.goal-tracking-badge.mid{color:var(--accent-600);background:var(--accent-bg-strong);border-color:var(--accent-500)}.goal-tracking-badge.low{color:var(--warning-text);background:var(--warning-bg-strong);border-color:var(--warning)}.goal-week-grid{display:flex;gap:8px;align-items:center;padding:8px 0;flex-wrap:wrap}.goal-week-chip{box-sizing:border-box;width:auto;min-width:0;height:auto;min-height:24px;padding:4px 10px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;transition:all var(--transition-fast);cursor:default;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);background:color-mix(in srgb,var(--bg-subtle) 78%,var(--bg-card));color:var(--text-secondary);line-height:1;flex-shrink:0}.drag-handle{cursor:grab;color:var(--text-secondary);touch-action:none;user-select:none;-webkit-user-select:none;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;align-self:center;margin-right:8px;opacity:.52;transition:opacity .2s,background-color .2s,color .2s;padding:4px;border-radius:4px;background:color-mix(in srgb,var(--bg-subtle) 52%,transparent);border:1px solid color-mix(in srgb,var(--border) 58%,transparent)}.drag-handle:hover{opacity:1;background-color:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.list-item:hover .drag-handle{opacity:.9}.drag-handle:active{cursor:grabbing}.drag-handle.disabled{cursor:default;opacity:.45;pointer-events:none}.goal-week-chip:hover{background:color-mix(in srgb,var(--bg-hover) 86%,var(--bg-card));border-color:color-mix(in srgb,var(--border) 65%,var(--text-light));color:var(--text-primary)}.goal-week-chip.high{background:var(--success-bg-strong);border-color:var(--success);color:var(--success-text)}.goal-week-chip.mid{background:var(--accent-bg-strong);border-color:var(--accent-500);color:var(--accent-600)}.goal-week-chip.low{background:var(--warning-bg-strong);border-color:var(--warning);color:var(--warning-text)}.goal-week-chip.zero{background:var(--danger-bg-strong);border-color:var(--danger);color:var(--danger-text);opacity:1}.goal-week-chip.empty{background:color-mix(in srgb,var(--bg-subtle) 88%,var(--bg-card));color:var(--text-muted);border:1px dashed var(--border)}.habit-toggle-row{display:flex;flex-wrap:wrap;gap:8px}.habit-chip{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-fast);font-size:13px;font-weight:500;color:var(--text-secondary)}.habit-chip:hover{background:var(--bg-hover);border-color:var(--text-secondary);color:var(--text-primary)}.habit-chip.done{border-color:var(--success);background:transparent;color:var(--success)}.habit-chip-emoji{display:inline-flex;align-items:center;justify-content:center}.habit-chip-label{font-weight:600}.habit-chip-check{font-size:.9rem;opacity:.8}.habit-tracker-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.habit-tracker-topbar-right{display:flex;align-items:center;gap:8px}.habit-mini-label{font-size:.74rem;font-weight:700;color:var(--accent-600);background:var(--accent-bg-strong);border:1px solid color-mix(in srgb,var(--accent-500) 52%,var(--accent-300));border-radius:var(--radius-chip);padding:4px 10px}.habit-tracker-mode-btn{padding:7px 12px;font-size:.78rem}.habit-tracker-mode-btn.active{border-color:color-mix(in srgb,var(--danger) 50%,var(--border));background:color-mix(in srgb,var(--danger-bg) 75%,transparent);color:var(--danger)}.habit-tracker-mode-hint{margin:0 0 10px;font-size:.78rem;color:var(--text-secondary)}.habit-tracker-section{display:flex;flex-direction:column;gap:10px}.habit-tracker-section.compact{gap:8px}.habit-tracker-item{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.habit-tracker-section.compact .habit-tracker-item{padding:8px 10px}.habit-tracker-item:hover{background:var(--bg-hover)}.habit-tracker-item.edit-mode{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.habit-tracker-item.delete-armed{border-color:var(--danger);background:color-mix(in srgb,var(--danger-bg) 78%,var(--bg-subtle));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 25%,transparent)}.habit-tracker-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.habit-tracker-toggle{width:100%;background:none;border:none;padding:6px;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:inherit;transition:background var(--transition-fast)}.habit-tracker-toggle:hover{background:color-mix(in srgb,var(--accent-bg) 60%,transparent)}.habit-tracker-toggle.locked{cursor:default}.habit-tracker-toggle.locked:hover{background:transparent}.habit-tracker-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.habit-tracker-header>*{pointer-events:none}.habit-tracker-info{display:flex;align-items:center;gap:7px}.habit-tracker-emoji{display:inline-flex;align-items:center;justify-content:center}.habit-tracker-title{font-weight:700;font-size:.9rem}.habit-tracker-meta{display:flex;align-items:center;gap:8px}.habit-tracker-meta-grid,.habit-tracker-side{display:flex;align-items:center;gap:6px}.habit-tracker-caret{color:var(--text-muted);font-size:1.1rem;line-height:1;pointer-events:none;transition:transform var(--transition-fast)}.habit-tracker-caret.open{transform:translateY(1px)}.habit-tracker-expand-btn{align-self:flex-start;padding:6px 10px;font-size:.74rem;border-radius:var(--radius-sm)}.habit-mini-grid{display:grid;grid-template-columns:repeat(7,10px);gap:2px;padding:5px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card)}.habit-mini-cell{width:10px;height:10px;border-radius:2px;border:1px solid transparent}.habit-mini-cell.done{background:var(--success)}.habit-mini-cell.missed{background:color-mix(in srgb,var(--danger) 78%,var(--danger-bg));border-color:color-mix(in srgb,var(--danger) 60%,transparent)}.habit-mini-cell.missed.pending-today{background:transparent;border-color:var(--habit-grid-outline)}.habit-mini-cell.inactive{border-color:var(--border);opacity:.75}.habit-mini-cell.today{outline:1.5px solid var(--accent);outline-offset:0}.habit-delete-controls{display:flex;align-items:center;gap:6px}.habit-delete-controls button{padding:6px 10px;font-size:.74rem}.habit-heatmap-panel{margin-top:6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 90%,transparent);--habit-heatmap-meta-h: 24px;--habit-heatmap-cell-size: 11px;--habit-heatmap-gap: 2px}.habit-heatmap-panel-meta{position:sticky;top:0;z-index:3;min-height:var(--habit-heatmap-meta-h);display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.66rem;font-weight:700;color:var(--text-secondary);padding:4px 7px;border-bottom:1px solid var(--border-light);background:color-mix(in srgb,var(--bg-card) 95%,transparent)}.habit-heatmap-panel-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);font-weight:700}.habit-heatmap-panel-range{flex-shrink:0}.habit-heatmap-scroll{max-height:238px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 6px 6px}.habit-heatmap-wrap{margin-top:0;display:block;width:100%}.habit-streak-badge{display:flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-chip);border:1px solid color-mix(in srgb,var(--accent-500) 52%,var(--accent-300));background:var(--accent-bg-strong);color:var(--accent-600);font-size:.75rem;font-weight:600}.habit-success-rate{font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:var(--radius-chip);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-subtle) 78%,var(--bg-card));color:var(--text-secondary)}.habit-success-rate.high{background:var(--success-bg-strong);border-color:color-mix(in srgb,var(--success) 42%,var(--success-border));color:var(--success-text)}.habit-success-rate.mid{background:var(--warning-bg-strong);border-color:color-mix(in srgb,var(--warning) 44%,var(--warning-border));color:var(--warning-text)}.habit-success-rate.low{background:var(--danger-bg-strong);border-color:color-mix(in srgb,var(--danger) 44%,var(--danger-border));color:var(--danger-text)}.habit-heatmap{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--habit-heatmap-gap);padding:0;width:100%}.habit-heatmap-week-label{grid-column:1 / -1;font-size:.6rem;color:var(--text-light);font-weight:600;padding:2px 0 0;opacity:.6}.habit-heatmap-cell{width:100%;min-width:0;aspect-ratio:1 / 1;border-radius:3px;transition:transform var(--transition-fast);cursor:default;margin:0;padding:0;background:transparent;color:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;line-height:1;display:block;border:1px solid transparent}.habit-heatmap-cell.clickable{cursor:pointer}.habit-heatmap-cell.clickable:hover{transform:scale(1.04);z-index:1}.habit-heatmap-cell.done{background:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.habit-heatmap-cell.missed{background:color-mix(in srgb,var(--danger) 78%,var(--danger-bg));border-color:color-mix(in srgb,var(--danger) 60%,transparent)}.habit-heatmap-cell.missed.pending-today{background:transparent;border-color:var(--habit-grid-outline)}.habit-heatmap-cell.inactive{background:color-mix(in srgb,var(--border-light) 65%,transparent);opacity:.75;border:1px solid var(--border)}.habit-heatmap-cell.future{background:color-mix(in srgb,var(--habit-grid-outline) 8%,transparent);opacity:1;border:2px dashed var(--habit-grid-outline)}.habit-heatmap-cell.today{border-radius:4px;box-shadow:none;outline:2px solid var(--accent);outline-offset:-1px}.habit-heatmap-cell.spacer{visibility:hidden;border-color:transparent;pointer-events:none}.habit-heatmap-cell.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.habit-heatmap-cell.flash{animation:habitCellFlash .18s ease}@keyframes habitCellFlash{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 15%,transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}.habit-heatmap-dayrow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--habit-heatmap-gap);width:100%;padding:3px 2px;margin-bottom:4px;position:sticky;top:var(--habit-heatmap-meta-h);z-index:2;background:color-mix(in srgb,var(--bg-card) 90%,transparent);border:1px solid var(--border-light);border-radius:6px}.habit-heatmap-dayrow span{font-size:.48rem;text-align:center;color:var(--text-light);font-weight:700;opacity:.7}.habit-settings-list{display:flex;flex-direction:column;gap:8px}.habit-settings-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:var(--radius-md);background:var(--bg-subtle);gap:12px}.habit-settings-item-actions{display:flex;align-items:center;gap:6px}.habit-settings-item-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.habit-settings-item-info-edit{flex-direction:column;align-items:stretch;gap:8px}.habit-settings-item-input{width:100%;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.85rem}.habit-settings-item-info .emoji{width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.habit-settings-item-info .title{font-weight:600;font-size:.9rem}.habit-settings-item-info .meta{font-size:.75rem;color:var(--text-light)}.habit-settings-form{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border)}.habit-settings-form-row{display:flex;gap:8px;align-items:center}.habit-settings-form-row input,.habit-settings-form-row select{flex:1;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.85rem}.habit-emoji-picker{display:flex;flex-wrap:wrap;gap:6px}.habit-emoji-picker-compact{gap:6px}.habit-emoji-btn{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;overflow:hidden;transition:all var(--transition-fast)}.habit-emoji-icon{color:currentColor;opacity:.98;display:block}.habit-emoji-btn svg{width:16px;height:16px;display:block}.habit-emoji-btn:hover{border-color:var(--accent);color:var(--accent)}.habit-emoji-btn.selected{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.habit-freq-chips{display:flex;gap:4px;flex-wrap:wrap}.habit-freq-chip{padding:4px 10px;border-radius:var(--radius-chip);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-subtle) 84%,var(--bg-card));cursor:pointer;font-size:var(--type-badge);font-weight:500;transition:all var(--transition-fast)}.habit-freq-chip:hover{border-color:var(--text-primary);background:var(--bg-hover)}.habit-freq-chip.selected{border-color:color-mix(in srgb,var(--accent-300) 72%,var(--border));background:color-mix(in srgb,var(--accent-bg) 78%,var(--bg-card));color:var(--accent-600);font-weight:500}.completion-chart-container{display:flex;flex-direction:column;gap:16px}.completion-chart{width:100%;height:160px;overflow:visible}.chart-grid-line{stroke:var(--border-light);stroke-width:.5;stroke-dasharray:3 3}.chart-area{fill:var(--accent-bg);opacity:.6}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--accent);stroke:var(--bg-card);stroke-width:2;transition:r var(--transition-fast)}.chart-dot:hover{r:5}.chart-label{fill:var(--text-muted);font-size:6px;font-weight:600}.completion-breakdown{display:flex;flex-wrap:wrap;gap:8px}.completion-week-pill{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;transition:all var(--transition-fast);font-size:13px}.completion-week-pill:hover{background:var(--bg-hover)}.completion-week-pill.active{border:1px solid var(--accent);background:transparent;color:var(--accent)}.pill-label{font-weight:600;color:inherit}.pill-value{font-weight:700}.pill-value.high{color:var(--success)}.pill-value.mid{color:var(--accent)}.pill-value.low{color:var(--danger-text)}.pill-detail{color:var(--text-muted);font-size:.75rem}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.divider{border:none;border-top:1px solid var(--border);margin:10px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-grid)}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:flex;flex-direction:column;gap:7px;font-size:var(--type-small);font-weight:500;color:var(--text-secondary)}input,select,textarea{padding:12px 16px;border-radius:var(--radius-input);border:1px solid var(--border);background:var(--bg-card);font-size:var(--type-body);font-family:inherit;color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}input:hover,select:hover,textarea:hover{border-color:var(--text-light)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}input::placeholder{color:var(--text-subtle)}textarea{min-height:110px;resize:vertical;line-height:1.6}.notes-field{min-height:50px;font-size:.85rem;background:var(--bg-subtle);border:1px dashed var(--border);padding:10px 12px;border-radius:var(--radius-md);width:100%;margin-top:8px;resize:none}.notes-field:focus{border-style:solid;border-color:var(--accent-muted);background:var(--bg-card)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239c9590'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:44px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 16px;border-radius:var(--radius-button);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;font-weight:600;font-size:var(--type-small);font-family:inherit;color:var(--text-primary);transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);flex-direction:row;width:auto}button:hover,.button:hover{background:var(--surface-soft-hover);border-color:var(--surface-soft-border-hover);box-shadow:none}button:active,.button:active{transform:none}button.btn-primary{background:var(--accent-gradient);color:#fff;border:none;font-weight:600;box-shadow:var(--shadow-aura-primary);text-shadow:0 1px 2px rgba(0,0,0,.2)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0070f373}.btn-primary:active{transform:translateY(1px);box-shadow:var(--shadow-sm)}.button.accent{background:var(--button-primary-bg);color:var(--button-primary-text);border-color:var(--button-primary-border)}.button.accent:hover{background:var(--button-primary-bg-hover);border-color:var(--button-primary-border)}button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}button.danger{background:var(--danger);color:var(--text-on-accent);border:none}button.danger:hover{background:var(--danger-hover);box-shadow:none}button.ghost-danger{background:transparent;color:var(--danger-text);border-color:color-mix(in srgb,var(--danger-border) 68%,transparent)}button.ghost-danger:hover{background:color-mix(in srgb,var(--danger-bg) 75%,transparent);color:var(--danger-text)}.icon-btn{padding:10px 12px;font-size:1.1rem;line-height:1}.header-cycle-btn{display:inline-flex;align-items:center;gap:6px;font-size:.86rem}.header-cycle-btn-text{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px}.header-cycle-btn-text strong{font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.header-cycle-btn-text em{font-size:.67rem;font-style:normal;color:var(--text-secondary)}.import-btn{display:inline-flex;align-items:center;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.875rem;color:var(--text-primary);transition:all var(--transition-fast)}.import-btn:hover{background:var(--bg-hover);border-color:var(--accent-muted)}.tabs{display:inline-flex;gap:4px;background:color-mix(in srgb,var(--accent-100) 46%,var(--bg-subtle));padding:4px;border-radius:var(--radius-chip);border:1px solid color-mix(in srgb,var(--accent-300) 32%,var(--border));width:auto}.tabs button{border-radius:var(--radius-chip);padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-weight:600;transition:all var(--transition-fast)}.tabs button:hover{background:var(--surface-2);color:var(--text-primary)}.tabs button.active{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-aura-primary);text-shadow:0 1px 2px rgba(0,0,0,.2)}.list{display:flex;flex-direction:column;gap:12px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-card);border-radius:var(--radius-md);padding:16px 18px;border:1px solid var(--border);transition:var(--transition-fast)}.list-item.done{background:var(--bg-subtle);border-color:var(--border)}.list-item.done strong{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--text-muted)}.list-item.done .muted{color:var(--text-secondary)}.list-item.today-block-focus{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}.list-item:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.list-item.column{flex-direction:column;align-items:stretch}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-actions{display:flex;gap:10px;align-items:center}.inline-fields{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.inline-fields input{flex:1;min-width:100px}.block-counter{display:flex;align-items:center;gap:9px;width:100%}.block-counter-shell{width:100%;margin-left:0}.block-progress-row{width:100%;display:flex;align-items:center}.block-counter-value{min-width:62px;font-size:.76rem;font-weight:600;color:var(--text-secondary);text-align:right;line-height:1.2;white-space:nowrap;flex:0 0 auto}.block-counter-side{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.block-counter-adjust-btn{width:20px;min-width:20px;height:20px;border-radius:6px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 92%,var(--bg-subtle));color:var(--text-secondary);font-size:16px;font-weight:700;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center}.block-counter-adjust-btn:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));color:var(--accent);background:color-mix(in srgb,var(--accent-bg) 68%,var(--bg-card))}.block-counter input[type=range]{width:100%;min-width:0;flex:initial}.block-counter-range{--slider-fill: 0%;flex:1 1 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:12px;padding:0;border:0;border-radius:999px;background:linear-gradient(to right,var(--accent) var(--slider-fill),color-mix(in srgb,var(--border) 86%,var(--bg-subtle)) var(--slider-fill));background-repeat:no-repeat!important;background-position:center!important;background-size:100% 1.2px!important;outline:none;width:100%}.block-counter-range::-webkit-slider-runnable-track{height:1.2px;border-radius:999px;background:transparent}.block-counter-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;border:0;background:transparent;box-shadow:none;opacity:0;margin-top:-5.4px}.block-counter-range::-moz-range-track{height:1.2px;border-radius:999px;background:transparent}.block-counter-range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;border:0;background:transparent;box-shadow:none;opacity:0}.block-content{flex:1;display:flex;flex-direction:column;gap:8px}.block-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:10px}.today-list-sections{display:grid;gap:var(--space-grid)}.today-empty-state{display:grid;justify-items:center;gap:10px}.today-empty-state .empty{width:100%}.today-empty-state-smart{width:100%;background:var(--g-bg-elevated);border:1px solid var(--g-border-base);border-radius:var(--g-radius-lg);padding:24px;text-align:center}.today-empty-message{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-bottom:14px;color:var(--g-text-tertiary);font-size:.88rem}.today-empty-icon{font-size:18px;opacity:.56}.today-smart-suggestions{width:100%;margin-bottom:6px}.today-suggestion-label{margin:0 0 10px;font-size:.77rem;color:var(--g-text-secondary)}.today-suggestion-items{display:grid;gap:8px}.today-suggestion-item{width:100%;border:1px solid var(--g-border-base);border-radius:var(--g-radius-md);background:var(--g-bg-subtle);color:var(--g-text-secondary);min-height:36px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:space-between;gap:8px}.today-suggestion-item:hover:not(:disabled){border-color:color-mix(in srgb,var(--g-accent) 50%,var(--g-border-base));background:var(--g-accent-subtle);color:var(--g-accent);transform:translate(4px)}.today-suggestion-item svg{opacity:.58;transition:opacity var(--duration-fast) var(--ease-standard)}.today-suggestion-item:hover svg{opacity:1}.today-suggestion-item:disabled{opacity:.54;cursor:not-allowed}.today-empty-add-btn{min-height:36px;padding:8px 14px;border:1px solid var(--color-accent-base);border-radius:var(--g-radius-md);background:var(--color-accent-base);color:#fff;display:inline-flex;align-items:center;gap:8px}.today-empty-add-btn:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover);color:#fff}.today-blocks-group{display:grid;gap:8px}.today-blocks-group-header{display:grid;gap:3px}.today-blocks-group-header h4{margin:0;font-size:.84rem;font-weight:700}.today-open-target-item{gap:8px;padding:12px 14px}.today-open-target-chip{flex:0 0 auto}.today-open-target-meta{margin-left:auto;text-align:right;font-size:13px;font-weight:400;color:var(--g-text-secondary)}.today-open-target-item .progress-bar{background:#0000000f;border:none;height:6px;border-radius:3px}.today-open-target-item .progress-bar-fill{background:var(--open-target-accent, var(--accent));box-shadow:none;border-radius:3px}.planner-block-card{align-items:flex-start;position:relative;overflow:hidden;transition:border-color var(--transition-fast),background-color var(--transition-fast),opacity var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.today-list-sections .planner-block-card{padding:12px 14px;gap:12px}.today-list-sections .planner-block-card:before{top:8px;bottom:8px}.today-list-sections .block-content{gap:6px}.today-list-sections .planner-block-header{gap:8px}.today-list-sections .planner-block-heading{line-height:1.2}.today-list-sections .planner-meta-row{min-height:20px;gap:6px}.today-list-sections .planner-meta-chip{min-height:20px;padding:1px 7px}.today-list-sections .planner-block-progress{gap:4px}.today-list-sections .block-counter{gap:7px}.planner-block-card:before{content:"";position:absolute;top:10px;bottom:10px;left:6px;width:2px;border-radius:999px;background:color-mix(in srgb,var(--accent-400) 58%,transparent);opacity:0;transition:opacity var(--transition-fast),background-color var(--transition-fast)}.planner-block-card:hover:before{opacity:1}.planner-block-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:transparent;opacity:0}.planner-block-card.has-target-accent{border-color:color-mix(in srgb,var(--planner-target-accent, var(--accent-300)) 40%,var(--g-border-base))}.planner-block-card.has-target-accent:before{background:var(--planner-target-accent, var(--accent-400));opacity:.72}.planner-block-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.planner-block-heading{min-width:0;margin:0;font-size:15px;font-weight:500;line-height:1.32;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-block-actions{display:inline-flex;align-items:center;gap:7px}.planner-completion-track{--completion-progress: 0;width:26px;min-width:26px;height:26px;border-radius:6px;position:relative;border:2px solid var(--border);background:transparent;overflow:hidden;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.planner-completion-track:before{display:none}.planner-completion-track.is-slide-enabled{border-color:color-mix(in srgb,var(--border) 84%,transparent)}.planner-completion-track.is-dragging:before{transition:none}.planner-completion-track.is-done{border-color:var(--g-success-text);background:var(--g-success-text)}.planner-completion-handle{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-width:100%;height:100%;min-height:100%;margin:0;border:0;border-radius:0;background:transparent;color:var(--g-bg-base);display:flex;align-items:center;justify-content:center;line-height:1;font-size:0;transform:none!important;transition:opacity var(--transition-fast);box-shadow:none;padding:0;opacity:0;z-index:1}.planner-completion-handle svg{width:16px;height:16px}.planner-completion-track.is-slide-enabled .planner-completion-handle,.planner-completion-track.is-click-enabled .planner-completion-handle{cursor:pointer}.planner-completion-track.is-click-enabled:hover{border-color:var(--g-text-secondary)}.planner-completion-track.is-done .planner-completion-handle{background:transparent;color:var(--g-bg-base);opacity:1}.planner-completion-track.is-dragging .planner-completion-handle{transition:none}.planner-completion-track.is-animating .planner-completion-handle{animation:planner-check-pop .26s ease}.planner-completion-track.is-animating .planner-completion-handle svg path{stroke-dasharray:22;stroke-dashoffset:22;animation:planner-check-draw .22s ease forwards}.planner-meta-row{min-height:24px;width:100%;display:flex;align-items:center;gap:8px}.planner-meta-chip{display:inline-flex;align-items:center;gap:6px;min-height:22px;max-width:100%;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.2}.planner-target-chip{max-width:min(68%,320px);border-color:color-mix(in srgb,var(--planner-target-accent, var(--accent-300)) 50%,var(--g-border-base));background:#fff;color:color-mix(in srgb,var(--planner-target-accent, var(--accent)) 80%,var(--g-text-primary))}.planner-target-dot{width:7px;height:7px;border-radius:999px;flex:0 0 auto;background:var(--planner-target-accent, var(--accent-500))}.planner-target-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-meta-spacer{flex:1 1 auto;min-width:0}.planner-status-chip{margin-left:auto}.planner-status-chip.done{color:var(--success);border-color:var(--success);background:transparent}.planner-status-chip.pending{color:var(--text-secondary);border-color:var(--border);background:transparent}.planner-status-chip.is-interactive{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;box-shadow:none;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.planner-status-chip.is-interactive:hover{border-color:var(--text-primary);background:var(--bg-hover);color:var(--text-primary)}.planner-status-chip.is-interactive:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 24%,transparent);outline-offset:1px}.planner-block-card.done{opacity:.94}.planner-block-card.done strong{text-decoration:none}.planner-block-card.done .planner-block-heading{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--text-muted) 60%,transparent)}.planner-block-card.is-completing{animation:planner-card-pop .26s ease}.planner-block-card.is-completing:after{animation:planner-card-glow .8s ease}.planner-block-progress{display:grid;gap:6px}@keyframes planner-card-pop{0%{transform:scale(1)}40%{transform:scale(1.005)}to{transform:scale(1)}}@keyframes planner-card-glow{0%{opacity:0}45%{opacity:.3}to{opacity:0}}@keyframes planner-check-pop{0%{transform:translate(calc(var(--completion-progress) * 26px)) scale(1)}45%{transform:translate(calc(var(--completion-progress) * 26px)) scale(1.12)}to{transform:translate(calc(var(--completion-progress) * 26px)) scale(1)}}@keyframes planner-check-draw{to{stroke-dashoffset:0}}.today-block-editor-sheet{width:min(560px,100%)}.today-block-editor-fields{display:grid;gap:10px}.today-block-editor-time-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed var(--border);border-radius:var(--radius-md);padding:10px 12px;background:color-mix(in srgb,var(--bg-subtle) 74%,var(--bg-card))}.today-block-editor-time-copy{display:grid;gap:3px}.today-block-editor-time-label{font-size:.73rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.today-block-editor-time-cta p{margin:0;font-size:.82rem}.today-block-time-grid{gap:10px}.today-block-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.today-block-sheet-close{flex:0 0 auto}.today-block-sheet-close:hover{border-color:var(--border);background:var(--bg-hover);color:var(--text-primary)}.block-meta-row{display:flex;align-items:center;gap:10px;width:100%}.block-link{font-size:.85rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-link-empty{min-height:20px}.block-delete-x{width:32px;min-width:32px;height:32px;padding:7px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-light);font-size:.9rem;line-height:1;display:flex;align-items:center;justify-content:center}.block-delete-x svg{width:18px;height:18px}.block-delete-x:hover{border-color:color-mix(in srgb,var(--danger) 28%,transparent);background:color-mix(in srgb,var(--danger-bg) 72%,transparent);color:var(--danger)}.block-edit-btn{width:32px;min-width:32px;height:32px;padding:7px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-light);font-size:.9rem;line-height:1;display:flex;align-items:center;justify-content:center}.block-edit-btn svg{width:18px;height:18px}.block-edit-btn:hover{border-color:color-mix(in srgb,var(--accent) 32%,transparent);background:color-mix(in srgb,var(--accent-bg) 70%,transparent);color:var(--accent)}.block-edit-btn.active{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent-bg) 72%,var(--bg-card));color:var(--accent)}.list-item.touch-drag-active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent-bg) 48%,var(--bg-card));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.list-item.touch-drag-over{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--bg-hover) 70%,var(--bg-card))}.week-goal-row,.week-target-row{align-items:flex-start;gap:10px;width:100%}.week-goal-main,.week-target-main{flex:1;min-width:0}.week-goal-display,.week-target-body{min-width:0}.week-goal-display{display:flex;flex-direction:column;gap:4px}.week-goal-title,.week-goal-metric,.week-target-title,.week-target-summary{white-space:normal;overflow-wrap:anywhere}.week-goal-row.editing,.week-target-item.editing{border-color:var(--week-target-accent, var(--accent-300));background:var(--bg-card)}.week-target-item.focus-highlight{border-color:var(--week-target-accent, var(--accent-300));box-shadow:0 0 0 1px var(--week-target-accent, var(--accent-300)),var(--shadow-sm);transition:border-color .22s ease,box-shadow .22s ease}.week-row-actions,.week-target-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.week-edit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.week-edit-btn{padding:8px 10px;font-size:.95rem;line-height:1;color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-light)}.week-edit-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.week-inline-edit{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:8px}.week-target-head{display:flex;align-items:flex-start;width:100%;min-width:0;gap:4px}.week-target-body{display:flex;flex-direction:column;gap:2px;flex:1}.week-target-item{--week-target-accent: var(--accent-300);padding:12px 14px;gap:8px}.week-target-item.has-target-accent{border-color:var(--week-target-accent, var(--accent-300));background:var(--bg-card)}.week-target-edit-fields{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 96px 120px minmax(180px,1fr);gap:8px}.week-target-edit-color-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.week-target-color-picker{display:grid;gap:6px}.week-target-color-picker-label{font-size:.74rem;font-weight:600;color:var(--text-secondary)}.week-target-color-link-hint{font-size:.72rem;color:var(--text-muted)}.week-target-color-grid{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.week-target-color-swatch{width:24px;min-width:24px;height:24px;min-height:24px;padding:0;border-radius:8px;border:1px solid var(--week-target-accent, var(--accent-300));background:var(--week-target-accent, var(--accent-200));color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.week-target-color-swatch:hover{transform:translateY(-1px)}.week-target-color-swatch.selected{border-color:var(--week-target-accent, var(--accent-300));box-shadow:0 0 0 1px var(--week-target-accent, var(--accent-300))}.week-target-color-swatch:disabled{opacity:.5;cursor:not-allowed;transform:none}.week-target-item .progress-bar{border-color:color-mix(in srgb,var(--week-target-accent, var(--accent)) 30%,transparent);background:color-mix(in srgb,var(--week-target-accent, var(--accent)) 15%,transparent)}.week-target-item .progress-bar-fill{background:var(--week-target-accent, var(--accent))}.week-target-done{min-width:18px;text-align:center;font-weight:600}.week-target-controls{justify-content:space-between;width:min(360px,100%)}.week-target-stepper{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:transparent}.week-target-stepper button{width:28px;min-width:28px;height:28px;padding:0;border-radius:var(--radius-chip);border:1px solid var(--border);background:var(--bg-card);font-weight:700}.week-target-item .progress-bar-wrapper{padding-top:12px}.week-target-item .progress-bar{height:8px}.week-target-stepper button:hover{background:var(--bg-hover);border-color:var(--text-light)}.week-target-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.week-tab-card{gap:var(--space-grid)}.week-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:-6px}.week-name-label{font-family:var(--font-headline);font-size:.96rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:var(--text-primary)}.week-name-edit-btn{border:1px dashed var(--border);background:var(--bg-subtle);color:var(--text-secondary);min-height:30px;padding:4px 10px;font-size:.78rem;font-weight:700}.week-name-edit-btn.icon-only{width:30px;min-width:30px;height:30px;padding:0;border-style:solid}.week-name-editor{width:100%;display:grid;gap:8px}.week-name-editor input{max-width:460px}.week-selected-week-note{margin:-6px 0 0;font-size:.84rem}.week-selected-week-note p{margin:0}.week-selected-week-note.planning{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:color-mix(in srgb,var(--bg-subtle) 72%,transparent);color:var(--text-secondary)}.week-selected-week-note-copy{display:grid;gap:2px}.week-jump-current-btn{min-height:30px;padding:4px 10px;border-radius:var(--radius-chip);border:1px solid color-mix(in srgb,var(--accent-300) 70%,var(--border));background:color-mix(in srgb,var(--accent-bg) 70%,var(--bg-card));color:var(--accent-600);font-size:.76rem;font-weight:600;white-space:nowrap}.week-jump-current-btn:hover{border-color:color-mix(in srgb,var(--accent-400) 76%,var(--border));background:color-mix(in srgb,var(--accent-bg) 82%,var(--bg-card))}.week-goals-context-card{gap:var(--space-grid)}.week-goals-context-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.week-goals-context-header h3{margin:0}.week-goals-readonly-list{gap:10px}.week-focus-goal-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-card);box-shadow:var(--shadow-sm)}.week-focus-goal-index{min-width:26px;min-height:22px;justify-content:center;padding:2px 8px;border-color:color-mix(in srgb,var(--goal-accent, var(--accent-300)) 70%,var(--border));background:transparent;color:color-mix(in srgb,var(--goal-accent, var(--accent-600)) 84%,var(--text-primary))}.week-focus-goal-content{gap:6px}.week-focus-goal-title{font-size:.95rem}.week-focus-goal-metric{margin:0;max-width:min(100%,360px);width:fit-content;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-target-goal-chip{width:fit-content;max-width:min(100%,360px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-targets-main-card{gap:var(--space-grid)}.week-targets-main-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.week-targets-main-title{display:inline-flex;align-items:center;gap:10px}.week-targets-main-header h3{margin:0}.week-target-plus-btn{border:none;background:transparent;color:var(--accent);font-size:1.4rem;line-height:1;font-weight:700;padding:0 2px;cursor:pointer;border-radius:6px;transition:color var(--transition-fast),background var(--transition-fast),text-decoration-color var(--transition-fast);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px}.week-target-plus-btn:hover{color:var(--accent-hover);text-decoration-color:currentColor}.week-target-composer-toggle-row{justify-content:flex-start}.week-target-composer{display:grid;gap:10px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-subtle) 72%,transparent);padding:12px}.week-target-progress-simple{font-size:.8rem;font-weight:600;line-height:1.2}.week-review-main-card{gap:10px;background:var(--bg-subtle)}.week-review-content{display:grid;gap:10px}.week-review-content h3{margin:0}.week-review-hint{margin:0;font-size:.86rem}.journal-view{gap:var(--space-grid)}.journal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.journal-subtitle{margin-top:4px}.journal-header-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.journal-add-btn{min-height:36px}.journal-filter-toggle-btn{min-height:36px;padding:8px 12px}.journal-filter-toggle-btn.active{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent-bg) 60%,var(--bg-card));color:var(--accent-hover)}.journal-entry-form{gap:12px}.journal-composer-type-row{display:flex;flex-wrap:wrap;gap:8px}.journal-feed-toolbar{display:grid;gap:12px}.journal-filter-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.journal-filter-panel-header strong{font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary)}.journal-filter-row{display:grid;gap:6px}.journal-filter-label{font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--text-muted);text-transform:uppercase}.journal-filter-label-row{display:inline-flex;align-items:center;gap:6px}.journal-label-settings-btn{width:22px;min-width:22px;height:22px;padding:0;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary)}.journal-label-settings-btn:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--accent-hover)}.journal-filter-chip-row{display:flex;flex-wrap:wrap;gap:8px}.journal-label-chip-row .journal-label-chip{width:var(--journal-label-chip-width, 13ch);min-width:var(--journal-label-chip-width, 13ch);max-width:var(--journal-label-chip-width, 13ch);justify-content:center;text-align:center}.journal-filter-chip{--journal-base-color: var(--text-secondary);display:inline-flex;align-items:center;padding:6px 14px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-chip);font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.journal-filter-chip:hover{background:color-mix(in srgb,var(--journal-base-color) 8%,transparent);border-color:color-mix(in srgb,var(--journal-base-color) 25%,transparent);color:var(--text-primary)}.journal-filter-chip.active{--journal-base-color: var(--accent);background:var(--journal-base-color);border-color:var(--journal-base-color);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:var(--shadow-aura-primary)}.journal-filter-chip.journal-label-chip{--journal-base-color: var(--journal-context-bg, var(--text-secondary));background:color-mix(in srgb,var(--journal-base-color) 12%,transparent);border-color:color-mix(in srgb,var(--journal-base-color) 30%,transparent);color:color-mix(in srgb,var(--journal-base-color) 65%,var(--text-primary));justify-content:center;text-align:center}.journal-filter-chip.journal-label-chip:hover{background:color-mix(in srgb,var(--journal-base-color) 20%,transparent);border-color:color-mix(in srgb,var(--journal-base-color) 50%,transparent);color:color-mix(in srgb,var(--journal-base-color) 80%,var(--text-primary))}.journal-filter-chip.journal-label-chip.active{background:var(--journal-base-color);border-color:var(--journal-base-color);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 4px 12px color-mix(in srgb,var(--journal-base-color) 40%,transparent)}.journal-filter-chip.journal-label-chip-none{--journal-base-color: var(--text-muted)}.journal-feed-root{display:grid;gap:var(--space-grid)}.journal-month-group{display:grid;gap:10px}.journal-month-toggle{width:100%;min-height:38px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;text-align:left}.journal-month-toggle:hover{background:var(--bg-hover);border-color:var(--border)}.journal-month-meta{min-width:24px;height:24px;padding:0 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:700}.journal-card-list{display:grid;gap:10px}.journal-card,.journal-entry-card{--journal-entry-action-top: 8px;position:relative;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);display:flex;flex-direction:column;gap:8px;min-height:92px;box-shadow:var(--shadow-sm)}.journal-card.clickable,.journal-entry-card.clickable{cursor:pointer}.journal-card.clickable:hover,.journal-entry-card.clickable:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.journal-card-date{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:3px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);font-size:.75rem;font-weight:600}.journal-card h4,.journal-entry-card h4{font-size:.94rem;font-weight:700;line-height:1.35}.journal-card p,.journal-entry-card p{margin:0;font-size:.84rem;line-height:1.45}.journal-entry-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-right:28px}.journal-entry-type{--journal-base-color: var(--text-secondary);display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:var(--radius-chip);border:1px solid color-mix(in srgb,var(--journal-base-color) 30%,transparent);background:color-mix(in srgb,var(--journal-base-color) 15%,transparent);color:color-mix(in srgb,var(--journal-base-color) 65%,var(--text-primary));font-size:.72rem;font-weight:700;letter-spacing:.01em}.journal-entry-type.daily{--journal-base-color: var(--accent)}.journal-entry-type.weekly{--journal-base-color: #0EA5E9}.journal-entry-type.quick,.journal-entry-type.note{--journal-base-color: #A855F7}.journal-entry-type.custom{--journal-base-color: var(--text-muted)}.journal-entry-meta-row .journal-entry-context{--journal-base-color: var(--journal-context-bg, var(--text-secondary));display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:var(--radius-chip);border:1px solid color-mix(in srgb,var(--journal-base-color) 30%,transparent);background:color-mix(in srgb,var(--journal-base-color) 15%,transparent);color:color-mix(in srgb,var(--journal-base-color) 65%,var(--text-primary));font-size:.71rem;font-weight:700;letter-spacing:.01em}.journal-entry-meta-dot{color:var(--text-muted);font-size:.8rem;font-weight:700}.journal-entry-date{color:var(--text-muted);font-size:.75rem;font-weight:600}.journal-entry-signal-row{display:inline-flex;flex-wrap:wrap;gap:4px}.journal-entry-signal{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);font-size:.71rem;font-weight:700;letter-spacing:.01em}.journal-entry-signal.win{background:color-mix(in srgb,var(--success-bg) 84%,var(--bg-card));border-color:color-mix(in srgb,var(--success) 34%,var(--border));color:var(--success)}.journal-entry-signal.challenge{background:color-mix(in srgb,var(--danger-bg) 84%,var(--bg-card));border-color:color-mix(in srgb,var(--danger) 34%,var(--border));color:var(--danger)}.journal-entry-signal.next_step{background:color-mix(in srgb,var(--warning-bg) 86%,var(--bg-card));border-color:color-mix(in srgb,var(--warning) 35%,var(--border));color:color-mix(in srgb,var(--warning) 70%,#6a4f00)}.journal-entry-signal.note{background:var(--bg-subtle);border-color:var(--border);color:var(--text-secondary)}.journal-entry-lines{display:grid;gap:5px}.journal-entry-line{margin:0;font-size:.83rem;line-height:1.45}.journal-entry-line.positive{color:var(--success)}.journal-entry-line.negative{color:var(--danger)}.journal-entry-line.neutral,.journal-entry-preview{color:var(--text-secondary)}.journal-delete-x{position:absolute;right:8px;top:var(--journal-entry-action-top);width:24px;min-width:24px;height:24px;padding:0;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--text-light);font-size:.85rem;line-height:1}.journal-delete-x:hover{border-color:color-mix(in srgb,var(--danger) 28%,transparent);background:color-mix(in srgb,var(--danger-bg) 72%,transparent);color:var(--danger)}.journal-entry-mode-icon{position:absolute;right:36px;top:var(--journal-entry-action-top);width:24px;height:24px;border-radius:7px;border:1px solid var(--border);background:var(--bg-subtle);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.journal-entry-mode-icon.note{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent-bg) 80%,var(--bg-card));color:var(--accent-hover)}.journal-entry-mode-icon.review{border-color:var(--border);background:var(--bg-subtle);color:var(--text-muted)}.quick-note-fab{position:fixed;right:24px;bottom:24px;width:54px;height:54px;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-lg);z-index:900}.quick-note-fab:hover{background:var(--accent-hover);border-color:color-mix(in srgb,var(--accent) 65%,var(--border))}.quick-note-fab:disabled{opacity:.35}.quick-note-backdrop{z-index:1200}.quick-note-modal{max-width:560px;width:min(560px,100%);gap:12px}.quick-note-subtitle{margin-top:-4px}.quick-note-meta{margin-top:-2px;font-size:.8rem}.quick-note-context-picker{position:relative}.quick-note-context-trigger{width:100%;min-height:38px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.quick-note-context-trigger:hover{border-color:color-mix(in srgb,var(--accent-300) 62%,var(--border))}.quick-note-context-trigger.open{border-color:color-mix(in srgb,var(--accent-300) 76%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-300) 20%,transparent)}.quick-note-context-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-small);font-weight:600}.quick-note-context-trigger-right{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.quick-note-context-caret{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform var(--transition-fast),color var(--transition-fast)}.quick-note-context-caret.open{transform:rotate(90deg);color:var(--text-secondary)}.quick-note-context-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--border) 88%,var(--text-light));background:var(--bg-card);box-shadow:var(--shadow-md);max-height:220px;overflow:auto;padding:4px;display:grid;gap:2px}.quick-note-context-option{width:100%;border:1px solid transparent;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--text-primary);padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font-size:var(--type-small);font-weight:600}.quick-note-context-option:hover{background:color-mix(in srgb,var(--bg-hover) 82%,var(--bg-card));border-color:color-mix(in srgb,var(--border) 90%,var(--text-light))}.quick-note-context-option.active{border-color:color-mix(in srgb,var(--accent-300) 70%,var(--border));background:color-mix(in srgb,var(--accent-100) 40%,var(--bg-card))}.quick-note-context-dot{--quick-note-context-color: var(--text-muted);width:10px;min-width:10px;height:10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--quick-note-context-color) 70%,var(--border));background:var(--quick-note-context-color)}.quick-note-context-dot.none{border-color:color-mix(in srgb,var(--border) 84%,var(--text-light));background:transparent}.warning-text{color:color-mix(in srgb,var(--warning) 72%,var(--text-primary));font-size:.84rem}.error-text{color:var(--danger);font-size:.84rem}.success-text{color:var(--success);font-size:.84rem}.empty{font-style:normal;color:var(--text-secondary);text-align:center;padding:24px;background:color-mix(in srgb,var(--accent-100) 30%,var(--bg-card));border-radius:var(--radius-md);border:1px dashed color-mix(in srgb,var(--accent-300) 36%,var(--border))}.hint{font-size:.8rem;color:var(--text-muted);margin-top:2px}.sortable{min-height:50px}.draggable{cursor:grab;position:relative;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}.draggable:active{cursor:grabbing}.draggable.dragging{opacity:.5;transform:scale(.98);box-shadow:var(--shadow-lg);background:var(--bg-card);z-index:10}.draggable:not(.dragging):hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.list-item.draggable:before{content:"⋮⋮";position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.9rem;opacity:0;transition:opacity .15s ease}.list-item.draggable:hover:before{opacity:.5}.template-section{margin-top:8px}.template-section h4{margin:0 0 12px;font-size:.9rem;color:var(--text-secondary)}.template-list{display:flex;flex-direction:column;gap:8px}.template-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light)}.button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row.compact{gap:4px}.button-row.compact button{padding:6px 10px;font-size:.8rem}.muted{color:var(--text-secondary);font-size:.875rem}.banner{background:var(--accent-bg);border:1px solid var(--accent-muted);padding:14px 20px;border-radius:var(--radius-md);color:var(--accent-hover);font-weight:500;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:12px}.banner-actions{display:flex;align-items:center;gap:8px}.safety-banner{background:color-mix(in srgb,var(--warm-blue-bg) 70%,transparent);border-color:color-mix(in srgb,var(--warm-blue) 30%,transparent);color:var(--text-primary)}.warning-banner{background:color-mix(in srgb,var(--danger-bg) 70%,transparent);border-color:color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger)}.toggle{display:flex;align-items:center;gap:10px;font-size:.875rem;cursor:pointer;color:var(--text-secondary);font-weight:500}.toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;border-radius:4px}.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.chip{padding:2px 6px;border-radius:var(--radius-sm);background:var(--chip-bg);border:1px solid var(--chip-border);font-family:var(--font-mono);font-weight:500;font-size:var(--type-badge);line-height:var(--line-badge);text-transform:uppercase;letter-spacing:.05em;text-align:center;transition:var(--transition-fast);cursor:pointer;color:var(--chip-text)}.chip:hover{border-color:var(--chip-hover-border);background:var(--chip-hover-bg);color:var(--chip-hover-text)}.chip.active{background:var(--chip-accent-bg);color:var(--chip-accent-text);border-color:var(--chip-accent-border)}.score{display:flex;flex-direction:column;gap:8px}.score-line{display:flex;align-items:center;gap:12px}.badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--chip-border);font-family:var(--font-mono);font-weight:500;font-size:var(--type-badge);line-height:var(--line-badge);text-transform:uppercase;letter-spacing:.05em;background:var(--chip-bg);color:var(--chip-text)}.badge.green{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.badge.yellow{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.badge.red{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.score-card{background:var(--bg-card);border-radius:var(--radius-md);padding:16px;border:1px solid var(--border-light);display:flex;flex-direction:column;gap:6px}.section-actions{display:flex;align-items:flex-end;justify-content:flex-end}.weeks{display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:6px}.week-chip{display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);font-size:.8rem;font-weight:500;color:var(--text-secondary);transition:var(--transition-fast)}.week-chip:hover{border-color:var(--accent-muted);color:var(--text-primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1100;animation:fadeIn .2s ease}.modal{width:min(700px,100%);max-height:min(88vh,920px);overflow-y:auto;display:flex;flex-direction:column;gap:16px;border-radius:var(--radius-card)}.modal-content{background:var(--glass-modal);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border-radius:var(--radius-card);padding:24px;max-width:480px;width:90%;animation:modal-slide-in .2s ease-out forwards;position:relative;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);display:flex;flex-direction:column;gap:16px;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1150;background:var(--overlay-scrim-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.overlay-card{width:min(760px,100%);max-height:min(85vh,860px);overflow:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:20px;display:flex;flex-direction:column;gap:14px}.overlay-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.search-overlay-card{width:min(780px,100%)}.search-overlay-input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card)}.search-overlay-results{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;min-height:90px}.details-overlay-card{width:min(420px,100%)}.details-progress-block{display:flex;align-items:center;gap:16px}.habits-manager-card{width:min(920px,100%)}.cycle-drawer{width:min(980px,100%)}.cycle-section{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-subtle)}.cycle-status-section{gap:12px}.cycle-status-header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.cycle-status-main{display:flex;align-items:center;justify-content:center;gap:18px}.cycle-status-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:124px;min-height:124px}.cycle-status-ring .progress-ring-text{display:none}.cycle-status-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;pointer-events:none}.cycle-status-ring-value{font-size:1.4rem;font-weight:800;line-height:1;color:var(--text-primary)}.cycle-status-ring-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary)}.cycle-goal-item{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card)}.cycle-goal-edit{flex:1;display:grid;gap:6px}.cycle-goal-add{display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px}.cycle-goals-section{text-align:left}.cycle-goal-list{margin-bottom:2px}.cycle-goal-card{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px}.cycle-goal-card.dragging{opacity:.58;border-color:color-mix(in srgb,var(--accent) 60%,var(--border))}.cycle-goal-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.cycle-goal-edit-btn{width:34px;height:34px}.cycle-goal-drag-handle{margin-right:0}.cycle-actions-footer .button-row{justify-content:flex-end}.cycle-overview-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.cycle-overview-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;background:var(--bg-card);display:flex;flex-direction:column;gap:4px}.plan-tab-card{gap:var(--space-grid)}.plan-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-grid)}.plan-goal-chip{--goal-accent: var(--accent-300);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--goal-accent) 34%,var(--border));background:var(--bg-card);padding:11px;display:grid;gap:4px}.plan-goal-chip strong{font-size:.9rem;line-height:1.32}.plan-goal-chip span{font-size:.78rem;color:var(--text-secondary)}.plan-goal-chip input{width:100%}.plan-goal-add-btn{width:32px;min-width:32px;height:32px;padding:0}.plan-goal-editor{display:grid;gap:10px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-subtle) 62%,var(--bg-card))}.plan-goal-color-row{display:grid;gap:6px}.plan-goal-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.plan-roadmap-list{display:grid;gap:10px}.plan-roadmap-row{width:100%;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);color:inherit;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-roadmap-row:hover{border-color:color-mix(in srgb,var(--accent) 36%,transparent);box-shadow:var(--shadow-sm)}.plan-roadmap-main{display:grid;gap:2px;text-align:left}.plan-roadmap-main strong{font-size:.88rem}.plan-roadmap-main span,.plan-roadmap-main em{font-size:.76rem;color:var(--text-secondary)}.plan-roadmap-main em{font-style:normal}.plan-roadmap-meta{display:flex;align-items:center;gap:8px}.plan-roadmap-percent{min-width:52px;text-align:right;font-size:.82rem;font-weight:700;color:var(--accent-hover)}.plan-roadmap-review{border-radius:var(--radius-chip);border:1px solid var(--border);padding:2px 8px;font-size:var(--type-badge);font-weight:600;color:var(--text-secondary);text-transform:none;letter-spacing:0}.plan-roadmap-review.done{border-color:color-mix(in srgb,var(--success) 38%,transparent);color:var(--success);background:color-mix(in srgb,var(--success-bg) 70%,transparent)}.plan-habits-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.plan-habit-chip{width:100%;min-height:36px;justify-content:flex-start;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--bg-subtle) 78%,var(--bg-card));border-color:color-mix(in srgb,var(--border) 86%,transparent);color:var(--text-primary);font-size:.84rem;font-weight:600}.plan-habit-chip:hover{border-color:color-mix(in srgb,var(--accent-300) 72%,var(--border));background:color-mix(in srgb,var(--accent-bg) 68%,var(--bg-card))}.plan-habit-chip-icon{flex:0 0 auto;color:var(--accent-600)}.plan-habit-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-nav-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.today-nav-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.today-calendar-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:1rem;overflow:hidden}.today-calendar-trigger:hover{border-color:var(--accent-muted);color:var(--accent)}.today-calendar-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.today-week-strip{flex:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;touch-action:pan-y}.today-week-strip-nav{display:flex;align-items:stretch;gap:8px;margin-bottom:12px}.today-view-toggle-row{display:flex;justify-content:flex-end;margin-bottom:12px}.today-hero-row{display:grid;grid-template-columns:minmax(320px,1.45fr) minmax(220px,1fr);gap:16px}.today-hero-card{position:relative;overflow:hidden;min-height:168px;padding:16px 18px;gap:10px;transition:all .3s ease}.today-hero-card h3{margin:0;font-size:clamp(1.22rem,1rem + .45vw,1.45rem);line-height:1.16}.today-hero-card strong{font-size:clamp(1.52rem,1.1rem + .7vw,1.84rem);letter-spacing:-.02em;line-height:1.05;transition:all .3s ease}.today-hero-card-progress{border-color:color-mix(in srgb,var(--accent-300) 44%,var(--border))}.today-hero-card-progress.is-complete{border-color:color-mix(in srgb,var(--accent-400) 76%,var(--border));box-shadow:var(--shadow-sm),0 0 0 1px color-mix(in srgb,var(--accent-300) 28%,transparent),0 0 24px color-mix(in srgb,var(--accent-500) 22%,transparent)}.today-hero-mainline{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.today-hero-progress-ring{display:inline-flex;align-items:center;justify-content:center;transition:all .3s ease}.today-hero-main{display:grid;gap:4px;transition:all .3s ease}.today-hero-card .progress-bar,.today-hero-card .progress-bar-fill{transition:all .3s ease}.today-hero-card .progress-ring-fill{transition:stroke-dashoffset .3s ease}.today-hero-watermark{position:absolute;top:8px;right:10px;color:color-mix(in srgb,var(--accent-400) 28%,transparent);opacity:.22;pointer-events:none}.today-hero-secondary{margin:0;font-family:var(--font-sans);font-size:var(--type-small);font-weight:600;letter-spacing:.005em;color:var(--text-muted)}.today-hero-habit-quick-access{display:grid;gap:6px;margin-top:auto}.today-hero-habit-empty{margin:0;font-size:var(--type-small)}.today-hero-habit-bubbles{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.today-hero-habit-bubble{width:30px;height:30px;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 85%,var(--accent-200));background:color-mix(in srgb,var(--bg-card) 90%,var(--bg-subtle));color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.today-hero-habit-bubble:hover{border-color:color-mix(in srgb,var(--accent-300) 74%,var(--border));background:color-mix(in srgb,var(--accent-bg) 54%,var(--bg-card));color:var(--accent-600)}.today-hero-habit-bubble.done{border-color:color-mix(in srgb,var(--success-border) 82%,var(--border));background:color-mix(in srgb,var(--success-bg) 86%,var(--bg-card));color:var(--success-text)}.today-hero-habit-bubble:disabled{cursor:not-allowed;opacity:.58}.today-hero-habit-overflow{min-width:30px;height:30px;padding:0 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 86%,var(--text-light));background:color-mix(in srgb,var(--bg-subtle) 84%,var(--bg-card));color:var(--text-secondary);font-family:var(--font-sans);font-size:.72rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.today-hero-card-week{border-color:color-mix(in srgb,var(--warm-blue-border) 44%,var(--border));padding-bottom:48px}.today-hero-week-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.today-hero-week-link{position:absolute;right:12px;bottom:12px;width:29px;min-width:29px;height:29px;min-height:29px;padding:0;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--border) 84%,var(--warm-blue-border));background:color-mix(in srgb,var(--bg-card) 90%,var(--bg-subtle));color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:2}.today-hero-week-link:hover{color:var(--warm-blue-text);border-color:color-mix(in srgb,var(--warm-blue-border) 84%,var(--border));background:color-mix(in srgb,var(--warm-blue-bg) 74%,var(--bg-card))}.today-hero-week-link svg{transform:rotate(-35deg)}.today-hero-priority-title{margin:0;font-family:var(--font-sans);font-size:.95rem;font-weight:600;line-height:1.3;color:var(--text-primary)}.today-hero-priority-title.complete{color:var(--success-text)}.today-hero-priority-meta{margin:0;font-family:var(--font-sans);font-size:.78rem;line-height:1.35}.today-hero-week-day{margin-top:auto;margin-bottom:0;font-family:var(--font-sans);font-size:.78rem;letter-spacing:.005em}body.dark-mode .today-hero-watermark{opacity:.28;color:color-mix(in srgb,var(--accent-400) 46%,transparent)}.today-view-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-subtle) 82%,var(--bg-card))}.today-view-toggle button{min-height:30px;padding:4px 12px;border-radius:var(--radius-chip);border:none;background:transparent;color:var(--text-secondary);font-size:var(--type-badge);font-weight:500}.today-view-toggle button:hover{color:var(--text-primary)}.today-view-toggle button.active{background:color-mix(in srgb,var(--accent-bg) 72%,var(--bg-card));color:var(--accent-600);box-shadow:var(--shadow-sm)}.today-dayplan-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.today-dayplan-header h3{margin:0}.today-dayplan-header-actions{display:inline-flex;align-items:center;gap:8px}.today-dayplan-add-btn{min-width:38px;min-height:32px;padding:0 10px;border-radius:9px;border:1px solid var(--color-accent-base)!important;background:var(--color-accent-base)!important;color:#fff!important;box-shadow:var(--shadow-sm)}.today-dayplan-add-btn:hover{background:var(--color-accent-hover)!important;border-color:var(--color-accent-hover)!important;box-shadow:var(--shadow-md)}.today-dayplan-add-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;font-weight:700;transition:transform .18s ease,opacity .18s ease}.today-dayplan-add-btn.open .today-dayplan-add-icon{transform:rotate(45deg)}.today-dayplan-composer-actions{justify-content:flex-start}.today-dayplan-composer-actions button.active{background:color-mix(in srgb,var(--accent-bg) 74%,var(--bg-card));border-color:color-mix(in srgb,var(--accent-300) 76%,var(--border));color:var(--accent-600)}.today-dayplan-composer-grid{gap:12px}.today-dayplan-composer-card{margin-bottom:12px;padding:14px;border-radius:var(--g-radius-lg);border:1px solid var(--g-border-base);background:var(--g-bg-elevated);box-shadow:var(--g-shadow-sm);display:grid;gap:12px}.today-dayplan-timing-panel{margin-top:0}.today-dayplan-template-panel{margin-top:0;padding:12px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--border) 86%,var(--accent-200));background:color-mix(in srgb,var(--bg-card) 88%,var(--bg-subtle));display:grid;gap:8px}.today-dayplan-template-panel .muted{margin:0;font-size:var(--type-small)}.today-dayplan-template-panel .template-list{max-height:220px;overflow:auto;padding-right:2px}.today-timeline-zoom-controls{display:inline-flex;align-items:center;gap:3px;padding:3px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-subtle) 82%,var(--bg-card))}.today-timeline-zoom-controls button{border:none;background:transparent;min-height:28px;padding:4px 10px;border-radius:var(--radius-chip);color:var(--text-secondary);font-size:var(--type-badge);font-weight:500}.today-timeline-zoom-controls button:hover{color:var(--text-primary);border-color:transparent;background:transparent}.today-timeline-zoom-controls button.active{background:color-mix(in srgb,var(--accent-bg) 72%,var(--bg-card));color:var(--accent-600);box-shadow:var(--shadow-sm)}.today-timeline-layout{display:grid;gap:10px}.today-timeline-shell{border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-card);overflow:hidden}.today-timeline-shell.with-flexible-prelude{border-top-color:color-mix(in srgb,var(--border) 52%,var(--accent) 14%);box-shadow:inset 0 10px 0 -9px color-mix(in srgb,var(--border) 70%,transparent)}.today-timeline-scroll{max-height:520px;overflow:auto}.today-timeline-grid{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr)}.today-timeline-scale{position:relative;border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg-subtle) 76%,var(--bg-card))}.today-timeline-hour-marker{position:absolute;left:7px;transform:translateY(-50%);font-size:.68rem;font-weight:600;color:var(--text-muted);letter-spacing:.01em}.today-timeline-lane{position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-card) 97%,transparent),color-mix(in srgb,var(--bg-subtle) 80%,var(--bg-card)))}.today-timeline-hour-line{position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--border) 64%,transparent)}.today-timeline-now-line{position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--accent) 75%,transparent);z-index:2;pointer-events:none}.today-timeline-now-line:before{content:"";position:absolute;left:-3px;top:-3px;width:7px;height:7px;border-radius:999px;background:var(--accent)}.today-timeline-block{position:absolute;left:8px;right:8px;border-radius:10px;border:1px solid var(--timeline-block-accent, var(--accent-300));border-left:3px solid var(--timeline-block-accent, var(--accent-300));background:var(--timeline-block-accent, var(--accent-100));padding:6px 9px;display:flex;align-items:center;gap:9px;text-align:left;box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),transform var(--transition-fast),background var(--transition-fast);overflow:hidden}.today-timeline-block:hover{border-color:var(--timeline-block-accent, var(--accent-300));background:var(--timeline-block-accent, var(--accent-200));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.today-timeline-block.has-target{border-left-width:3px}.today-timeline-block.done{opacity:.58;filter:saturate(.82)}.today-timeline-block.done .today-timeline-title{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--text-muted) 60%,transparent)}.today-timeline-mainline{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;gap:8px}.today-timeline-time-range{flex:0 0 auto;font-size:.69rem;font-weight:600;white-space:nowrap;color:var(--text-muted)}.today-timeline-title{flex:1 1 auto;min-width:0;font-size:.82rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-timeline-chip-wrap{flex:0 1 45%;min-width:0;max-width:45%;margin-left:auto;display:inline-flex;justify-content:flex-end}.today-timeline-badge{display:inline-flex;align-items:center;min-width:0;max-width:100%;padding:2px 8px;border-radius:var(--radius-chip);border:1px solid color-mix(in srgb,var(--border) 82%,transparent);background:color-mix(in srgb,var(--bg-subtle) 86%,var(--bg-card));color:var(--text-secondary);font-size:var(--type-badge);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-timeline-badge-target{border-color:var(--timeline-block-accent, var(--accent-300));background:var(--timeline-block-accent, var(--accent-100));color:var(--text-primary);max-width:100%}.today-timeline-slot{width:clamp(96px,34%,220px);min-width:96px;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;overflow:hidden}.today-timeline-slot-empty{flex:1 1 auto;min-width:0}.today-timeline-done-indicator{flex:0 0 auto;width:18px;height:18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent-bg) 55%,var(--bg-card));color:color-mix(in srgb,var(--accent) 76%,var(--text-primary));display:inline-flex;align-items:center;justify-content:center}.today-timeline-done-indicator.is-hidden{opacity:0;pointer-events:none}.today-timeline-layout.zoom-compact .today-timeline-block{padding:4px 6px;gap:6px}.today-timeline-layout.zoom-compact .today-timeline-title{font-size:.72rem}.today-timeline-layout.zoom-compact .today-timeline-time-range{font-size:.61rem}.today-timeline-layout.zoom-compact .today-timeline-badge{font-size:.62rem;padding:2px 7px}.today-timeline-layout.zoom-compact .today-timeline-chip-wrap{max-width:42%}.today-timeline-layout.zoom-compact .today-timeline-slot{width:clamp(88px,30%,180px)}.today-timeline-layout.zoom-compact .today-timeline-done-indicator{width:14px;height:14px}.today-timeline-layout.zoom-large .today-timeline-block{padding:10px 12px;gap:11px}.today-timeline-layout.zoom-large .today-timeline-title{font-size:.94rem}.today-timeline-layout.zoom-large .today-timeline-time-range{font-size:.8rem;font-weight:700}.today-timeline-layout.zoom-large .today-timeline-badge{font-size:.74rem;padding:3px 9px}.today-timeline-layout.zoom-large .today-timeline-chip-wrap{max-width:50%}.today-timeline-layout.zoom-large .today-timeline-badge-target{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;white-space:normal;text-align:left;line-height:1.15}.today-timeline-layout.zoom-large .today-timeline-slot{width:clamp(112px,38%,280px);min-width:112px}.today-timeline-layout.zoom-large .today-timeline-done-indicator{width:20px;height:20px}.today-timeline-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);font-size:.84rem;padding:12px}.today-untimed-section{border:1px dashed var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-subtle) 74%,var(--bg-card));padding:9px 11px;margin-bottom:10px}.today-untimed-section h4{margin:0 0 4px;font-size:.8rem;color:var(--text-secondary);font-weight:600}.today-untimed-section .muted{margin:0 0 8px;font-size:.76rem}.today-untimed-list{display:grid;gap:7px}.today-untimed-item{width:100%;border-radius:10px;border:1px solid var(--timeline-block-accent, var(--accent-300));border-left:3px solid var(--timeline-block-accent, var(--accent-300));background:color-mix(in srgb,var(--bg-card) 94%,var(--bg-subtle));padding:7px 10px;display:flex;align-items:center;gap:8px;text-align:left;box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.today-untimed-item:hover{border-color:var(--timeline-block-accent, var(--accent-300));background:color-mix(in srgb,var(--bg-hover) 76%,var(--bg-card));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.today-untimed-item.has-target{border-left-width:3px}.today-untimed-item.done{opacity:.58}.today-untimed-item.done .today-timeline-title{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--text-muted) 60%,transparent)}.today-untimed-mainline{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden}.today-untimed-hint{font-size:.72rem;white-space:nowrap}.today-untimed-actions{flex:0 0 auto;display:inline-flex;align-items:center;margin-left:auto}.today-week-shift-btn{width:36px;flex:0 0 36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);font-size:1.35rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.today-week-shift-btn:hover{border-color:var(--accent-muted);color:var(--accent)}.today-weekday-chip{border:1px solid var(--border);border-radius:var(--radius-button);background:var(--bg-card);color:var(--text-primary);padding:12px 6px;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:all var(--transition-fast)}.today-weekday-chip:hover{border-color:var(--day-color, var(--accent));box-shadow:0 4px 12px var(--day-bg, var(--accent-bg));transform:translateY(-1px)}.today-weekday-chip:active{transform:translateY(1px)}.today-weekday-chip.selected{border-color:transparent;background:var(--day-color, var(--accent));color:#fff;box-shadow:0 6px 16px var(--day-bg, var(--accent-100))}.today-weekday-chip.selected .today-weekday-label{color:#ffffffe6}.today-weekday-chip.today{box-shadow:inset 0 0 0 1.5px var(--day-color, var(--accent))}[data-day="0"]{--day-color: var(--day-0);--day-bg: var(--day-0-bg)}[data-day="1"]{--day-color: var(--day-1);--day-bg: var(--day-1-bg)}[data-day="2"]{--day-color: var(--day-2);--day-bg: var(--day-2-bg)}[data-day="3"]{--day-color: var(--day-3);--day-bg: var(--day-3-bg)}[data-day="4"]{--day-color: var(--day-4);--day-bg: var(--day-4-bg)}[data-day="5"]{--day-color: var(--day-5);--day-bg: var(--day-5-bg)}[data-day="6"]{--day-color: var(--day-6);--day-bg: var(--day-6-bg)}.today-weekday-label{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);font-weight:700}.today-weekday-date{font-size:.95rem;font-weight:700}.today-weekday-indicators{display:inline-flex;align-items:center;gap:5px;min-height:8px}.day-has-entry-dot,.day-today-dot{border-radius:999px}.day-has-entry-dot{display:none}.day-today-dot{width:6px;height:6px;background:var(--day-color, var(--accent))}@media (max-width: 680px){.page{padding:28px 18px 80px}h1{font-size:1.65rem}.card{padding:22px}.header{flex-direction:column;align-items:stretch}.header-main{width:100%;min-width:0}.header-side{width:100%;min-height:0;align-items:flex-start;gap:10px}.header-actions{width:100%;gap:8px;justify-content:flex-start;margin-top:0}.header-actions .sync-status,.header-cycle-btn span,.header-cycle-btn-text em{display:none}.cycle-status-main{align-items:center}.cycle-goal-add{grid-template-columns:1fr}.cycle-goal-card{grid-template-columns:1fr;gap:10px}.cycle-goal-actions{justify-content:flex-start}.overlay-card{max-height:min(90vh,860px);padding:16px}.today-nav-header{align-items:stretch;gap:8px}.today-nav-actions{width:100%;justify-content:space-between;margin-left:0}.today-nav-actions .button{flex:1 1 auto}.today-week-strip,.today-week-strip-nav{gap:6px}.today-view-toggle-row{justify-content:flex-start;margin-bottom:10px}.today-dayplan-header{align-items:flex-start;flex-wrap:wrap}.today-dayplan-header-actions{width:100%;justify-content:space-between}.today-dayplan-add-btn{min-width:38px;min-height:32px;padding:0 10px}.today-timeline-zoom-controls{max-width:100%;overflow-x:auto;scrollbar-width:none}.today-timeline-zoom-controls::-webkit-scrollbar{display:none}.today-week-shift-btn{width:32px;flex:0 0 32px;font-size:1.2rem}.today-weekday-chip{min-height:66px;padding:7px 4px}.today-weekday-label{font-size:.62rem}.today-weekday-date{font-size:.88rem}.today-timeline-grid{grid-template-columns:56px minmax(0,1fr)}.today-timeline-scroll{max-height:480px}.today-timeline-hour-marker{left:6px;font-size:.64rem}.today-timeline-block{left:5px;right:5px;padding:6px 7px}.today-timeline-title{font-size:.76rem}.today-timeline-time-range{font-size:.62rem}.today-timeline-chip-wrap{max-width:48%}.today-timeline-slot{width:clamp(80px,33%,150px);min-width:80px}.today-timeline-badge{font-size:.64rem;padding:2px 7px}.today-timeline-done-indicator{width:16px;height:16px}.stats-chart{flex-direction:column;align-items:stretch;height:auto;gap:10px;padding:8px 0 0}.stats-bar-container{width:100%;flex-direction:row;align-items:center;gap:8px;justify-content:flex-start}.stats-bar-label{width:34px;flex:0 0 34px;text-align:left}.stats-bar{width:100%;height:14px;border-radius:999px;align-items:center}.stats-bar-fill{height:100%;width:var(--bar-progress, 0%);border-radius:999px;background:var(--button-primary-bg)}.stats-bar-value{width:38px;flex:0 0 38px;text-align:right;font-size:.72rem}.stats-card{padding:18px;gap:14px}.stats-card .subcard{padding:14px;gap:10px}.stats-card h3{margin-bottom:8px}.stats-card .goal-tracking-list{gap:12px}.stats-card .goal-tracking-item{gap:6px}.stats-card .stats-goal-list{gap:8px}.stats-card .stats-goal-card{grid-template-columns:auto 1fr;gap:10px;padding:10px 12px}.stats-card .stats-goals-header{align-items:flex-start;flex-direction:column}.stats-card .stats-goals-header-actions{width:100%;justify-content:space-between}.stats-card .stats-goal-index{min-width:24px;height:22px;padding:0 6px;font-size:.76rem}.stats-card .stats-big-number{font-size:2.35rem;margin:6px 0}.stats-card .stats-comparison{padding:10px;gap:8px}.stats-card .stats-week-value{font-size:2.1rem}.stats-card .goal-week-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:stretch;width:100%}.stats-card .goal-week-chip{width:100%;min-width:0;height:34px;font-size:.72rem;border-radius:7px}.stats-card .goal-week-chip:hover{transform:none;box-shadow:none}.list-item{flex-direction:column;align-items:flex-start}.planner-block-header{width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start}.planner-meta-row{width:100%;gap:6px}.planner-meta-chip{font-size:.74rem;min-height:21px;padding:2px 7px}.planner-target-chip{max-width:min(64%,260px)}.block-progress-row{width:100%}.toggle-row{width:100%;justify-content:flex-start;gap:6px;flex-wrap:wrap}.toggle-label{font-size:.74rem}.toggle-status{min-width:92px;margin-left:auto;padding:2px 8px;font-size:.72rem}.block-counter-shell{width:100%;margin-left:0}.block-counter{width:100%;gap:8px}.block-counter-value{min-width:56px;font-size:.74rem}.block-counter-side{gap:5px}.block-counter-adjust-btn{width:18px;min-width:18px;height:18px;font-size:15px}.planner-block-heading{font-size:.86rem}.today-block-editor-footer{flex-direction:column;align-items:stretch}.today-block-editor-footer .button-row{width:100%;justify-content:flex-end}.today-block-editor-time-cta{flex-direction:column;align-items:flex-start}.list-row{flex-direction:column;align-items:flex-start;width:100%}.inline-fields,.week-goal-row,.week-target-row{width:100%}.week-goals-context-header,.week-targets-main-header{align-items:flex-start}.week-goals-context-header button,.week-target-composer-toggle-row button{width:100%}.week-row-actions,.week-target-controls{width:100%;justify-content:flex-start;gap:10px}.week-inline-edit{grid-template-columns:1fr}.week-target-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.week-target-edit-fields input:first-child{grid-column:1 / -1}.week-edit-actions{width:100%}.week-edit-actions button{flex:1 1 0;min-width:0}.week-target-stepper{padding:4px}.week-target-stepper button{width:26px;min-width:26px;height:26px}.week-target-actions{width:100%;justify-content:flex-start}.week-target-actions .ghost-danger{margin-left:auto}.journal-header{flex-direction:column;align-items:stretch}.journal-add-btn{width:100%}.journal-filter-chip-row{gap:6px}.journal-filter-chip{min-height:32px;padding:5px 10px}.journal-month-toggle{min-height:40px;padding:8px 10px}.journal-entry-card,.journal-card{padding:12px;min-height:86px}.journal-entry-meta-row{padding-right:34px}.journal-delete-x{right:6px;top:6px;width:30px;min-width:30px;height:30px}.journal-entry-mode-icon{right:40px;top:6px;width:30px;height:30px}.week-grid{grid-template-columns:repeat(2,1fr)}.habit-tracker-topbar{align-items:flex-start;gap:8px}.habit-tracker-topbar-right{width:100%;justify-content:flex-end;gap:6px}.habit-mini-label{font-size:.68rem;padding:3px 8px}.habit-tracker-main{grid-template-columns:1fr;gap:8px}.habit-tracker-item{padding:10px;gap:7px}.habit-tracker-header{flex-direction:column;align-items:flex-start;gap:6px}.habit-tracker-meta{width:100%;justify-content:space-between;gap:8px}.habit-tracker-meta-grid{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px;min-width:0}.habit-streak-badge,.habit-success-rate{width:100%;justify-content:center;text-align:center;min-width:0}.habit-success-rate.solo{grid-column:1 / -1}.habit-tracker-side{width:100%;justify-content:space-between;gap:10px;flex-wrap:wrap}.habit-mini-grid{grid-template-columns:repeat(7,10px);gap:2px;padding:5px}.habit-mini-cell{width:10px;height:10px}.habit-delete-controls{justify-content:flex-end;width:100%}.habit-tracker-expand-btn{width:100%;align-self:stretch;text-align:center}.habit-heatmap-scroll{max-height:168px;padding:5px 6px 6px}.habit-heatmap-panel{--habit-heatmap-meta-h: 24px;--habit-heatmap-gap: 2px}.habit-heatmap-panel-meta{padding:3px 6px;font-size:.64rem}.habit-heatmap-panel-title{font-size:.66rem}.habit-heatmap-panel-range{font-size:.6rem}.habit-heatmap-dayrow{margin-bottom:4px;padding:2px}.habit-heatmap-dayrow span{font-size:.5rem}.habit-heatmap-cell{width:100%;min-width:0;aspect-ratio:1 / 1;border-radius:3px;background-color:transparent;border-color:transparent;opacity:1}.habit-heatmap-cell.done{background-color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent);opacity:1}.habit-heatmap-cell.missed{background:color-mix(in srgb,var(--danger) 78%,var(--danger-bg));border-color:color-mix(in srgb,var(--danger) 60%,transparent);opacity:1}.habit-heatmap-cell.missed.pending-today{background:transparent;border-color:var(--habit-grid-outline);opacity:1}.habit-heatmap-cell.future{background:color-mix(in srgb,var(--habit-grid-outline) 8%,transparent);border:2px dashed var(--habit-grid-outline);opacity:1}.habit-heatmap-cell.inactive{border:1px solid var(--border);opacity:.75}.habit-heatmap-cell.spacer{border-color:transparent;opacity:0}.habit-heatmap-cell.today{border-radius:3px;outline:1.5px solid var(--accent);outline-offset:-1px}.tabs{width:100%}.tabs button{flex:1}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}::selection{background:var(--accent-muted);color:var(--text-primary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}.toggle-switch{position:relative;width:44px;min-width:44px;height:24px;min-height:24px;padding:0;margin:0;line-height:1;border-radius:12px;background:var(--border);border:none;display:inline-flex;align-items:center;justify-content:flex-start;cursor:pointer;transition:background var(--transition-base);flex-shrink:0}.toggle input:checked+.slider{background:var(--accent-gradient)}.toggle input:focus+.slider{box-shadow:0 0 1px var(--accent-500)}.toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--bg-card);box-shadow:var(--shadow-sm);transition:transform var(--transition-base)}.toggle-switch.toggle-on .toggle-thumb{transform:translate(20px)}.toggle-row{display:flex;align-items:center;gap:8px}.toggle-label{font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--text-secondary);transition:all var(--transition-base)}.toggle-status{min-width:110px;font-size:.76rem;font-weight:600;color:var(--text-secondary);text-align:center;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--bg-subtle)}.toggle-status.done{color:var(--success-text);border-color:var(--success-border);background:var(--success-bg-strong)}.toggle-status.pending{color:var(--text-secondary)}.readonly-banner{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:var(--accent-bg);color:var(--text-primary)}.readonly-note{margin-top:10px;margin-bottom:2px;padding:8px 10px;border-radius:var(--radius-sm);border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent-bg) 75%,transparent);color:var(--text-secondary);font-size:.82rem}.readonly-fieldset{border:0;margin:0;padding:0;display:contents}.readonly-fieldset[disabled]{opacity:.8}.toggle-label.done{text-decoration:line-through;color:var(--text-muted)}.task-done .task-title{text-decoration:line-through;color:var(--text-muted);transition:all var(--transition-base)}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-scrim-strong);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn var(--transition-fast)}.settings-modal{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:90%;max-width:500px;max-height:80vh;overflow-y:auto;animation:slideUp var(--transition-smooth)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.settings-header h2{margin:0;font-size:1.25rem}.settings-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:4px;color:var(--text-secondary)}.settings-section{padding:16px 24px;border-bottom:none}.settings-section:last-child{border-bottom:none}.settings-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;gap:16px}.settings-row label{flex:1;font-size:.95rem}.settings-row .button{flex:none}.settings-auth-box{display:flex;flex-direction:column;gap:10px;padding:8px 0 2px}.settings-subsection{padding:12px 0;border-top:1px solid var(--border-light)}.settings-subsection:first-of-type{border-top:none;padding-top:2px}.settings-subsection h4{margin:0 0 10px;font-size:.88rem;font-weight:700;color:var(--text-primary)}.settings-sync-offline-note{margin-top:10px}.settings-data-action{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0 4px}.settings-data-action-title{margin:0 0 4px;font-weight:700;color:var(--text-primary)}.settings-danger-zone{margin-top:12px;padding:12px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,#dc2626 38%,transparent);background:color-mix(in srgb,#fee2e2 86%,var(--bg-card));display:flex;flex-direction:column;gap:10px}.settings-danger-zone .button.danger{background:#dc2626;border-color:#b91c1c;color:#fff}.settings-danger-zone .button.danger:hover{background:#b91c1c;border-color:#991b1b}@media (max-width: 680px){.settings-data-action{flex-direction:column;align-items:flex-start}}.settings-auth-box input{width:100%}.settings-password-form{margin-top:10px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-subtle);display:flex;flex-direction:column;gap:10px}.settings-password-form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--text-primary)}.settings-password-form input{width:100%}.settings-journal-context-default-row{margin-top:12px;display:grid;gap:6px}.settings-journal-context-default-row label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.settings-journal-context-add-row{margin-top:10px;display:grid;grid-template-columns:1fr;gap:8px}.settings-context-list{display:grid;gap:8px}.settings-context-row{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;min-height:36px;padding:6px 0}.settings-context-row.highlighted{border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent-bg) 72%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent);padding:6px 8px}.settings-context-swatch{width:12px;height:12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--text-muted) 40%,transparent)}.settings-context-name{font-size:.88rem;color:var(--text-primary)}.settings-context-actions{display:inline-flex;align-items:center;gap:6px}.settings-context-row input{width:100%}.settings-context-edit-group{display:grid;gap:8px}.settings-label-color-grid{display:grid;grid-template-columns:repeat(var(--settings-color-count, 8),minmax(0,1fr));gap:8px;width:100%}.settings-label-color-dot{width:100%;min-width:0;height:auto;aspect-ratio:1 / 1;padding:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--text-muted) 35%,transparent);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.settings-label-color-grid-full .settings-label-color-dot{max-width:30px;justify-self:center}.settings-label-color-dot.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 52%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));transform:scale(1.04)}.journal-nav-focus{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 32%,transparent);transition:box-shadow .3s ease}.sync-conflict-box{margin-top:8px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);background:color-mix(in srgb,var(--warning-bg) 70%,transparent)}.sync-conflict-box p{margin:0 0 8px;color:var(--text-primary);font-size:.84rem}.sync-error{color:var(--danger)}.settings-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.5rem 2rem .5rem .6rem;border-radius:6px;border:1px solid var(--border);background-color:var(--bg-card);color:var(--text);background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%),linear-gradient(to right,transparent,transparent);background-position:calc(100% - 16px) 50%,calc(100% - 12px) 50%,100% 0;background-size:5px 5px,5px 5px,2rem 100%;background-repeat:no-repeat}.search-container{position:relative;flex:0 0 auto}.search-input{width:120px;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);font-size:.875rem;transition:width var(--transition-smooth),box-shadow var(--transition-base)}.search-input:focus,.search-container:focus-within .search-input{width:260px;border-color:var(--accent-muted);box-shadow:0 0 0 3px var(--accent-bg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.archive-banner{background:var(--warning-bg);border-bottom:1px solid var(--warning-border);color:var(--warning-text);padding:12px 24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:90;margin:-48px -32px 28px;font-weight:600;font-size:.9rem}body.dark-mode .archive-banner{color:var(--warning-text)}.archive-banner button{padding:6px 14px;font-size:var(--type-badge);background:var(--bg-card);border:1px solid var(--warning-border);color:var(--text-primary);height:auto}.archive-banner button:hover{background:var(--warning-bg)}.add-habit-btn{border-style:dashed!important;border-color:var(--border)!important;opacity:.8}.add-habit-btn:hover{border-color:var(--accent)!important;background:var(--bg-hover)!important;opacity:1}.text-btn{background:transparent!important;border:none!important;padding:4px 8px!important;color:var(--text-secondary)!important;font-weight:500!important;font-size:.8rem}.text-btn:hover{color:var(--text-primary)!important;background:var(--bg-hover)!important;text-decoration:underline}.goal-week-chip,.habit-chip,.completion-week-pill,.habit-mini-label,.habit-freq-chip,.planner-meta-chip,.planner-status-chip,.journal-filter-chip,.journal-entry-type,.journal-entry-context,.journal-entry-signal,.journal-card-date,.journal-month-meta,.week-chip,.plan-roadmap-review,.goal-tracking-badge,.badge,.habit-streak-badge,.habit-success-rate,.toggle-status,.stats-trend{border-radius:var(--radius-sm);border-width:1px;border-style:solid;border-color:var(--chip-border);background:var(--chip-bg);color:var(--chip-text);font-family:var(--font-mono);font-size:var(--type-badge);font-weight:500;text-transform:uppercase;letter-spacing:.05em;line-height:var(--line-badge);box-shadow:none;padding:2px 6px}.habit-chip:hover,.completion-week-pill:hover,.journal-filter-chip:hover,.week-chip:hover,.habit-freq-chip:hover{background:var(--chip-hover-bg);border-color:var(--chip-hover-border);color:var(--chip-hover-text)}.completion-week-pill.active,.journal-filter-chip.active,.habit-freq-chip.selected,.goal-week-chip.mid,.goal-tracking-badge.mid,.habit-streak-badge,.stats-trend.neutral{background:var(--chip-accent-bg);border-color:var(--chip-accent-border);color:var(--chip-accent-text)}.goal-week-chip.high,.habit-chip.done,.planner-status-chip.done,.goal-tracking-badge.high,.journal-entry-signal.win,.badge.green,.habit-success-rate.high,.stats-trend.up,.toggle-status.done{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.goal-week-chip.low,.goal-tracking-badge.low,.journal-entry-signal.next_step,.badge.yellow,.habit-success-rate.mid,.stats-trend.mid{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.goal-week-chip.zero,.journal-entry-signal.challenge,.badge.red,.habit-success-rate.low,.stats-trend.down{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.goal-week-chip.high,.goal-tracking-badge.high{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.goal-week-chip.mid,.goal-tracking-badge.mid{background:var(--chip-accent-bg);border-color:var(--chip-accent-border);color:var(--chip-accent-text)}.goal-week-chip.low,.goal-tracking-badge.low{background:var(--warning-bg-strong);border-color:var(--warning-border);color:var(--warning-text)}.goal-week-chip.zero{background:var(--danger-bg-strong);border-color:var(--danger-border);color:var(--danger-text)}.stats-card .habit-mini-label,.stats-card .habit-streak-badge{background:var(--chip-accent-bg);border-color:var(--chip-accent-border);color:var(--chip-accent-text)}.stats-card .habit-success-rate.high{background:var(--success-bg-strong);border-color:var(--success-border);color:var(--success-text)}.stats-card .habit-success-rate.mid{background:var(--warning-bg-strong);border-color:var(--warning-border);color:var(--warning-text)}.stats-card .habit-success-rate.low{background:var(--danger-bg-strong);border-color:var(--danger-border);color:var(--danger-text)}.journal-entry-type.weekly{background:var(--warm-blue-bg);border-color:var(--warm-blue-border);color:var(--warm-blue-text)}.journal-entry-type.daily,.journal-entry-type.quick,.journal-entry-type.note{background:var(--chip-accent-bg);border-color:var(--chip-accent-border);color:var(--chip-accent-text)}.journal-entry-type.custom,.planner-status-chip.pending,.goal-week-chip.empty,.toggle-status.pending{background:var(--chip-bg);border-color:var(--chip-border);color:var(--chip-text)}.app-sidebar-quick-btn{min-height:42px;border-radius:11px;border-color:var(--button-primary-border);background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:var(--shadow-sm)}.app-sidebar-quick-btn:hover{filter:none;background:var(--button-primary-bg-hover);box-shadow:var(--shadow-md)}.app-sidebar-quick-menu{border-color:var(--border-light);border-radius:12px;padding:6px;background:color-mix(in srgb,var(--bg-card) 96%,var(--bg-subtle))}.app-sidebar-quick-menu .app-sidebar-quick-menu-item{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:34px;border-radius:8px;font-size:var(--type-small);font-weight:500;color:var(--text-primary)}.app-sidebar-nav-item{border-radius:10px}.app-sidebar-nav-item.active{color:var(--text-primary);background:color-mix(in srgb,var(--accent-bg) 64%,var(--bg-card));border-color:color-mix(in srgb,var(--accent-300) 54%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-300) 14%,transparent)}.today-hero-row{grid-template-columns:minmax(320px,1.45fr) minmax(220px,1fr);gap:14px}.today-hero-card h3{font-size:clamp(1.22rem,1rem + .45vw,1.45rem);margin-bottom:0}.today-hero-card strong{font-size:clamp(1.52rem,1.1rem + .7vw,1.84rem);font-weight:700}.today-week-strip{gap:10px}.today-week-shift-btn{border-radius:10px;background:color-mix(in srgb,var(--bg-card) 90%,var(--bg-subtle))}.today-weekday-chip{border-radius:12px;border-color:color-mix(in srgb,var(--border) 88%,transparent);background:color-mix(in srgb,var(--bg-card) 96%,var(--bg-subtle));min-height:76px}.today-weekday-chip:hover{border-color:color-mix(in srgb,var(--accent-300) 72%,var(--border));background:color-mix(in srgb,var(--accent-bg) 42%,var(--bg-card))}.today-weekday-chip.selected{border-color:color-mix(in srgb,var(--accent-300) 78%,var(--border));background:color-mix(in srgb,var(--accent-bg) 72%,var(--bg-card));box-shadow:var(--shadow-sm)}.planner-block-card{border-color:color-mix(in srgb,var(--border) 84%,var(--border-light));background:color-mix(in srgb,var(--bg-card) 94%,var(--bg-subtle));box-shadow:var(--shadow-sm)}.planner-block-card:not(.has-target-accent){border-color:color-mix(in srgb,var(--accent-300) 36%,var(--border))}.planner-block-card:hover{border-color:var(--planner-target-accent, var(--accent-300));box-shadow:var(--shadow-md)}.planner-block-heading{font-size:15px;line-height:1.32;font-weight:500}.planner-meta-row{min-height:26px}.progress-bar{height:6px;border-radius:3px;background:#0000000f;border:none}.progress-bar-fill{background:var(--open-target-accent, var(--accent));border-radius:3px;box-shadow:none}.block-counter-range{height:14px;border-radius:999px;background:linear-gradient(to right,var(--button-primary-bg) var(--slider-fill),var(--progress-track-bg) var(--slider-fill));background-size:100% 4px!important}.block-counter-range::-webkit-slider-runnable-track{height:4px}.block-counter-range::-webkit-slider-thumb{width:13px;height:13px;border-radius:50%;border:1px solid var(--button-primary-border);background:var(--bg-card);box-shadow:none;opacity:1;margin-top:-4.5px}.block-counter-range::-moz-range-track{height:4px}.block-counter-range::-moz-range-thumb{width:13px;height:13px;border-radius:50%;border:1px solid var(--button-primary-border);background:var(--bg-card);box-shadow:none;opacity:1}.planner-completion-track{border-radius:9px;background:color-mix(in srgb,var(--bg-subtle) 88%,var(--bg-card));border-color:color-mix(in srgb,var(--border) 84%,transparent)}.planner-completion-handle{border-radius:7px;box-shadow:none;border:1px solid color-mix(in srgb,var(--accent-300) 40%,var(--border))}.plan-goals-card{gap:10px}.plan-goals-subtitle{margin:-8px 0 2px}.plan-goals-recommendation{margin:-6px 0 4px;font-size:.76rem}.plan-goals-grid{gap:14px}.plan-goal-chip{padding:14px 15px;border-radius:12px;gap:5px;background:var(--bg-card)}.plan-goal-chip strong{font-size:1rem;line-height:1.35}.stats-goals-header{margin-bottom:4px}.stats-goals-focus .muted{margin-top:0}.stats-chart{gap:12px}.stats-bar{border-radius:10px;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);background:color-mix(in srgb,var(--bg-subtle) 74%,var(--bg-card))}.stats-bar-container.current .stats-bar{border:1px solid color-mix(in srgb,var(--accent-300) 72%,var(--border));box-shadow:none}.stats-bar-fill{background:var(--button-primary-bg)}.stats-big-number{font-weight:600;font-size:clamp(2.35rem,1.7rem + 1.1vw,2.8rem);color:var(--accent-600)}.stats-bar-label,.stats-bar-value{color:color-mix(in srgb,var(--accent-600) 82%,var(--text-secondary))}.stats-bar-container.current .stats-bar-label,.stats-week-value{color:var(--accent-600)}.app-main .archive-banner{margin:0;position:relative;top:auto;border-radius:var(--radius-md)}.today-daily-review-card{background:var(--g-bg-elevated);border:1px solid var(--g-border-base);border-radius:var(--g-radius-lg);position:relative;overflow:hidden;transition:all .15s cubic-bezier(.4,0,.2,1);margin-top:0;box-shadow:var(--g-shadow-sm)}.today-review-section .today-daily-review-card{padding:0;margin-top:32px}.today-daily-review-card.is-open{border-color:var(--g-border-strong)}.today-daily-review-card.is-complete{border-color:#0596694d;background:#05966905}.today-daily-review-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--g-accent);opacity:0;transition:opacity .15s ease;z-index:2}.today-daily-review-card:after{display:none}.today-daily-review-card:hover:before{opacity:1}.today-daily-review-card:hover{border-color:var(--g-border-strong);box-shadow:var(--g-shadow-md);transform:translateY(-1px)}.daily-review-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px 14px;cursor:pointer;background:transparent;transition:background .15s ease}.daily-review-header:hover{background:color-mix(in srgb,var(--bg-hover) 68%,transparent)}.daily-review-header-content{display:flex;align-items:center;gap:16px}.daily-review-icon-container{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-accent-subtle);color:var(--color-accent-base);transition:all .15s ease}.today-daily-review-card.is-complete .daily-review-icon-container{background:var(--accent);color:#fff}.daily-review-title{margin:0 0 4px;font-size:15px;font-weight:500;color:var(--g-text-primary)}.daily-review-subtitle{margin:0;font-size:13px;font-weight:400;color:var(--g-text-secondary)}.daily-review-controls{display:flex;align-items:center;gap:12px}.daily-review-progress-badge{font-size:13px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);padding:4px 10px;border-radius:var(--g-radius-sm)}.today-daily-review-card.is-complete .daily-review-progress-badge{background:var(--accent);color:#fff}.today-daily-review-card .grid{padding:14px 18px 18px;border-top:1px solid var(--g-border-base);margin-top:0}.today-daily-review-card textarea{min-height:100px;background:var(--bg-body)}@keyframes today-review-shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}@media (max-width: 1180px){.today-hero-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1024px){.app-shell-page{grid-template-columns:220px minmax(0,1fr)}.plan-goals-grid{grid-template-columns:1fr}}@media (max-width: 880px){.app-shell-page{display:flex;flex-direction:column;min-height:100vh;overflow:visible}.app-sidebar{position:relative;top:auto;height:auto;border-right:none;border-bottom:1px solid var(--border);padding:12px;gap:10px}.app-sidebar-brand{padding-bottom:2px}.app-sidebar-nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.app-sidebar-nav-item{min-width:max-content;padding:0 12px}.app-sidebar-bottom{display:flex;border-top:none;padding-top:0;gap:6px}.app-sidebar-footer-btn{min-width:max-content}.app-main{height:auto;min-height:0;padding:14px 12px 24px;overflow:visible}.app-main-scroll{overflow:visible;padding-right:0;gap:var(--space-grid)}.app-content-header{flex-direction:column;align-items:flex-start}.today-hero-row{grid-template-columns:1fr}.today-hero-card-progress{grid-column:auto}}@media (max-width: 390px){.week-goals-context-header button,.week-target-composer-toggle-row button{width:100%}.week-selected-week-note.planning{flex-direction:column;align-items:stretch}.week-jump-current-btn{width:100%}.week-goal-row,.week-target-item{padding:12px;gap:8px}.week-row-actions,.week-target-controls{gap:8px}.today-open-target-meta{margin-left:0;text-align:left;width:100%}.week-row-actions .ghost-danger{margin-left:auto}.week-target-controls{flex-direction:column;align-items:stretch;width:100%}.week-target-stepper{width:100%;justify-content:space-between}.week-target-stepper button{width:30px;min-width:30px;height:30px}.week-target-done{min-width:24px;font-size:.82rem}.week-edit-actions,.week-target-actions{width:100%;gap:6px}.week-edit-actions button,.week-target-actions button{padding:8px 10px;font-size:.78rem}.week-target-actions{justify-content:flex-start}.week-target-actions .ghost-danger{margin-left:auto}.week-inline-edit input,.week-target-edit-fields input{font-size:.85rem}.week-target-edit-fields{grid-template-columns:1fr}.week-target-edit-fields input:first-child{grid-column:auto}.quick-note-fab{right:14px;bottom:14px;width:48px;height:48px}}@media (max-width: 680px){.grid-two{grid-template-columns:1fr}.settings-label-color-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width: 680px) and (pointer: coarse){.drag-handle{min-width:44px;min-height:44px;margin-right:4px}.block-delete-x,.block-edit-btn{width:44px;min-width:44px;height:44px;border-radius:10px;font-size:1rem}.week-edit-btn{min-width:44px;min-height:44px;padding:0 12px}.week-row-actions button,.week-target-actions button,.week-edit-actions button{min-height:44px}.week-target-stepper button{width:44px;min-width:44px;height:44px}}.books-grid{display:grid;gap:16px}.books-header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}.books-tab-card{width:100%;gap:var(--space-grid)}.books-tab-title{margin:0;font-size:clamp(1.05rem,1.2vw,1.2rem);line-height:1.3;font-weight:600}.books-view-toggle{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px}.books-view-chip{min-height:34px;border:1px solid var(--border-subtle);border-radius:999px;background:color-mix(in srgb,var(--surface-1) 90%,var(--bg-card));color:var(--text-secondary);font-size:.78rem;font-weight:700;padding:0 12px}.books-view-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.books-view-chip.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent-bg) 76%,var(--surface-1));color:var(--accent-600)}.books-layout-stack{display:flex;flex-direction:column;gap:18px}.books-library-layout{display:flex;flex-direction:column;gap:14px}.books-library-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.books-insights-header{display:flex;flex-direction:column;gap:6px}.books-insights-header h3{margin:0}.books-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.books-summary-card{background:var(--bg-card);padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:6px;min-height:84px}.books-summary-card-dual{gap:10px}.books-summary-card-dual>div{display:flex;flex-direction:column;gap:4px}.books-summary-card-dual>div+div{border-top:1px solid var(--border-subtle);padding-top:8px}.books-summary-card span{font-size:.8rem;color:var(--text-secondary)}.books-summary-card strong{font-size:1.1rem;line-height:1;color:var(--text-primary)}.books-add-toggle{min-width:130px;justify-content:center;gap:8px}.books-add-toggle-icon{display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-base)}.books-add-toggle.open .books-add-toggle-icon{transform:rotate(45deg)}.books-inline-composer{display:flex;flex-direction:column;gap:14px}.books-inline-hint{margin:0}.books-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.books-inline-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.books-inline-actions{display:flex;justify-content:flex-end;margin-top:4px}.books-grid-sections{margin-top:0;display:grid;gap:14px}.books-section-card{gap:12px}.books-section-priority{border-color:color-mix(in srgb,var(--accent) 28%,var(--border-light));background:color-mix(in srgb,var(--bg-card) 85%,var(--accent-bg))}.books-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:0}.books-section-heading{font-family:var(--font-headline);margin:0;font-size:1rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}.books-section-title span{min-width:28px;height:28px;border-radius:999px;border:1px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;color:var(--text-secondary)}.books-list-compact{display:flex;flex-direction:column;gap:10px}.books-section-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:12px 14px;font-size:.85rem;color:var(--text-secondary)}.books-empty-state{align-items:center;text-align:center;gap:8px;padding:24px 18px}.books-empty-state h3{margin:0}.books-finish-toast{margin-bottom:10px;border:1px solid var(--success-border);background:var(--success-bg);color:var(--success-text);border-radius:12px;padding:9px 12px;font-size:.86rem;animation:fadeIn .22s ease}.book-card.compact{display:flex;flex-direction:row;align-items:flex-start;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:12px;cursor:pointer;transition:border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.book-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--accent-300)}.book-card-cover-container.compact{width:84px;min-width:84px;aspect-ratio:2 / 3;background:var(--surface-2);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.book-cover-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.book-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-100),var(--accent-200));color:var(--accent-600);font-family:var(--font-headline);font-weight:700;font-size:1.3rem;opacity:.8;border-radius:8px}body.dark-mode .book-cover-placeholder{background:linear-gradient(135deg,var(--surface-2),var(--surface-3));color:var(--text-muted)}.book-card-content.compact{padding:0;display:flex;flex-direction:column;flex:1;gap:8px;min-width:0}.book-card-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.book-card-main{min-width:0;flex:1}.book-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.book-card-title{font-size:1rem;font-weight:600;line-height:1.3;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;margin:0}.book-card-author{font-size:.83rem;color:var(--text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.book-card-meta{margin:1px 0 0;font-size:.78rem;color:var(--text-secondary)}.book-status-pill{align-self:flex-end;font-size:.7rem;font-weight:600;letter-spacing:.01em;border-radius:999px;padding:4px 8px;border:1px solid transparent;white-space:nowrap}.book-status-pill.status-want_to_read{color:var(--text-secondary);background:var(--surface-2);border-color:var(--border-subtle)}.book-status-pill.status-reading{color:var(--warning-text);background:var(--warning-bg);border-color:var(--warning-border)}.book-status-pill.status-finished{color:var(--success-text);background:var(--success-bg);border-color:var(--success-border)}.book-progress-section.compact{margin-top:auto;padding-top:4px}.book-progress-header.compact{display:flex;justify-content:flex-start;font-size:.72rem;color:var(--text-secondary);margin-bottom:4px}.book-progress-bar-container{height:6px;background:var(--progress-track-bg);border-radius:999px;border:1px solid var(--progress-track-border);overflow:hidden;position:relative}.book-progress-fill{background:var(--progress-fill-start);height:100%;border-radius:999px;transition:width .4s ease}.book-quick-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px;border-top:1px dashed color-mix(in srgb,var(--border-subtle) 85%,transparent)}.book-quick-btn{min-height:34px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font-size:.76rem;font-weight:600;padding:0 10px}.book-quick-btn:hover{border-color:var(--border-strong);background:var(--surface-2)}.books-detail-top{margin-bottom:16px}.books-detail-cta{display:flex;justify-content:flex-end}.book-queue-inline{display:inline-flex;align-items:center;gap:6px;margin-left:2px}.book-queue-inline span{font-size:.72rem;color:var(--text-secondary)}.book-queue-inline-btn{width:28px;height:28px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-size:.8rem;line-height:1}.book-queue-inline-btn:disabled{opacity:.42;cursor:default}.books-finish-panel{border:1px solid var(--border-subtle)}.books-finish-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:.82rem;color:var(--text-secondary)}.books-finish-actions{display:flex;justify-content:flex-end;gap:8px}.book-session-item{border-left:2px solid var(--accent-400);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:10px 12px}.book-session-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.82rem;color:var(--text-secondary)}.books-detail-actions-row{display:flex;justify-content:flex-end}.books-inline-edit{border:1px solid var(--border-subtle)}.books-detail-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.books-modal-shell{padding:28px 28px 26px;gap:20px}.books-session-modal-shell{background:color-mix(in srgb,var(--glass-modal) 88%,transparent);backdrop-filter:blur(44px) saturate(130%);-webkit-backdrop-filter:blur(44px) saturate(130%);border:1px solid color-mix(in srgb,var(--border-outline) 72%,var(--border-subtle));box-shadow:0 28px 64px #00000057}.books-modal-header{padding-top:2px;padding-bottom:8px}.books-status-editor{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px;background:color-mix(in srgb,var(--surface-1) 80%,transparent)}.books-status-editor-label{margin:0;font-size:.78rem;font-weight:700;color:var(--text-secondary)}.books-status-chip-row{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.books-status-chip{min-height:32px;border:1px solid var(--border-subtle);border-radius:999px;background:color-mix(in srgb,var(--surface-1) 88%,var(--bg-card));color:var(--text-secondary);font-size:.74rem;font-weight:700;padding:0 12px}.books-status-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.books-status-chip.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent-bg) 75%,var(--surface-1));color:var(--accent-600)}.books-status-chip:disabled{opacity:.48;cursor:not-allowed}.books-status-editor-hint{margin:8px 0 0;font-size:.74rem;color:var(--text-secondary)}.books-session-form{display:flex;flex-direction:column;gap:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px;background:color-mix(in srgb,var(--surface-1) 76%,transparent)}.books-session-label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:var(--text-secondary);font-weight:600}.books-session-pages-row{display:flex;align-items:center;gap:8px}.books-session-pages-row .glass-input{flex:1}.book-page-step-btn{width:34px;min-width:34px;height:34px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1;padding:0}.book-page-step-btn:hover{border-color:var(--border-strong);background:var(--surface-2)}.books-session-chip-row{display:flex;flex-wrap:wrap;gap:6px}.books-session-chip-btn{min-height:30px;border:1px solid var(--border-subtle);border-radius:999px;background:color-mix(in srgb,var(--surface-1) 88%,var(--bg-card));color:var(--text-secondary);font-size:.74rem;font-weight:700;padding:0 10px}.books-session-chip-btn:hover{border-color:var(--accent-300);color:var(--accent-600);background:color-mix(in srgb,var(--accent-bg) 70%,var(--surface-1))}.books-session-note-input{min-height:106px}.books-session-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px}.books-session-section{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px}.books-session-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:none;background:transparent;padding:0;min-height:28px;color:var(--text-primary);font-size:.82rem;font-weight:700}.books-session-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-height:220px;overflow-y:auto;padding-right:4px}.books-detail-footer-delete-only{justify-content:flex-end}@media (max-width: 720px){.books-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.books-library-secondary-grid,.books-inline-grid{grid-template-columns:1fr}.books-detail-footer button{flex:1}}:root{--g-bg-base: #F6FAFF;--g-bg-elevated: #FFFFFF;--g-bg-subtle: #EDF4FF;--g-text-primary: #18181B;--g-text-secondary: #52525B;--g-text-tertiary: #A1A1AA;--g-border-base: rgba(0, 0, 0, .06);--g-border-strong: rgba(0, 0, 0, .12);--g-accent: #0070F3;--g-accent-hover: #0761D1;--g-accent-subtle: rgba(0, 112, 243, .1);--g-success-text: #059669;--g-success-bg: rgba(5, 150, 105, .1);--g-warning-text: #D97706;--g-warning-bg: rgba(217, 119, 6, .1);--g-critical-text: #DC2626;--g-critical-bg: rgba(220, 38, 38, .1);--g-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--g-shadow-md: 0 2px 8px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--g-radius-sm: 6px;--g-radius-md: 10px;--g-radius-lg: 12px;--g-transition: all .15s cubic-bezier(.4, 0, .2, 1)}body.dark-mode{--g-bg-base: #0A1220;--g-bg-elevated: #111C30;--g-bg-subtle: #17263F;--g-text-primary: #EDEDEC;--g-text-secondary: #A9A9A6;--g-text-tertiary: #5A5A5A;--g-border-base: rgba(255, 255, 255, .08);--g-border-strong: rgba(255, 255, 255, .14);--g-success-text: #34D399;--g-success-bg: rgba(52, 211, 153, .12);--g-warning-text: #FBBF24;--g-warning-bg: rgba(251, 191, 36, .12);--g-critical-text: #FDA4AF;--g-critical-bg: rgba(253, 164, 175, .12)}.today-geist-root{background:var(--g-bg-base);min-height:100%}.today-geist-container{width:100%;max-width:none;margin:0;padding:0 0 48px;display:flex;flex-direction:column;gap:0}.today-progress-overview-wrap{margin-bottom:24px}.today-week-navigation-wrap,.today-content-section,.today-content-section-week-open,.today-habits-section,.today-review-section{margin-bottom:20px}.today-geist-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0}.today-geist-title{font-family:var(--font-headline);font-size:24px;line-height:32px;font-weight:600;color:var(--g-text-primary);letter-spacing:-.01em;margin-bottom:4px}.today-geist-date{font-size:16px;line-height:24px;font-weight:400;color:var(--g-text-secondary);margin:0}.today-geist-header-actions{display:flex;align-items:center;gap:8px}.today-geist-ghost-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--g-radius-md);color:var(--g-text-secondary);cursor:pointer;transition:var(--g-transition)}.today-geist-ghost-btn:hover{background:var(--g-bg-subtle);color:var(--g-text-primary)}.today-geist-readonly-note{font-size:14px;color:var(--g-warning-text);background:var(--g-warning-bg);padding:10px 16px;border-radius:var(--g-radius-md);margin-bottom:0}.today-geist-fieldset{display:contents;border:none;padding:0;margin:0}.spo-card{background:linear-gradient(135deg,var(--g-bg-elevated) 0%,color-mix(in srgb,var(--g-bg-elevated) 90%,var(--g-bg-subtle)) 100%);border:1px solid var(--g-border-base);border-radius:14px;padding:32px;box-shadow:var(--g-shadow-sm);display:flex;flex-direction:column;gap:0;position:relative;overflow:hidden}.spo-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--g-accent) 0%,transparent 100%);opacity:.4}.spo-top{margin-bottom:0}.spo-today-section{display:flex;flex-direction:column}.spo-today-label{font-family:var(--font-headline);font-size:.9rem;line-height:1.2;font-weight:500;letter-spacing:-.01em;color:var(--g-text-secondary);margin-bottom:12px;display:inline-flex;align-items:center;gap:8px}.spo-today-label:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--g-accent);opacity:.84}.spo-today-percent-row{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;flex-wrap:wrap}.spo-today-percent{font-size:32px;line-height:36px;font-weight:700;color:var(--g-text-primary);letter-spacing:-.02em}.spo-trend-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:16px;font-weight:600;padding:3px 8px;border-radius:var(--g-radius-sm);white-space:nowrap;position:relative;top:-4px}.spo-trend-positive{background:var(--g-success-bg);color:var(--g-success-text)}.spo-trend-negative{background:var(--g-critical-bg);color:var(--g-critical-text)}.spo-trend-neutral{background:#0000000a;color:var(--g-text-tertiary)}.spo-progress-track{width:100%;height:6px;background:var(--g-bg-subtle);border-radius:3px;overflow:hidden;margin-bottom:8px;position:relative}.spo-progress-fill{height:100%;background:linear-gradient(90deg,var(--g-accent) 0%,var(--g-accent-hover) 100%);border-radius:3px;transition:width .4s ease-out;min-width:0;animation:today-progress-grow .6s var(--ease-out);position:relative}.spo-progress-fill:after{display:none}.spo-today-meta{font-size:13px;line-height:18px;font-weight:400;color:var(--g-text-tertiary)}.spo-divider{height:1px;background:var(--g-border-base);margin:24px 0}.spo-week-section{display:flex;flex-direction:column;gap:12px}.spo-week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.spo-week-label{font-size:.9rem;line-height:20px;font-weight:500;color:var(--g-text-secondary)}.spo-week-day-label{font-size:.75rem;line-height:18px;font-weight:400;color:var(--g-text-tertiary)}.spo-week-dots{display:flex;gap:8px;width:100%;justify-content:space-between}.spo-dot-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}.spo-dot-label{font-size:10px;line-height:16px;font-weight:500;color:var(--g-text-tertiary);text-transform:uppercase;letter-spacing:.03em}.spo-dot-label-today{color:var(--g-accent)}.spo-dot{width:24px;height:24px;min-width:24px;min-height:24px;aspect-ratio:1 / 1;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;border:none;padding:0;transition:all .15s ease}.spo-dot:hover{transform:scale(1.15)}.spo-dot-failed{background:var(--g-bg-subtle);box-shadow:inset 0 0 0 1px var(--g-border-base)}.spo-dot-partial{background:var(--g-warning-bg);box-shadow:inset 0 0 0 1px #d977064d}.spo-dot-done{background:var(--g-success-bg);box-shadow:inset 0 0 0 1px var(--g-success-text);color:var(--g-success-text)}.spo-dot-today{background:var(--g-accent);box-shadow:0 2px 8px #0070f33d,0 0 0 3px #0070f326;transform:scale(1.1)}.spo-dot-today:hover{transform:scale(1.2)}.spo-dot-num{font-size:11px;font-weight:600;line-height:1;color:var(--g-text-secondary)}.spo-dot-today .spo-dot-num{color:#fff}.spo-dot-done .spo-dot-num{color:var(--g-success-text)}.spo-dot-partial .spo-dot-num{color:var(--g-warning-text)}.spo-dot-failed .spo-dot-num,.spo-dot-future .spo-dot-num{color:var(--g-text-tertiary)}.spo-dot-selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--g-accent) 24%,transparent)}.spo-dot-future{background:transparent;box-shadow:inset 0 0 0 1px #00000014;border:1px dashed rgba(0,0,0,.1)}body.dark-mode .spo-dot-future{border-color:#ffffff1f}.spo-tooltip{position:absolute;top:-42px;left:50%;transform:translate(-50%);background:#18181b;color:#fff;font-size:12px;font-weight:500;padding:6px 10px;border-radius:var(--g-radius-sm);white-space:nowrap;z-index:20;pointer-events:none}@keyframes today-progress-grow{0%{width:0}}.spo-tooltip-arrow{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #18181B}.twc-card{background:var(--g-bg-elevated);border:1px solid var(--g-border-base);border-radius:var(--g-radius-lg);padding:14px 20px;box-shadow:var(--g-shadow-sm);width:100%;display:flex;align-items:center;gap:12px}.twc-nav-btn,.twc-calendar-btn{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--g-radius-md);color:var(--g-text-secondary);cursor:pointer;transition:var(--g-transition);padding:0}.twc-nav-btn:hover,.twc-calendar-btn:hover{background:var(--g-bg-subtle);color:var(--g-text-primary)}.twc-nav-btn svg,.twc-calendar-btn svg{display:block}.twc-week-info{flex:1;min-width:120px;display:flex;flex-direction:column;align-items:center;gap:2px}.twc-week-label{font-size:.88rem;line-height:1.2;font-weight:600;color:var(--g-text-primary)}.twc-week-dates{font-size:.75rem;line-height:1.2;color:var(--g-text-tertiary)}.twc-toggle{margin-left:auto;display:flex;align-items:center;gap:0;padding:2px;border-radius:var(--g-radius-md);background:var(--g-bg-subtle)}.twc-toggle-btn{display:flex;align-items:center;gap:5px;min-height:30px;padding:6px 12px;background:transparent;border:none;font-size:12px;font-weight:400;color:var(--g-text-tertiary);cursor:pointer;transition:var(--g-transition);border-radius:calc(var(--g-radius-md) - 2px);white-space:nowrap}.twc-toggle-btn:first-child{border-radius:calc(var(--g-radius-md) - 2px)}.twc-toggle-btn:last-child{border-radius:calc(var(--g-radius-md) - 2px)}.twc-toggle-btn.twc-toggle-active{background:var(--g-bg-elevated);color:var(--g-text-primary);font-weight:500;box-shadow:var(--g-shadow-sm)}.today-section{display:flex;flex-direction:column}.today-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}.today-section-header-left{display:inline-flex;align-items:center;gap:8px}.today-section-icon{width:20px;height:20px;color:var(--g-text-tertiary);flex:0 0 auto}.today-section-title{font-size:16px;line-height:24px;font-weight:600;color:var(--g-text-primary)}.today-dayplan-section,.today-open-targets-section{padding:0;background:transparent;border:none;box-shadow:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;gap:0}.today-dayplan-section .list,.today-open-targets-section .list{gap:0}.today-habits-section .hsc-grid{background:transparent;border:none;border-radius:0;padding:0;display:flex;flex-direction:column;gap:0}.today-dayplan-section .block,.today-open-targets-section .weekly-target,.today-habits-section .habit-card{margin-top:0;margin-bottom:0}.today-open-targets-section .weekly-target+.weekly-target{margin-top:12px}.today-section-link{font-size:13px;line-height:20px;font-weight:500;color:var(--g-accent);background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--g-radius-sm);transition:var(--g-transition);text-decoration:none}.today-section-link:hover{color:var(--g-accent-hover);background:var(--g-accent-subtle)}.hsc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.hsc-card{background:var(--g-bg-elevated);border:1px solid var(--g-border-base);border-radius:var(--g-radius-lg);padding:16px 20px;box-shadow:var(--g-shadow-sm);display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:var(--g-transition);position:relative;overflow:hidden}.hsc-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--g-accent);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.hsc-card:hover{border-color:#00000014;box-shadow:var(--g-shadow-md);transform:translateY(-1px)}.hsc-card:hover:before{opacity:1}.hsc-card-done{border-color:#0596694d;background:#05966905}.hsc-header{display:flex;justify-content:space-between;align-items:center}.hsc-info{display:flex;align-items:center;gap:10px;min-width:0}.hsc-icon-wrap{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:var(--g-accent-subtle);display:flex;align-items:center;justify-content:center;color:var(--g-accent)}.hsc-name{font-size:15px;line-height:22px;font-weight:600;color:var(--g-text-primary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:160px}.hsc-checkbox{flex-shrink:0;width:24px;height:24px;border:2px solid var(--g-border-strong);border-radius:var(--g-radius-sm);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--g-transition);padding:0}.hsc-checkbox:hover:not(.hsc-checkbox-checked){border-color:var(--g-accent);background:var(--g-accent-subtle)}.hsc-checkbox-checked{border-color:var(--g-success-text);background:var(--g-success-text);animation:hsc-check-bounce .3s cubic-bezier(.34,1.56,.64,1) forwards}.hsc-checkbox-checked svg{animation:hsc-checkmark-draw .2s ease-out 80ms backwards}@keyframes hsc-check-bounce{0%{transform:scale(.8)}60%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes hsc-checkmark-draw{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.hsc-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hsc-streak-badge{display:inline-flex;align-items:center;gap:5px;background:#0070f31a;color:#0070f3;font-size:13px;line-height:18px;font-weight:600;padding:4px 10px;border-radius:var(--g-radius-sm)}.hsc-streak-zero{background:#0000000a;color:var(--g-text-tertiary)}body.dark-mode .hsc-streak-zero{background:#ffffff0f}.hsc-success-rate{font-size:13px;line-height:18px;font-weight:500}.hsc-mini-graph{display:flex;gap:3px;width:100%;padding-bottom:16px}.hsc-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}.hsc-bar-track{width:100%;height:32px;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.hsc-bar-fill{width:100%;border-radius:3px 3px 0 0;transition:height .2s ease-out,opacity .15s ease;min-height:4px}.hsc-bar-label{position:absolute;bottom:-14px;width:100%;text-align:center;font-size:9px;line-height:12px;font-weight:500;color:var(--g-text-tertiary)}.hsc-bar-tooltip{position:absolute;top:-36px;left:50%;transform:translate(-50%);background:#18181b;color:#fff;font-size:11px;font-weight:500;padding:5px 8px;border-radius:var(--g-radius-sm);white-space:nowrap;z-index:20;pointer-events:none}.hsc-bar-tooltip-arrow{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #18181B}.hsc-empty-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;padding:20px 24px;background:transparent;border:1px dashed var(--g-border-strong);border-radius:var(--g-radius-md);font-size:14px;line-height:20px;font-weight:500;color:var(--g-text-secondary);cursor:pointer;transition:var(--g-transition)}.hsc-empty-btn svg{color:var(--g-text-tertiary)}.hsc-empty-btn:hover{background:var(--g-bg-subtle);border-style:solid;border-color:#0000002e}.hsc-empty-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.today-geist-container{padding:0 0 24px;gap:0}.today-progress-overview-wrap{margin-bottom:24px}.today-week-navigation-wrap,.today-content-section,.today-content-section-week-open,.today-habits-section,.today-review-section{margin-bottom:20px}.twc-card{padding:12px 14px;gap:8px;flex-wrap:wrap}.twc-week-info{order:0;flex:1 1 100%}.twc-nav-btn,.twc-calendar-btn,.twc-toggle{order:1}.twc-toggle{margin-left:auto}.spo-card{padding:24px}.spo-dot{width:22px;height:22px}.spo-dot-num{font-size:11px}.twc-toggle-btn span{display:none}.twc-toggle-btn{padding:6px 8px}.hsc-grid{grid-template-columns:1fr}.hsc-card{padding:14px 16px}.today-dayplan-section,.today-open-targets-section{padding:0}.today-dayplan-composer-card{padding:12px}.today-habits-section .hsc-grid{padding:0}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-base)!important;font-size:var(--font-size-base)!important;line-height:var(--line-height-base)!important;font-weight:var(--font-weight-regular)!important;color:var(--color-text-primary)!important;background-color:var(--color-background-base)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}button,a,input,select,textarea{transition:all var(--duration-fast) var(--ease-standard)!important}.app-main,.page,.main-content,[class*=content-wrapper]{max-width:1460px!important;margin:0 auto;padding:var(--space-12) var(--space-6)!important}.app-shell-page{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.app-main{max-width:none!important;width:100%!important;margin:0!important;padding:var(--space-2) clamp(16px,2.1vw,30px) var(--space-10)!important;gap:12px!important}.app-content-header{padding:0 2px 8px!important}.dashboard-tab-panel{width:100%;margin-top:0}.dashboard-tab-panel>*{width:100%}@media (max-width: 768px){.app-main,.page,.main-content,[class*=content-wrapper]{padding:var(--space-6) var(--space-4)!important}.dashboard-tab-panel{margin-top:0}}button[class*=primary],.btn-primary,button[class*=accent]{background-color:var(--color-accent-base)!important;color:#fff!important;border:none!important;border-radius:var(--radius-md)!important;padding:10px 20px!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-medium)!important;cursor:pointer}button[class*=primary]:hover,.btn-primary:hover,button[class*=accent]:hover{background-color:var(--color-accent-hover)!important;transform:translateY(-1px)}button[class*=primary]:active,.btn-primary:active,button[class*=accent]:active{transform:translateY(0)}button[class*=secondary],.btn-secondary{background-color:transparent!important;color:var(--color-text-primary)!important;border:1px solid var(--color-border-strong)!important;border-radius:var(--radius-md)!important;padding:10px 20px!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-medium)!important}button[class*=secondary]:hover,.btn-secondary:hover{background-color:var(--color-background-subtle)!important}button[class*=ghost],.btn-ghost{background-color:transparent!important;color:var(--color-text-secondary)!important;border:none!important;border-radius:var(--radius-md)!important;padding:10px 20px!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-medium)!important}button[class*=ghost]:hover,.btn-ghost:hover{background-color:var(--color-background-subtle)!important;color:var(--color-text-primary)!important}button[class*=icon]:not(.twc-nav-btn):not(.today-geist-ghost-btn),.btn-icon{background-color:transparent;color:var(--color-text-secondary);border:none;border-radius:var(--radius-md);padding:var(--space-2);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px}button[class*=icon]:not(.twc-nav-btn):not(.today-geist-ghost-btn):hover,.btn-icon:hover{background-color:var(--color-background-subtle);color:var(--color-text-primary)}button[class*=danger],.btn-danger{background-color:var(--color-danger-text)!important;color:#fff!important;border:none!important;border-radius:var(--radius-md)!important;padding:10px 20px!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-medium)!important}button[class*=danger]:hover,.btn-danger:hover{background-color:#b91c1c!important;transform:translateY(-1px)}button:disabled{opacity:.5!important;cursor:not-allowed!important;transform:none!important}[class*=card]:not(.spo-card):not(.twc-card):not(.hsc-card):not(.today-geist-container):not(.today-dayplan-section):not(.today-open-targets-section):not(.today-daily-review-card):not([class*=book-card]):not([class*=books-]),.card{background-color:var(--color-background-elevated)!important;border:1px solid var(--color-border-base)!important;border-radius:var(--radius-lg)!important;padding:var(--space-6);box-shadow:var(--shadow-sm)!important}[class*=card][class*=interactive]:not(.spo-card):not(.twc-card):not(.hsc-card):not([class*=book-card]):not([class*=books-]),.card-interactive,[class*=card]:has(a):not(.spo-card):not(.twc-card):not(.hsc-card):not([class*=book-card]):not([class*=books-]),[class*=card][role=button]:not(.spo-card):not(.twc-card):not(.hsc-card):not([class*=book-card]):not([class*=books-]){cursor:pointer}[class*=card][class*=interactive]:not(.spo-card):not(.twc-card):not(.hsc-card):not([class*=book-card]):not([class*=books-]):hover,.card-interactive:hover,[class*=card]:has(a):not(.spo-card):not(.twc-card):not(.hsc-card):not([class*=book-card]):not([class*=books-]):hover,[class*=card][role=button]:not(.spo-card):not(.twc-card):not(.hsc-card):not([class*=book-card]):not([class*=books-]):hover{border-color:var(--color-border-strong)!important;box-shadow:var(--shadow-md)!important;transform:translateY(-2px)}input[type=text]:not(.search-input),input[type=email],input[type=password],input[type=number],input[type=url],input[type=date],textarea,select{background-color:var(--color-background-base)!important;border:1px solid var(--color-border-base)!important;border-radius:var(--radius-md)!important;padding:var(--space-3) var(--space-4)!important;font-family:var(--font-family-base)!important;font-size:var(--font-size-base)!important;color:var(--color-text-primary)!important;width:100%}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=url]:focus,input[type=date]:focus,textarea:focus,select:focus{outline:none!important;border-color:var(--color-accent-base)!important;box-shadow:var(--shadow-focus)!important}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)!important}input[type=checkbox]:not(.hsc-checkbox),input[type=radio]{width:20px;height:20px;border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer}input[type=radio]{border-radius:50%}input[type=checkbox]:checked:not(.hsc-checkbox),input[type=radio]:checked{background-color:var(--color-accent-base)!important;border-color:var(--color-accent-base)!important}[class*=badge]:not(.spo-trend-badge):not(.hsc-streak-badge),.badge{display:inline-flex!important;align-items:center!important;padding:4px 10px!important;border-radius:var(--radius-sm)!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-semibold)!important;line-height:var(--line-height-xs)!important}[class*=badge][class*=success],.badge-success{background-color:var(--color-success-bg)!important;color:var(--color-success-text)!important}[class*=badge][class*=warning],.badge-warning{background-color:var(--color-warning-bg)!important;color:var(--color-warning-text)!important}[class*=badge][class*=danger],.badge-danger{background-color:var(--color-danger-bg)!important;color:var(--color-danger-text)!important}[class*=badge][class*=info],.badge-info{background-color:var(--color-info-bg)!important;color:var(--color-info-text)!important}.app-sidebar{background-color:var(--color-background-base)!important;border-right:1px solid var(--color-border-base)!important}.app-sidebar-nav-item,.sidebar-item{gap:var(--space-3)!important;padding:10px 12px!important;border-radius:var(--radius-md)!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-medium)!important;color:var(--color-text-secondary)!important}.app-sidebar-nav-item:hover,.sidebar-item:hover{background-color:var(--color-background-subtle)!important;color:var(--color-text-primary)!important}.app-sidebar-nav-item.active,.sidebar-item-active{background-color:var(--color-accent-subtle)!important;color:var(--color-accent-text)!important;font-weight:var(--font-weight-semibold)!important;border:none!important;box-shadow:none!important}.app-sidebar-quick-btn{background-color:var(--color-accent-base)!important;color:#fff!important;border:none!important;margin-bottom:var(--space-4)}.app-sidebar-quick-btn:hover{background-color:var(--color-accent-hover)!important}.app-content-header,[class*=header]:not([class*=books-]):not([class*=book-]),.header,.top-bar{background-color:transparent!important;padding:var(--space-4) 0!important}.app-content-header-actions button:not(.today-geist-ghost-btn),[class*=header]:not([class*=books-]):not([class*=book-]) button:not(.today-geist-ghost-btn),.header button:not(.today-geist-ghost-btn){background-color:transparent!important;color:var(--color-text-secondary)!important;padding:var(--space-2)!important;border-radius:var(--radius-md)!important}.app-content-header-actions button:hover:not(.today-geist-ghost-btn),[class*=header]:not([class*=books-]):not([class*=book-]) button:hover:not(.today-geist-ghost-btn),.header button:hover:not(.today-geist-ghost-btn){background-color:var(--color-background-subtle)!important;color:var(--color-text-primary)!important}.today-dayplan-header button.today-dayplan-add-btn{padding:0 10px!important;border:1px solid var(--color-accent-base)!important;background:var(--color-accent-base)!important;color:#fff!important;box-shadow:var(--shadow-sm)}.today-dayplan-header button.today-dayplan-add-btn:hover{background:var(--color-accent-hover)!important;border-color:var(--color-accent-hover)!important;color:#fff!important;box-shadow:var(--shadow-md)}[class*=week-calendar],[class*=wochenkalender],.week-nav{overflow:visible!important}[class*=week-calendar] [class*=days],[class*=days-container]{display:flex!important;gap:var(--space-1)!important;flex:1!important;justify-content:center!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}[class*=day-item][class*=active]:not(.twc-day-active),[class*=day-item][class*=today]:not(.twc-day-today),.week-day-active{background-color:var(--color-accent-base)!important;border-color:var(--color-accent-base)!important;color:#fff!important;box-shadow:0 2px 8px #0070f33d!important}[class*=day-item][class*=active]:not(.twc-day-active) span,.week-day-active span{color:#fff!important}[class*=view-toggle]:not(.books-view-toggle),.view-switcher{background-color:var(--color-background-subtle)!important;border-radius:var(--radius-md)!important;padding:2px!important}[class*=view-toggle]:not(.books-view-toggle) button{background-color:transparent!important;border:none!important;padding:6px 12px!important;border-radius:var(--radius-sm)!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-regular)!important;color:var(--color-text-tertiary)!important}[class*=view-toggle]:not(.books-view-toggle) button[class*=active],[class*=view-toggle]:not(.books-view-toggle) button[aria-selected=true]{background-color:var(--color-background-elevated)!important;color:var(--color-text-primary)!important;font-weight:var(--font-weight-medium)!important;box-shadow:var(--shadow-sm)!important}.text-2xl{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.text-xl{font-size:var(--font-size-xl);line-height:var(--line-height-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.text-lg{font-size:var(--font-size-lg);line-height:var(--line-height-lg);font-weight:var(--font-weight-medium)}.text-base{font-size:var(--font-size-base);line-height:var(--line-height-base);font-weight:var(--font-weight-regular)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:var(--font-weight-regular)}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-xs);font-weight:var(--font-weight-regular)}.text-primary{color:var(--color-text-primary)!important}.text-secondary{color:var(--color-text-secondary)!important}.text-tertiary{color:var(--color-text-tertiary)!important}.text-accent{color:var(--color-accent-text)!important}button.today-dayplan-add-btn,.today-dayplan-header .today-dayplan-add-btn,.today-dayplan-header-actions .today-dayplan-add-btn,button.today-empty-add-btn{background-color:var(--color-accent-base)!important;border:1px solid var(--color-accent-base)!important;color:#fff!important}button.today-dayplan-add-btn:hover,.today-dayplan-header .today-dayplan-add-btn:hover,.today-dayplan-header-actions .today-dayplan-add-btn:hover,button.today-empty-add-btn:hover{background-color:var(--color-accent-hover)!important;border-color:var(--color-accent-hover)!important;color:#fff!important}button.today-dayplan-add-btn .today-dayplan-add-icon{color:#fff!important}.planner-completion-track{--completion-progress: 0;--completion-track-width: 44px;--completion-track-height: 24px;--completion-knob-size: 18px;--completion-knob-gap: 3px;--completion-knob-travel: calc(var(--completion-track-width) - var(--completion-knob-size) - (var(--completion-knob-gap) * 2));width:var(--completion-track-width);min-width:var(--completion-track-width);height:var(--completion-track-height);border-radius:999px;border:1px solid color-mix(in srgb,var(--color-border-strong, var(--border)) 70%,transparent);background:color-mix(in srgb,var(--color-background-subtle, var(--bg-subtle)) 90%,var(--color-background-elevated, var(--bg-card)));overflow:hidden;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.planner-completion-track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:color-mix(in srgb,var(--color-accent-base, var(--accent)) 20%,transparent);transform-origin:left center;transform:scaleX(var(--completion-progress));transition:transform var(--transition-fast),background-color var(--transition-fast)}.planner-completion-handle{position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-radius:inherit;background:transparent;padding:0;margin:0;opacity:1;color:color-mix(in srgb,var(--color-accent-base, var(--accent)) 80%,var(--color-text-primary, var(--text-primary)));transition:none}.planner-completion-handle:before{content:"";position:absolute;top:50%;left:var(--completion-knob-gap);width:var(--completion-knob-size);height:var(--completion-knob-size);border-radius:999px;border:1px solid color-mix(in srgb,var(--color-border-strong, var(--border)) 75%,transparent);background:#fff;box-shadow:0 1px 2px #0f172a38;transform:translateY(-50%) translate(calc(var(--completion-progress) * var(--completion-knob-travel)));transition:transform var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.planner-completion-handle svg{position:absolute;top:50%;left:calc(var(--completion-knob-gap) + (var(--completion-knob-size) / 2));width:11px;height:11px;transform:translate(-50%,-50%) translate(calc(var(--completion-progress) * var(--completion-knob-travel)));opacity:.76;transition:transform var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.planner-completion-track.is-slide-enabled .planner-completion-handle{cursor:pointer}.planner-completion-track.is-click-enabled:hover{border-color:color-mix(in srgb,var(--color-accent-base, var(--accent)) 60%,var(--color-border-strong, var(--border)))}.planner-completion-track.is-done{border-color:color-mix(in srgb,var(--success) 70%,var(--color-border-strong, var(--border)));background:color-mix(in srgb,var(--success) 14%,var(--color-background-elevated, var(--bg-card)))}.planner-completion-track.is-done:before{background:color-mix(in srgb,var(--success) 28%,transparent)}.planner-completion-track.is-done .planner-completion-handle{color:var(--success)}.planner-completion-track.is-done .planner-completion-handle svg{opacity:1}.planner-completion-track.is-dragging:before,.planner-completion-track.is-dragging .planner-completion-handle:before,.planner-completion-track.is-dragging .planner-completion-handle svg{transition:none}.planner-target-chip{border:1px solid color-mix(in srgb,var(--planner-target-accent, var(--color-accent-base, var(--accent-500))) 72%,var(--color-border-base, var(--border)));background:transparent;color:color-mix(in srgb,var(--planner-target-accent, var(--color-accent-base, var(--accent-500))) 78%,var(--color-text-primary, var(--text-primary)))}.planner-target-dot{background:var(--planner-target-accent, var(--color-accent-base, var(--accent-500)))}.today-geist-root .today-dayplan-header.today-dayplan-header .today-dayplan-header-actions .today-add-block-plus-btn.today-add-block-plus-btn:not(.today-geist-ghost-btn){background-color:var(--color-accent-base)!important;border:1px solid var(--color-accent-base)!important;color:#fff!important}.today-geist-root .today-dayplan-header.today-dayplan-header .today-dayplan-header-actions .today-add-block-plus-btn.today-add-block-plus-btn:not(.today-geist-ghost-btn):hover{background-color:var(--color-accent-hover)!important;border-color:var(--color-accent-hover)!important;color:#fff!important}.today-geist-root .today-add-block-plus-btn .today-dayplan-add-icon{color:#fff!important}.today-geist-root .today-add-block-cta-btn.today-add-block-cta-btn{background-color:var(--color-accent-base)!important;border:1px solid var(--color-accent-base)!important;color:#fff!important}.today-geist-root .today-add-block-cta-btn.today-add-block-cta-btn:hover{background-color:var(--color-accent-hover)!important;border-color:var(--color-accent-hover)!important;color:#fff!important}.today-review-section .today-daily-review-card .daily-review-header{padding:12px 18px 14px!important}.today-review-section .today-daily-review-card .grid{padding:14px 18px 18px!important}.today-geist-root{font-family:var(--font-sans)}.today-dayplan-header,.today-open-targets-section>.today-section-header{margin-bottom:8px}.today-habits-section .today-section-header{margin-bottom:12px}.today-content-section-dayplan,.today-content-section-week-open,.today-habits-section{margin-bottom:32px}.today-review-section .today-daily-review-card{margin-top:32px}.today-dayplan-section,.today-open-targets-section,.today-habits-section .today-section{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.today-dayplan-section .today-list-sections{display:grid;gap:10px}.today-dayplan-section .today-blocks-group{gap:8px}.today-dayplan-section .today-blocks-group-header h4,.today-dayplan-section .today-blocks-group-header .today-blocks-group-label{margin:0}.today-dayplan-section .today-blocks-group-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px;margin-bottom:0}.today-blocks-group-label{display:block;font-size:13px;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--g-text-primary);padding:0}.today-blocks-group-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--g-border-base) 85%,transparent);background:color-mix(in srgb,var(--g-bg-subtle) 70%,var(--g-bg-elevated));color:var(--g-text-tertiary);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;line-height:1}.today-dayplan-section .planner-block-card{min-height:68px;padding:10px 14px!important;display:flex;flex-direction:row;align-items:stretch;gap:10px;background:var(--g-bg-elevated)!important;border-color:color-mix(in srgb,var(--g-border-base) 92%,transparent)!important;box-shadow:0 1px 2px #0f172a0f!important;border-radius:12px!important}.today-dayplan-section .planner-block-card:before{left:0;top:12px;bottom:12px;width:3px;border-radius:0 999px 999px 0;opacity:.62}.today-dayplan-section .planner-block-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f172a17!important}.today-dayplan-section .planner-block-card .drag-handle{align-self:center}.today-dayplan-section .planner-block-card .block-content{min-height:40px;min-width:0;justify-content:center;gap:6px}.today-dayplan-section .planner-block-header{align-items:flex-start;gap:10px}.today-dayplan-section .planner-block-heading-container{min-width:0;display:grid;gap:2px}.today-dayplan-section .planner-block-time-or-type{font-size:12px;line-height:16px;color:var(--g-text-tertiary);font-weight:600;letter-spacing:.01em}.today-dayplan-section .planner-block-heading{line-height:1.35;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}.today-dayplan-section .planner-block-header-target{margin-left:auto;flex:0 0 auto;max-width:min(56%,280px);min-height:20px;padding:2px 8px;font-size:11px;line-height:14px;font-weight:500;text-transform:none;letter-spacing:0;border-radius:999px}.today-dayplan-section .planner-block-header-target .planner-target-dot{width:6px;height:6px}.today-dayplan-section .planner-linked-target-row{min-height:20px;display:flex;align-items:center}.today-dayplan-section .planner-linked-target-info{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;color:var(--g-text-secondary)}.today-dayplan-section .planner-linked-target-info span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-dayplan-section .planner-meta-row{justify-content:space-between;min-height:24px;gap:8px;margin-top:1px}.today-dayplan-section .planner-meta-actions{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.today-dayplan-section .planner-block-actions{gap:4px}.today-dayplan-section .planner-status-chip{margin-left:0;flex:0 0 auto}.today-dayplan-section .planner-block-actions .block-edit-btn,.today-dayplan-section .planner-block-actions .block-delete-x{width:26px;min-width:26px;height:26px;padding:0;border-radius:7px;background:color-mix(in srgb,var(--g-bg-subtle) 56%,transparent);border-color:color-mix(in srgb,var(--g-border-base) 75%,transparent)}.today-dayplan-section .planner-completion-track{width:38px;min-width:38px;height:24px;border-radius:999px}.today-dayplan-section .planner-completion-track .planner-completion-handle:before{width:16px;height:16px}.today-dayplan-section .planner-block-progress{margin-top:2px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--g-border-base) 85%,transparent)}.today-dayplan-section .block-counter-shell{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px}.today-dayplan-section .block-counter-range{height:14px;background-size:100% 6px!important}.today-dayplan-section .block-counter-range::-webkit-slider-runnable-track{height:6px}.today-dayplan-section .block-counter-range::-moz-range-track{height:6px}.today-dayplan-section .block-counter-range::-webkit-slider-thumb{width:14px;height:14px;opacity:1;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));background:#fff;margin-top:-4px}.today-dayplan-section .block-counter-range::-moz-range-thumb{width:14px;height:14px;opacity:1;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));background:#fff}.today-dayplan-section .block-counter-value{min-width:0;text-align:left;font-size:12px;line-height:16px;font-weight:500;color:var(--g-text-secondary)}.today-dayplan-section .block-counter-buttons-wrap{display:inline-flex;align-items:center;gap:6px}.today-dayplan-section .block-counter-side{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px}.today-dayplan-section .block-counter-adjust-btn{width:24px;min-width:24px;height:24px;border-radius:7px}.today-open-targets-section .today-open-target-item{min-height:60px;padding:0 14px;display:flex;flex-direction:column;justify-content:center;gap:0;background:var(--g-bg-elevated)}.today-open-targets-section .today-open-target-head{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.today-open-targets-section .today-open-target-chip{margin-left:auto;flex:0 0 auto}.today-open-targets-section .today-open-target-meta{margin-top:6px;margin-left:0;text-align:left;color:var(--g-text-secondary)}.today-open-targets-section .today-open-target-progress{width:100%;margin-top:8px}.today-dayplan-section .block+.block{margin-top:12px}.today-open-targets-section .today-section-header{margin-bottom:8px!important}.today-open-targets-section .list{gap:8px}.today-open-targets-section .weekly-target+.weekly-target{margin-top:8px}.today-habits-section .habit-card+.habit-card{margin-top:12px}.today-geist-root .today-geist-title{font-size:24px;line-height:32px;font-weight:700;letter-spacing:-.01em;color:var(--g-text-primary)}.today-geist-root .today-section-title,.today-geist-root .today-dayplan-header h3{font-size:16px;line-height:24px;font-weight:600;color:var(--g-text-primary)}.today-geist-root .planner-block-heading,.today-geist-root .today-open-target-item .planner-block-heading,.today-geist-root .hsc-name{font-size:15px;line-height:22px;font-weight:500;color:var(--g-text-primary)}.today-geist-root .planner-block-time-or-type,.today-geist-root .today-open-target-meta,.today-geist-root .planner-linked-target-info,.today-geist-root .hsc-success-rate,.today-geist-root .hsc-bar-label,.today-geist-root .spo-today-meta{font-size:13px;line-height:20px;font-weight:400;color:var(--g-text-secondary)}.today-geist-root .planner-meta-chip,.today-geist-root .today-open-target-chip,.today-geist-root .planner-status-chip{font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:6px}.today-geist-root .spo-dot{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background:#0000000a;box-shadow:none;transform:none}.today-geist-root .spo-dot:hover{transform:none}.today-geist-root .spo-dot-failed{background:#0000000a;border-color:#00000014}.today-geist-root .spo-dot-partial{background:#d977061a;border-color:#d97706;color:#d97706}.today-geist-root .spo-dot-done{background:#0596691a;border-color:#059669;color:#059669}.today-geist-root .spo-dot-today{width:26px;height:26px;min-width:26px;min-height:26px;border:none;background:#0070f3;box-shadow:0 2px 8px #0070f33d,0 0 0 3px #0070f31f}.today-geist-root .spo-dot-future{background:transparent;border:1px dashed rgba(0,0,0,.08);box-shadow:none}.today-geist-root .spo-dot-state-icon{font-size:12px;line-height:1;font-weight:600}.today-geist-root .spo-dot-partial-icon{color:#d97706}.today-geist-root .spo-dot-done .spo-dot-state-icon{color:#059669}.today-geist-root .spo-dot-num{font-size:12px;line-height:1;font-weight:700}.today-geist-root .spo-dot-today .spo-dot-num{color:#fff}.today-geist-root .spo-dot-label-done,.today-geist-root .spo-dot-label-partial{color:var(--g-text-secondary)}.today-geist-root .spo-dot-label-failed,.today-geist-root .spo-dot-label-future{color:var(--g-text-tertiary)}.today-geist-root .spo-dot-label-today{color:#0070f3}.today-geist-root .spo-dot-selected:not(.spo-dot-today){box-shadow:0 0 0 2px #0070f32e}.today-geist-root .spo-dot-today.spo-dot-selected{box-shadow:0 2px 8px #0070f33d,0 0 0 3px #0070f31f,0 0 0 2px #0070f333}.today-habits-section .progress-ring-container,.today-habits-section .progress-ring{width:40px;height:40px}.today-habits-section .progress-ring-bg,.today-habits-section .progress-ring-fill{stroke-width:3}.today-habits-section .progress-ring-text{font-size:12px;font-weight:600}.today-geist-root .today-add-block-plus-btn,.today-geist-root .today-dayplan-header .today-add-block-plus-btn,.today-geist-root .today-dayplan-header-actions .today-add-block-plus-btn{background:#0070f3!important;border:1px solid #0070F3!important;color:#fff!important}.today-geist-root .today-add-block-plus-btn:hover,.today-geist-root .today-dayplan-header .today-add-block-plus-btn:hover,.today-geist-root .today-dayplan-header-actions .today-add-block-plus-btn:hover{background:#0059c9!important;border-color:#0059c9!important;color:#fff!important}.today-geist-root .today-add-block-plus-btn .today-dayplan-add-icon,.today-geist-root .today-empty-add-btn.today-add-block-cta-btn svg{color:#fff!important}@media (max-width: 880px){.today-dayplan-section .planner-block-card{min-height:64px;padding:9px 12px!important;gap:10px}.today-dayplan-section .block-content{gap:7px}.today-dayplan-section .planner-meta-row{flex-wrap:wrap;row-gap:6px}.today-dayplan-section .planner-meta-actions{width:100%;justify-content:flex-end}.today-dayplan-section .block-counter-shell{grid-template-columns:1fr;gap:8px}}.today-geist-root .today-dayplan-section .today-dayplan-header,.today-geist-root .today-open-targets-section>.today-section-header,.today-geist-root .today-habits-section .today-section-header,.today-geist-root .today-dayplan-section .today-blocks-group-header{padding:0!important;background:transparent!important;margin-top:0!important}.today-geist-root .today-dayplan-section .today-dayplan-header,.today-geist-root .today-open-targets-section>.today-section-header{margin-bottom:6px!important}.today-geist-root .today-dayplan-section .today-list-sections{gap:8px!important}.today-geist-root .today-dayplan-section .today-blocks-group{gap:4px!important}.today-geist-root .today-dayplan-section .today-blocks-group-header{margin-bottom:0!important}.today-geist-root .today-open-targets-section .list{gap:6px!important}.today-geist-root .today-open-targets-section .weekly-target+.weekly-target{margin-top:6px!important}.today-geist-root .today-dayplan-section .planner-block-card{min-height:60px!important;padding:8px 12px!important;gap:8px!important;align-items:stretch!important;cursor:pointer}.today-geist-root .today-dayplan-section .planner-block-card .drag-handle,.today-geist-root .today-dayplan-section .planner-block-card [data-block-control=true]{cursor:default}.today-geist-root .today-dayplan-section .planner-block-card .block-content{min-height:32px!important;gap:4px!important}.today-geist-root .today-dayplan-section .planner-block-header{gap:8px!important}.today-geist-root .today-dayplan-section .planner-block-time-or-type{font-size:11px!important;line-height:14px!important}.today-geist-root .today-dayplan-section .planner-block-heading{font-size:14px!important;line-height:19px!important}.today-geist-root .today-dayplan-section .planner-block-header-target{max-width:min(50%,230px)!important;min-height:18px!important;padding:1px 6px!important;border-radius:999px!important;font-size:10px!important;line-height:12px!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important}.today-geist-root .today-dayplan-section .planner-meta-row{min-height:20px!important;gap:6px!important}.today-geist-root .today-dayplan-section .planner-meta-chip,.today-geist-root .today-dayplan-section .planner-status-chip{padding:2px 7px!important;min-height:18px!important;font-size:10px!important;line-height:12px!important}.today-geist-root .today-dayplan-section .planner-block-actions{gap:3px!important}.today-geist-root .today-dayplan-section .planner-block-actions .block-delete-x{width:24px!important;min-width:24px!important;height:24px!important}.today-geist-root .today-dayplan-section .planner-completion-track{width:34px!important;min-width:34px!important;height:22px!important}.today-geist-root .today-dayplan-section .planner-block-progress{margin-top:0!important;padding-top:6px!important}.today-geist-root .today-dayplan-section .block-counter-shell{gap:5px!important}.today-geist-root .today-dayplan-section .block-counter-range{height:12px!important;background-size:100% 5px!important}.today-geist-root .today-dayplan-section .block-counter-range::-webkit-slider-runnable-track{height:5px!important}.today-geist-root .today-dayplan-section .block-counter-range::-moz-range-track{height:5px!important}.today-geist-root .today-dayplan-section .block-counter-range::-webkit-slider-thumb{width:12px!important;height:12px!important;margin-top:-3.5px!important}.today-geist-root .today-dayplan-section .block-counter-range::-moz-range-thumb{width:12px!important;height:12px!important}.today-geist-root .today-dayplan-section .block-counter-value{font-size:11px!important;line-height:14px!important}@media (max-width: 880px){.today-geist-root .today-dayplan-section .planner-block-card{min-height:56px!important;padding:7px 10px!important;gap:7px!important}}
