:root,[data-theme=default]{--wk-present: #F59E0B;--wk-present-bg: rgba(245, 158, 11, .08);--wk-present-text: #92400E;--wk-future: #6366F1;--wk-future-bg: rgba(99, 102, 241, .08);--wk-future-text: #4338CA;--wk-past: #94A3B8;--wk-past-bg: rgba(148, 163, 184, .08);--status-complete: #10B981;--status-complete-bg: rgba(16, 185, 129, .1);--status-pending: #F59E0B;--status-overdue: #EF4444;--status-overdue-bg: rgba(239, 68, 68, .08);--text-primary: #0F172A;--primary-color: #6366F1;--primary-light: #E0E7FF;--text-secondary: #475569;--text-muted: #94A3B8;--text-inverse: #FFFFFF;--bg-primary: #FFFFFF;--bg-secondary: #F8FAFC;--bg-tertiary: #F1F5F9;--bg-hover: #E2E8F0;--bg-overlay: rgba(15, 23, 42, .5);--border-light: #E2E8F0;--border-medium: #CBD5E1;--border-focus: #6366F1;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px rgba(15, 23, 42, .05), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 15px rgba(15, 23, 42, .08), 0 4px 6px rgba(15, 23, 42, .04);--shadow-paper: 0 1px 3px rgba(15, 23, 42, .08);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-typewriter: var(--font-sans);--font-handwritten: var(--font-sans);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--torn-edge-1: none;--torn-edge-2: none;--kraft-dark: var(--border-medium);--kraft-medium: var(--border-light);--kraft-light: var(--bg-tertiary);--kraft-cream: var(--bg-secondary);--kraft-white: var(--bg-primary);--ink-black: var(--text-primary);--ink-brown: var(--text-secondary);--ink-faded: var(--text-muted);--ink-light: #94A3B8;--stamp-red: #EF4444;--stamp-red-light: rgba(239, 68, 68, .1);--marker-green: #10B981;--marker-green-light: rgba(16, 185, 129, .1);--highlighter-yellow: #F59E0B;--highlighter-yellow-light: rgba(245, 158, 11, .15);--washi-blue: #6366F1;--washi-blue-light: rgba(99, 102, 241, .1)}[data-theme=default] body{background-color:var(--bg-secondary);background-image:none;line-height:1.6;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}[data-theme=default] .app-header{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-image:none;border-bottom:1px solid rgba(226,232,240,.6);box-shadow:none;transition:box-shadow .2s ease,border-color .2s ease;justify-content:center}[data-theme=default] .app-header.scrolled{box-shadow:0 4px 20px #0000000f;border-bottom-color:#e2e8f0cc}[data-theme=default] .app-header h1{font-size:1.25rem;font-weight:700;letter-spacing:-.03em;text-transform:none;color:var(--text-primary)}.side-drawer{position:fixed;top:0;right:0;bottom:0;width:320px;height:100vh;z-index:100;background:var(--bg-primary);box-shadow:-4px 0 24px #0000001f;transform:translate(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);border-left:1px solid var(--border-light)}.side-drawer.open{transform:translate(0)}.drawer-tabs{position:absolute;top:50%;left:0;transform:translate(-100%,-50%);z-index:101;display:flex;flex-direction:column}.toolkit-actions{display:flex;flex-direction:column;gap:8px;background:var(--bg-tertiary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:12px 8px;border-radius:16px 0 0 16px;box-shadow:-4px 2px 12px #00000014;border:1px solid var(--border-light);border-right:none}.drawer-content{height:100%;overflow-y:auto;background:var(--bg-primary)}.drawer-backdrop{display:none}.tasks-layout.panel-open .tasks-main{padding-right:340px!important;transition:padding-right .35s cubic-bezier(.16,1,.3,1)}.side-toolkit{position:static;transform:none!important;padding:0}.toolkit-btn{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--text-secondary);transition:all .2s ease;cursor:pointer;position:relative}.toolkit-btn:hover{background:#ffffff80;color:var(--text-primary)}.toolkit-btn.active{background:var(--bg-primary);color:var(--primary-color);box-shadow:0 2px 8px #0000000f;transform:scale(1.02);border-color:var(--border-light)}.toolkit-btn:after{content:attr(title);position:absolute;right:120%;top:50%;transform:translateY(-50%) translate(-5px);background:var(--text-primary);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 2px 8px #0000001a}.toolkit-btn:hover:after{opacity:1;transform:translateY(-50%) translate(0)}[data-theme=default] .header-btn{background:transparent;border:1px solid transparent;border-radius:999px;box-shadow:none;color:var(--text-muted);padding:8px 12px;gap:6px;transition:all .15s ease;position:relative;overflow:hidden}[data-theme=default] .header-btn svg{transition:color .15s ease}[data-theme=default] .header-btn:hover{background:var(--bg-tertiary);border-color:var(--border-light);color:var(--text-primary);transform:none;box-shadow:0 2px 8px #0000000a}[data-theme=default] .header-btn:active{transform:scale(.96)}[data-theme=default] .header-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}[data-theme=default] .task-card{background:var(--bg-primary);background-image:none;border-radius:var(--radius-lg);border:1px solid var(--border-light);margin-bottom:8px;padding:14px 18px;box-shadow:var(--shadow-sm);clip-path:none;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}[data-theme=default] .task-card:before,[data-theme=default] .task-card:after{display:none}[data-theme=default] .task-card:hover:not(.dragging){border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-1px)}[data-theme=default] .task-card:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f11a}[data-theme=default] .task-card.dragging{box-shadow:var(--shadow-lg);border-color:var(--border-medium);transform:none;z-index:999}[data-theme=default] .task-card.completed{background:var(--bg-secondary);border-color:var(--border-light);transition:opacity .4s ease .3s}[data-theme=default] .task-card.completed:hover{opacity:1!important;transition:opacity 0s}[data-theme=default] .task-card.completed:not(:hover){opacity:.85}[data-theme=default] .task-title{background:none;padding:0;margin:0;font-size:.9375rem;font-weight:500;color:var(--text-primary);line-height:1.4}[data-theme=default] .task-card.completed .task-title{text-decoration:line-through;text-decoration-color:var(--text-muted);text-decoration-thickness:1.5px;color:var(--text-muted);font-style:normal}[data-theme=default] .chip{border-radius:var(--radius-sm);transform:none;box-shadow:none;border-left:none;font-size:.6875rem;font-weight:500;padding:3px 8px;transition:all var(--transition-fast)}[data-theme=default] .chip.schedule{background:var(--bg-tertiary);color:var(--text-muted)}[data-theme=default] .chip.schedule.present{background:var(--wk-present-bg);color:var(--wk-present-text);border:1px solid rgba(245,158,11,.2)}[data-theme=default] .chip.schedule.future{background:var(--wk-future-bg);color:var(--wk-future-text);border:1px solid rgba(99,102,241,.15)}[data-theme=default] .chip.due-date{background:var(--status-overdue-bg);color:var(--status-overdue);border:1px solid rgba(239,68,68,.15)}[data-theme=default] .chip.routine{background:#8b5cf614;color:#7c3aed;border:1px solid rgba(139,92,246,.15)}[data-theme=default] .chip.rolled-over{background:#f59e0b14;color:#b45309;border:1px solid rgba(245,158,11,.15)}[data-theme=default] .action-indicator{transition:all var(--transition-fast)}[data-theme=default] .action-indicator.complete{background:var(--status-complete);color:#fff;border:none;transform:none;box-shadow:0 1px 2px #10b9814d}[data-theme=default] .action-indicator.complete:hover{transform:scale(1.05)}[data-theme=default] .action-indicator.complete:before{display:none}[data-theme=default] .action-indicator.complete svg{display:block;width:14px;height:14px}[data-theme=default] .action-indicator.due-empty{border:2px solid var(--border-medium);background:var(--bg-primary);box-shadow:none}[data-theme=default] .action-indicator.due-empty:hover{border-color:var(--status-complete);background:var(--status-complete-bg)}[data-theme=default] .action-indicator.future{border:2px solid var(--border-light);background:var(--bg-secondary);box-shadow:none;opacity:.6}[data-theme=default] .action-indicator.future:hover{opacity:1;border-color:var(--wk-future);background:var(--wk-future-bg)}[data-theme=default] .week-section{transition:background var(--transition-normal)}[data-theme=default] .week-section[data-is-present=true]{border-left:3px solid var(--wk-present);background:linear-gradient(90deg,var(--wk-present-bg) 0%,transparent 100%);padding-left:12px;margin-left:-12px;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}[data-theme=default] .week-header-row{display:flex;align-items:center;gap:0;margin-bottom:8px}[data-theme=default] .week-date-label{display:inline;background:transparent;border-left:none;transform:none;box-shadow:none;font-size:.6875rem;font-weight:600;color:var(--text-muted);opacity:1;padding:0;margin:0 0 0 10px;border-radius:0;letter-spacing:.06em;text-transform:uppercase;line-height:1}[data-theme=default] .week-date-label.standalone{margin-left:0;margin-bottom:8px;font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:.6875rem;letter-spacing:.06em}[data-theme=default] .section-header{transform:none;box-shadow:none;text-transform:uppercase;letter-spacing:.06em;display:inline-flex;align-items:center;margin-bottom:4px}[data-theme=default] .section-header:before{display:none}[data-theme=default] .section-header.relative-header{font-size:.875rem;font-weight:800;background:transparent;padding:0;margin:0;border-radius:0;border:none;text-transform:uppercase;letter-spacing:.02em}[data-theme=default] .section-header.relative-header.header-present{color:var(--wk-present)}[data-theme=default] .section-header.relative-header.header-future{color:var(--wk-future)}[data-theme=default] .section-header.relative-header.header-past{color:var(--wk-past)}[data-theme=default] .section-header.month-header{font-size:.6875rem;font-weight:600;color:var(--text-muted);background:transparent;padding:12px 0 4px;border-radius:0;margin-top:16px;margin-bottom:8px}[data-theme=default] .section-header:after{display:none}[data-theme=default] .jump-to-today{background:var(--wk-present);color:var(--text-primary);border-radius:var(--radius-full);border:none;transform:none;letter-spacing:0;font-weight:600;font-size:.75rem;padding:8px 16px;box-shadow:0 2px 8px #f59e0b4d;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,right .35s cubic-bezier(.16,1,.3,1)}.tasks-layout.panel-open .jump-to-today{right:calc(320px + var(--spacing-lg))}[data-theme=default] .jump-to-today:before{display:none}[data-theme=default] .jump-to-today:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}[data-theme=default] .jump-to-today:active{transform:translateY(0)}[data-theme=default] ::-webkit-scrollbar{width:8px;height:8px}[data-theme=default] ::-webkit-scrollbar-track{background:transparent}[data-theme=default] ::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}[data-theme=default] ::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-theme=default] .drag-handle{opacity:.35;transition:opacity var(--transition-fast)}[data-theme=default] .task-card:hover .drag-handle{opacity:.6}[data-theme=default] .drag-handle:hover{opacity:.85}[data-theme=default] .time-btn{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid transparent;font-weight:600}[data-theme=default] .time-btn:hover{background:var(--wk-present-bg);color:var(--wk-present-text);border-color:#f59e0b40}[data-theme=default] .archive-btn{opacity:.6;transition:all var(--transition-fast)}[data-theme=default] .archive-btn:hover{opacity:1;background:var(--status-overdue-bg);color:var(--status-overdue)}[data-theme=default] .chip:hover{filter:brightness(.95)}@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}[data-theme=default] .action-indicator.complete{animation:checkPop .2s ease-out}[data-theme=default] .task-card:focus-within{border-color:var(--border-light);box-shadow:var(--shadow-sm),inset 0 0 0 2px #6366f114}[data-theme=default] .app-header{padding-left:20px;padding-right:20px}[data-theme=default] .task-list{max-width:720px;margin-left:auto;margin-right:auto}[data-theme=default] .task-meta{margin-top:6px;gap:6px}[data-theme=default] .week-date-label{margin-left:8px}[data-theme=default] .week-section[data-is-present=true]{background:linear-gradient(90deg,var(--wk-present-bg) 0%,rgba(245,158,11,.04) 40%,transparent 80%)}[data-theme=scrapbook]{--kraft-dark: #8B7355;--kraft-medium: #B8A088;--kraft-light: #D4C4A8;--kraft-cream: #F5EDE0;--kraft-white: #FAF7F2;--ink-black: #2C2416;--ink-brown: #5D4E37;--ink-faded: #8B7B68;--ink-light: #A89B8B;--stamp-red: #C23B22;--stamp-red-light: rgba(194, 59, 34, .15);--marker-green: #3D7A4A;--marker-green-light: rgba(61, 122, 74, .2);--highlighter-yellow: #F4D35E;--highlighter-yellow-light: rgba(244, 211, 94, .4);--washi-blue: #6B8CAE;--washi-blue-light: rgba(107, 140, 174, .25);--wk-present: var(--highlighter-yellow);--wk-present-bg: var(--highlighter-yellow-light);--wk-future: var(--washi-blue);--wk-future-bg: var(--washi-blue-light);--wk-past: var(--ink-light);--wk-past-bg: rgba(168, 155, 139, .15);--status-complete: var(--marker-green);--status-pending: var(--highlighter-yellow);--status-overdue: var(--stamp-red);--text-primary: var(--ink-black);--text-secondary: var(--ink-brown);--text-muted: var(--ink-faded);--text-inverse: var(--kraft-cream);--bg-primary: var(--kraft-white);--bg-secondary: var(--kraft-cream);--bg-tertiary: var(--kraft-light);--bg-overlay: rgba(44, 36, 22, .6);--border-light: var(--kraft-medium);--border-medium: var(--kraft-dark);--shadow-sm: 2px 2px 4px rgba(44, 36, 22, .08);--shadow-md: 3px 4px 8px rgba(44, 36, 22, .12), -1px -1px 2px rgba(255, 255, 255, .5);--shadow-lg: 5px 6px 16px rgba(44, 36, 22, .15), -2px -2px 4px rgba(255, 255, 255, .4);--shadow-paper: 2px 3px 6px rgba(44, 36, 22, .18), 0 0 1px rgba(44, 36, 22, .1);--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--font-typewriter: "Special Elite", "Courier Prime", "Courier New", monospace;--font-handwritten: "Special Elite", cursive;--font-sans: var(--font-typewriter);--torn-edge-1: polygon(0% 2%, 3% 0%, 8% 3%, 15% 1%, 22% 2%, 30% 0%, 38% 2%, 45% 1%, 52% 3%, 60% 0%, 68% 2%, 75% 1%, 82% 3%, 90% 0%, 95% 2%, 100% 1%, 100% 97%, 97% 100%, 92% 98%, 85% 100%, 78% 98%, 70% 100%, 62% 97%, 55% 100%, 48% 98%, 40% 100%, 32% 98%, 25% 100%, 18% 97%, 10% 100%, 5% 98%, 0% 100%);--torn-edge-2: polygon(0% 1%, 5% 3%, 12% 0%, 20% 2%, 28% 1%, 35% 3%, 42% 0%, 50% 2%, 58% 1%, 65% 3%, 72% 0%, 80% 2%, 88% 1%, 94% 3%, 100% 0%, 100% 98%, 95% 100%, 88% 97%, 80% 100%, 72% 98%, 65% 100%, 58% 97%, 50% 100%, 42% 98%, 35% 100%, 28% 97%, 20% 100%, 12% 98%, 5% 100%, 0% 97%)}[data-theme=scrapbook] body{line-height:1.6;letter-spacing:.02em;background-color:var(--kraft-cream);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"),linear-gradient(180deg,var(--kraft-cream) 0%,var(--kraft-light) 100%);background-blend-mode:soft-light,normal}[data-theme=scrapbook] .app-header{background:var(--kraft-light);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)' opacity='0.05'/%3E%3C/svg%3E");border-bottom:3px solid var(--kraft-dark);box-shadow:0 3px 8px #2c241626}[data-theme=scrapbook] .app-header h1{font-size:1.5rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-black)}[data-theme=scrapbook] .header-btn{background:var(--kraft-cream);border:2px solid var(--kraft-dark);border-radius:0;color:var(--ink-brown);box-shadow:2px 2px 0 var(--kraft-dark)}[data-theme=scrapbook] .header-btn:hover{background:var(--kraft-white);color:var(--ink-black);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--kraft-dark)}[data-theme=scrapbook] .task-card{background:var(--kraft-white);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)' opacity='0.04'/%3E%3C/svg%3E"),linear-gradient(180deg,rgba(255,255,255,.4) 0%,transparent 20%,transparent 80%,rgba(0,0,0,.03) 100%);border:none;border-radius:0;padding:var(--spacing-md) var(--spacing-lg);margin-bottom:16px;box-shadow:0 1px 1px #2c241626,0 4px 8px #2c24161f,0 8px 16px #2c241614,0 16px 32px #2c24160d,inset 0 1px #fff9,inset 0 -2px 4px #2c24160a;clip-path:var(--torn-edge-1)}[data-theme=scrapbook] .task-card:after{content:"";position:absolute;bottom:0;left:5%;right:5%;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(139,115,85,.3) 10%,rgba(139,115,85,.4) 50%,rgba(139,115,85,.3) 90%,transparent 100%);filter:blur(1px);pointer-events:none}[data-theme=scrapbook] .task-card:nth-child(3n+1){transform:rotate(-.4deg) translateZ(0)}[data-theme=scrapbook] .task-card:nth-child(3n+2){transform:rotate(.5deg) translateZ(0);clip-path:var(--torn-edge-2)}[data-theme=scrapbook] .task-card:nth-child(3n){transform:rotate(-.25deg) translateZ(0)}[data-theme=scrapbook] .task-card:nth-child(5n){transform:rotate(.6deg) translateZ(0)}[data-theme=scrapbook] .task-card:before{content:"";position:absolute;top:-6px;left:20px;width:45px;height:16px;background:linear-gradient(180deg,#f4d35ebf,#f4d35e8c);transform:rotate(-2deg);box-shadow:0 2px 3px #0000001f;opacity:.9;z-index:1}[data-theme=scrapbook] .task-card:nth-child(2n):before{left:auto;right:30px;transform:rotate(3deg);background:linear-gradient(180deg,#6b8cae99,#6b8cae66)}[data-theme=scrapbook] .task-card:nth-child(4n):before{display:none}[data-theme=scrapbook] .task-card:hover{box-shadow:0 2px 2px #2c24161f,0 6px 12px #2c241626,0 12px 24px #2c24161a,inset 0 1px #ffffffb3,inset 0 -2px 4px #2c241608;transform:rotate(0) translateY(-1px);z-index:10}[data-theme=scrapbook] .task-card.dragging{box-shadow:0 4px 4px #2c241626,0 12px 24px #2c241633,0 24px 48px #2c241626,inset 0 1px #ffffff80;transform:rotate(2deg) scale(1.03) translateY(-8px)}[data-theme=scrapbook] .task-card.completed{opacity:.85;background:var(--kraft-cream)}[data-theme=scrapbook] .task-title{font-size:.95rem;font-weight:600;color:var(--ink-black);display:inline;background:linear-gradient(to top,rgba(244,211,94,.45) 0%,rgba(244,211,94,.45) 35%,transparent 35%);padding:0 2px;margin-left:-2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}[data-theme=scrapbook] .task-card.completed .task-title{text-decoration:line-through;text-decoration-color:var(--stamp-red);text-decoration-thickness:2px;color:var(--ink-faded);font-style:italic;background:none}[data-theme=scrapbook] .chip{border-radius:0;transform:rotate(-1deg);box-shadow:1px 1px 2px #2c24161a}[data-theme=scrapbook] .chip:nth-child(2n){transform:rotate(.5deg)}[data-theme=scrapbook] .chip:nth-child(3n){transform:rotate(-.8deg)}[data-theme=scrapbook] .chip.schedule{background:var(--kraft-light);color:var(--ink-brown);border-left:3px solid var(--kraft-dark)}[data-theme=scrapbook] .chip.schedule.present{background:var(--highlighter-yellow);color:var(--ink-brown);border-left:3px solid #C9A227}[data-theme=scrapbook] .chip.schedule.future{background:var(--washi-blue);color:var(--kraft-white);border-left:3px solid #4A6B8A}[data-theme=scrapbook] .chip.due-date{background:var(--stamp-red-light);color:var(--stamp-red);border-left:3px solid var(--stamp-red)}[data-theme=scrapbook] .chip.routine{background:#8b5cb433;color:#5d3a8e;border-left:3px solid #8B5CB4}[data-theme=scrapbook] .chip.rolled-over{background:#c2823b33;color:#8b5a2b;border-left:3px solid #C2823B}[data-theme=scrapbook] .action-indicator.complete{background:transparent;color:var(--marker-green);border:3px solid var(--marker-green);transform:rotate(-8deg);box-shadow:inset 0 0 0 1px var(--marker-green),1px 1px #3d7a4a4d}[data-theme=scrapbook] .action-indicator.complete:before{content:"✓";font-size:18px;font-weight:900;color:var(--marker-green)}[data-theme=scrapbook] .action-indicator.complete svg{display:none}[data-theme=scrapbook] .action-indicator.complete:hover:not(:disabled){background:var(--marker-green-light);transform:rotate(-5deg) scale(1.05)}[data-theme=scrapbook] .action-indicator.future{background:var(--washi-blue);border:2px solid #4A6B8A;box-shadow:1px 2px 3px #2c241626}[data-theme=scrapbook] .action-indicator.due-empty{border:3px dashed var(--highlighter-yellow);box-shadow:inset 0 0 8px #f4d35e4d}[data-theme=scrapbook] .action-indicator.due-empty:hover{background:var(--highlighter-yellow-light);border-style:solid}[data-theme=scrapbook] .week-section{padding-top:var(--spacing-lg)}[data-theme=scrapbook] .week-section[data-is-present=true]{border-left:6px solid var(--highlighter-yellow);padding-left:var(--spacing-md);margin-left:calc(-1 * var(--spacing-md));background:linear-gradient(90deg,rgba(244,211,94,.1) 0%,transparent 50%)}[data-theme=scrapbook] .week-date-label{font-size:.85rem;font-weight:400;color:var(--ink-brown);padding:4px var(--spacing-md);display:inline-block;background:var(--kraft-light);border-left:4px solid var(--kraft-dark);transform:rotate(-.5deg);box-shadow:1px 2px 3px #2c24161a}[data-theme=scrapbook] .section-header{background:var(--kraft-medium);transform:rotate(-.3deg);box-shadow:2px 3px 4px #2c241626;font-size:1rem;letter-spacing:.15em}[data-theme=scrapbook] .section-header:before{content:"";position:absolute;top:0;right:-8px;border-left:8px solid var(--kraft-medium);border-top:50% solid transparent;border-bottom:50% solid transparent}[data-theme=scrapbook] .jump-to-today{background:var(--highlighter-yellow);color:var(--ink-black);border-radius:0;transform:rotate(-2deg);border:2px solid #C9A227;letter-spacing:.05em}[data-theme=scrapbook] .jump-to-today:before{content:"📌";position:absolute;top:-12px;left:50%;transform:translate(-50%);font-size:16px}[data-theme=scrapbook] .jump-to-today:hover{transform:rotate(0) scale(1.05)}:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;overflow:hidden}#root{height:100%;overflow:hidden}:focus-visible{outline:2px solid var(--wk-future);outline-offset:2px}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.app-header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);background:var(--bg-primary);border-bottom:1px solid var(--border-light);z-index:50}.app-header h1{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.header-actions{display:flex;gap:var(--spacing-sm)}.header-btn{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all var(--transition-fast);display:flex;align-items:center;text-decoration:none}.header-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.task-card{background:var(--bg-primary);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:4px;border-bottom:1px solid var(--border-light);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);display:flex;gap:var(--spacing-sm);align-items:center;position:relative}.task-card:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-1px)}.task-card.dragging{position:relative;z-index:1000;background:var(--bg-primary);box-shadow:0 8px 24px #00000026}.drag-handle{cursor:grab;color:var(--text-muted);padding:2px;flex-shrink:0;display:flex;align-items:center;touch-action:none;opacity:.4}.task-card:hover .drag-handle{opacity:.7}.drag-handle:active{cursor:grabbing}.drag-handle svg{width:12px;height:12px}.drag-handle.disabled{cursor:not-allowed;opacity:.15}.status-checkbox{width:18px;height:18px;border-radius:var(--radius-full);border:2px solid var(--border-medium);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.status-checkbox:hover{border-color:var(--status-pending);background:#f59e0b1a}.status-checkbox.complete{border-color:var(--status-complete);background:var(--status-complete)}.status-checkbox.complete:hover{background:#229b3d}.status-checkbox svg{width:10px;height:10px;color:#fff}.task-content{flex:1;min-width:0}.task-title{font-size:.95rem;font-weight:600;color:var(--ink-black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text;display:inline;background:linear-gradient(to top,rgba(244,211,94,.45) 0%,rgba(244,211,94,.45) 35%,transparent 35%);padding:0 2px;margin-left:-2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.task-card.completed .task-title{text-decoration:line-through;text-decoration-color:var(--stamp-red);text-decoration-thickness:2px;color:var(--ink-faded);font-style:italic;background:none}.task-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.chip{display:inline-flex;align-items:center;padding:3px 10px;font-size:.7rem;font-weight:600;border-radius:0;white-space:nowrap;position:relative;transform:rotate(-1deg);box-shadow:1px 1px 2px #2c24161a}.chip:nth-child(2n){transform:rotate(.5deg)}.chip:nth-child(3n){transform:rotate(-.8deg)}.chip.schedule{background:var(--kraft-light);color:var(--ink-brown);border-left:3px solid var(--kraft-dark)}.chip.schedule.present{background:var(--highlighter-yellow);color:var(--ink-brown);border-left:3px solid #C9A227}.chip.schedule.future{background:var(--washi-blue);color:var(--kraft-white);border-left:3px solid #4A6B8A}.chip.due-date{background:var(--stamp-red-light);color:var(--stamp-red);border-left:3px solid var(--stamp-red)}.chip.due-date.future{background:var(--washi-blue-light);color:var(--washi-blue);border-left:3px solid var(--washi-blue)}.chip.routine{background:#8b5cb433;color:#5d3a8e;border-left:3px solid #8B5CB4}.chip.rolled-over{background:#c2823b33;color:#8b5a2b;font-size:.65rem;border-left:3px solid #C2823B}.progress-area{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.progress-text{font-size:.7rem;color:var(--text-muted)}.progress-text.exceeded{color:var(--status-complete)}.progress-btn{padding:1px 6px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.65rem;font-weight:600;color:var(--text-muted);transition:background var(--transition-fast)}.progress-btn:hover{background:var(--border-light);color:var(--text-secondary)}.task-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0;align-items:center;margin-left:auto}.time-btns{display:flex;gap:2px}.time-btn{padding:2px 6px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.65rem;font-weight:600;color:var(--text-muted);transition:all var(--transition-fast)}.time-btn:hover{background:var(--wk-present);color:#78590a}.chip.time-progress{background:var(--bg-tertiary);color:var(--text-muted)}.chip.time-progress.complete{background:#28a74526;color:var(--status-complete)}.chip.time-logged{background:#28a7451a;color:var(--text-muted)}.action-indicator{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0;position:relative}.action-indicator.complete{background:transparent;color:var(--marker-green);border:3px solid var(--marker-green);transform:rotate(-8deg);box-shadow:inset 0 0 0 1px var(--marker-green),1px 1px #3d7a4a4d}.action-indicator.complete:before{content:"✓";font-size:18px;font-weight:900;color:var(--marker-green)}.action-indicator.complete svg{display:none}.action-indicator.complete:hover:not(:disabled){transform:scale(1.05)}.action-indicator.future{background:var(--washi-blue);border:2px solid #4A6B8A;box-shadow:1px 2px 3px #2c241626}.action-indicator.future .filled-dot{width:8px;height:8px;background:#fff9;border-radius:var(--radius-full)}.action-indicator.future:hover{background:#5a7c9e;transform:scale(1.05)}.action-indicator.due-empty{background:transparent;border:3px dashed var(--highlighter-yellow);box-shadow:inset 0 0 8px #f4d35e4d}.action-indicator.due-empty .empty-ring{display:none}.action-indicator.due-empty:hover{background:var(--highlighter-yellow-light);border-style:solid}.action-indicator.due-progress{background:transparent;padding:0}.action-indicator.due-progress:hover{background:#f4d35e26;border-radius:var(--radius-full)}.clock-progress-container{position:relative;border-radius:var(--radius-full);border:3px solid var(--wk-present);box-sizing:border-box}.clock-progress-fill{position:absolute;inset:0;border-radius:var(--radius-full)}.archive-btn{padding:2px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.65rem;font-weight:500;color:var(--text-muted);transition:all var(--transition-fast)}.archive-btn:hover{background:#ef44441a;color:var(--status-overdue)}.occurrence-boxes{display:flex;gap:4px;align-items:center}.occurrence-box{width:20px;height:20px;border-radius:var(--radius-sm);border:2px solid var(--wk-present);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);padding:0}.occurrence-box:disabled{cursor:default}.occurrence-box:not(.completed):not(:disabled):hover{background:#eab3081a}.occurrence-box.completed{background:var(--status-complete);border-color:var(--status-complete)}.occurrence-box.completed svg{width:12px;height:12px;color:#fff}.task-list{min-height:200px}.week-section{padding-top:var(--spacing-lg);margin-top:var(--spacing-md);position:relative}.week-section[data-is-present=true]{border-left:6px solid var(--highlighter-yellow);padding-left:var(--spacing-md);padding-bottom:var(--spacing-md);margin-left:-var(--spacing-md);background:linear-gradient(90deg,rgba(244,211,94,.1) 0%,transparent 50%)}.week-section:first-child{padding-top:var(--spacing-sm);margin-top:0}.week-date-label{font-size:.85rem;font-weight:400;color:var(--ink-brown);padding:4px var(--spacing-md);margin-bottom:var(--spacing-sm);display:inline-block;background:var(--kraft-light);border-left:4px solid var(--kraft-dark);transform:rotate(-.5deg);box-shadow:1px 2px 3px #2c24161a}.task-list-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.section-header{padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:400;color:var(--ink-black);text-transform:uppercase;letter-spacing:.15em;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);background:var(--kraft-medium);display:inline-block;transform:rotate(-.3deg);box-shadow:2px 3px 4px #2c241626;position:relative}.section-header:before{content:"";position:absolute;top:0;right:-8px;border-left:8px solid var(--kraft-medium);border-top:50% solid transparent;border-bottom:50% solid transparent}.jump-to-today{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);left:auto;width:auto;padding:10px 20px;background:var(--highlighter-yellow);color:var(--ink-black);border-radius:0;font-size:.85rem;font-weight:400;letter-spacing:.05em;box-shadow:3px 4px 8px #2c241633;transition:transform var(--transition-fast),box-shadow var(--transition-fast);z-index:100;transform:rotate(-2deg);border:2px solid #C9A227}.jump-to-today:before{content:"📌";position:absolute;top:-12px;left:50%;transform:translate(-50%);font-size:16px}.jump-to-today:hover{transform:rotate(0) scale(1.05);box-shadow:var(--shadow-lg)}.month-zoom-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.month-zoom-content{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);max-width:400px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.month-zoom-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.month-zoom-header h2{font-size:1.25rem;font-weight:600}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-full);color:var(--text-muted)}.close-btn:hover{background:var(--border-light)}.month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.month-btn{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);text-align:center;transition:background var(--transition-fast)}.month-btn:hover{background:var(--bg-tertiary)}.month-btn.current{background:var(--wk-present-bg);border:2px solid var(--wk-present)}.month-btn .month-name{font-weight:600;font-size:.875rem}.month-btn .month-year{font-size:.75rem;color:var(--text-muted)}.archive-page{min-height:100vh}.archive-page .app-header{justify-content:flex-start}.archive-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.archive-header-left h1{font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.archive-content{padding:80px var(--spacing-lg) var(--spacing-lg);max-width:700px;margin:0 auto}.archive-content .task-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.task-card.archived{opacity:.8}.task-card.archived .task-title{text-decoration:line-through;color:var(--text-secondary)}.action-indicator.static{cursor:default;pointer-events:none}.archived-date{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.archive-actions{display:flex;align-items:center;gap:var(--spacing-sm);padding-left:var(--spacing-md)}.undo-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:transparent;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition-fast)}.undo-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.archive-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.archive-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border-radius:var(--radius-sm);transition:all var(--transition-fast);border:1px solid transparent;border-bottom:1px solid var(--border-light)}.archive-item:last-child{border-bottom:1px solid transparent}.archive-item:hover{background:var(--bg-primary);box-shadow:0 2px 8px #00000014;transform:translateY(-1px);z-index:1}.archive-check{width:24px;height:24px;background:var(--status-complete);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.archive-item-content{flex:1;min-width:0}.archive-item-title{font-size:.875rem;color:var(--text-secondary);text-decoration:line-through;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-item-meta{display:flex;flex-wrap:wrap;gap:4px}.archive-item-meta .chip{font-size:.65rem;padding:1px 6px}.archive-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.archive-item-date{font-size:.65rem;color:var(--text-muted)}.insertion-point{height:0;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;z-index:10;padding:8px 0;margin:-8px 0;transform:translateY(-6px)}.insertion-point:before{content:"";position:absolute;left:60px;right:60px;height:1px;background:transparent;transition:background var(--transition-fast)}.insertion-point:hover:before{background:var(--border-light)}.insertion-plus{opacity:0;background:var(--bg-secondary);color:var(--text-secondary);width:20px;height:20px;border:none;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;z-index:1;transition:all var(--transition-fast)}.insertion-point:hover .insertion-plus{opacity:1}.inline-task-editor{background:var(--bg-primary);border:2px solid var(--accent-primary);border-radius:var(--radius-md);padding:var(--spacing-sm);margin:var(--spacing-xs) 0}.inline-editor-main{display:flex;align-items:center;gap:var(--spacing-sm)}.editor-dot{width:20px;height:20px;border:2px solid var(--border-medium);border-radius:var(--radius-full);flex-shrink:0}.task-card.editing{border:2px solid var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 20%,transparent)}.task-card.editing .editor-title-input{flex:1;width:100%;border:none;background:transparent;font-family:inherit;font-size:.9rem;font-weight:500;color:var(--text-primary);outline:none;padding:0;min-width:0}.task-card.editing .editor-title-input::placeholder{color:var(--text-muted)}.editor-options-toggle{padding:var(--spacing-xs);background:transparent;color:var(--text-muted);font-size:1.25rem;line-height:1;border-radius:var(--radius-sm)}.editor-options-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.inline-editor-options{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.editor-option{display:flex;align-items:center;gap:4px}.editor-option label{font-size:.875rem}.editor-option input{width:50px;padding:2px 6px;font-size:.75rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary)}.editor-option input[type=date]{width:110px}.editor-notes-input{width:100%;border:none;background:transparent;font-family:inherit;font-size:.8rem;color:var(--text-secondary);outline:none;padding:var(--spacing-xs) 0;margin-top:var(--spacing-xs)}.editor-notes-input::placeholder{color:var(--text-muted)}.task-notes{font-size:.75rem;color:var(--text-muted);line-height:1.4;margin-top:2px}.inline-editor-actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.editor-cancel-btn,.editor-submit-btn{padding:4px 12px;font-size:.75rem;border-radius:var(--radius-sm)}.editor-cancel-btn{background:transparent;color:var(--text-muted)}.editor-cancel-btn:hover{background:var(--bg-tertiary)}.editor-submit-btn{background:var(--accent-primary);color:#fff}.editor-submit-btn:hover{opacity:.9}.dev-panel{position:fixed;bottom:var(--spacing-lg);left:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;max-width:300px}.dev-panel-toggle{padding:var(--spacing-sm) var(--spacing-md);background:#1f2937;color:#fff;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;font-family:monospace}.dev-panel-content{padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-lg)}.dev-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.dev-panel-header h3{font-size:.875rem;font-weight:600;font-family:monospace;color:#1f2937}.dev-time{font-family:monospace;font-size:.75rem;background:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md)}.dev-section{margin-bottom:var(--spacing-md)}.dev-section label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.dev-btns{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.dev-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.75rem;font-family:monospace}.dev-btn:hover{background:var(--border-light)}.dev-btn.primary{background:#1f2937;color:#fff}.dev-btn.primary:hover{background:#374151}.dev-btn.danger{background:#ef44441a;color:var(--status-overdue)}.dev-btn.danger:hover{background:#ef444433}.dev-toggle{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.75rem}.dev-toggle input{width:16px;height:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aria-live{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.week-nav{position:fixed;left:16px;top:50%;transform:translateY(-50%);z-index:100;width:fit-content;pointer-events:none}.week-nav-lines{display:flex;flex-direction:column;gap:8px;padding:8px 0;width:fit-content;pointer-events:auto;cursor:pointer}.week-nav-lines .nav-line{pointer-events:auto;cursor:pointer}.nav-line{width:16px;height:2px;background:var(--border-light);border-radius:1px;transition:all var(--transition-fast)}.nav-line.active{background:var(--text-secondary)}.week-nav-panel{position:absolute;left:24px;top:50%;transform:translateY(-50%) translate(-10px);transform-origin:left center;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;padding:12px 0;min-width:140px;opacity:0;visibility:hidden;transition:all .2s ease-out;pointer-events:none}.week-nav-panel.open{opacity:1;visibility:visible;transform:translateY(-50%) translate(0);pointer-events:auto}.week-nav-panel-header{padding:4px 16px 8px;font-size:.7rem;font-weight:600;color:var(--text-muted);letter-spacing:.05em}.nav-month{display:flex;flex-direction:column}.nav-month-btn{padding:6px 16px;text-align:left;font-size:.85rem;color:var(--text-secondary);background:transparent;transition:all var(--transition-fast)}.nav-month-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-month-btn.active{font-weight:600;color:var(--text-primary)}.nav-weeks{padding-left:12px;border-left:2px solid var(--border-light);margin-left:16px}.nav-week-btn{display:block;padding:4px 12px;text-align:left;font-size:.75rem;color:var(--text-muted);background:transparent;transition:all var(--transition-fast)}.nav-week-btn:hover{color:var(--text-primary)}.nav-week-btn.active{font-weight:600;color:var(--wk-present)}.week-nav-lines{cursor:pointer}.tasks-layout{display:flex;width:100%;height:100%;overflow:hidden}.tasks-main{flex:1;min-width:0;transition:all .3s ease;overflow-y:auto;padding:24px var(--spacing-lg) 100px;display:flex;flex-direction:column;align-items:center}.tasks-main>*:not(.jump-to-today){width:100%;max-width:700px}.routine-manager-overlay{display:none}.tasks-layout.panel-open .tasks-main{padding-right:340px;transition:padding-right .3s ease}.panel-close-btn{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--text-muted);background:transparent;transition:all var(--transition-fast)}.panel-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.routine-panel-header .close-btn{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-muted);background:transparent}.routine-panel-header .close-btn:hover{background:var(--bg-tertiary)}.routine-panel-header .back-btn{font-size:.9rem;color:var(--text-secondary);background:transparent;padding:var(--spacing-sm) 0}.routine-panel-header .save-btn{font-size:.85rem;padding:var(--spacing-sm) var(--spacing-md);background:var(--wk-present);color:var(--text-primary);border-radius:var(--radius-sm);font-weight:600}.routine-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.side-panel-card{background:var(--bg-primary);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer;border:1px solid transparent;border-bottom:1px solid var(--border-light)}.side-panel-card:last-child{border-bottom:1px solid transparent}.side-panel-card:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-1px);z-index:1}.routine-card{position:relative;background:var(--bg-primary);border-radius:var(--radius-sm);border-left:4px solid var(--border-medium);box-shadow:0 1px 3px #0000000d;transition:all var(--transition-fast)}.routine-card:hover{transform:translate(2px);box-shadow:2px 2px 8px #0000001a;background:var(--bg-primary)}.routine-card.weekly{border-left-color:var(--wk-future)}.routine-card.biweekly{border-left-color:#f59e0b}.routine-card.monthly{border-left-color:var(--status-complete)}.routine-card.annually{border-left-color:var(--text-muted)}.routine-icon-area{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.routine-list-empty{padding:var(--spacing-xl);text-align:center;color:var(--text-muted);font-size:.875rem}.delete-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light)}.delete-routine-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;color:#e74c3c;font-size:.875rem;font-weight:500;border:1px solid #e74c3c;border-radius:var(--radius-md);transition:all var(--transition-fast)}.delete-routine-btn:hover{background:#e74c3c;color:#fff}.delete-confirm-dialog{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:300}.delete-confirm-content{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);max-width:280px;text-align:center;box-shadow:var(--shadow-lg)}.delete-confirm-content h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.delete-confirm-content p{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.delete-confirm-subtitle{font-size:.75rem!important;color:var(--text-muted)!important;margin-top:var(--spacing-md)!important}.delete-confirm-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.delete-confirm-actions button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.btn-cancel-link{background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:400;margin-top:var(--spacing-sm);padding:var(--spacing-xs) 0;text-decoration:none}.btn-cancel-link:hover{color:var(--text-secondary);text-decoration:underline}.btn-delete-keep{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-delete-keep:hover{background:var(--bg-secondary)}.btn-delete-remove{background:#e74c3c;color:#fff}.btn-delete-remove:hover{background:#c0392b}.routine-name{font-size:.9rem;color:var(--text-primary)}.routine-badge{font-size:.7rem;padding:2px 8px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-muted);text-transform:capitalize}.routine-badge.weekly{background:#4aa3f826;color:var(--wk-future)}.routine-badge.biweekly{background:#f8d24a26;color:#b8860b}.routine-badge.monthly{background:#28a74526;color:var(--status-complete)}.routine-badge.annually{background:#9ca3af26;color:var(--text-muted)}.add-routine-btn{margin:var(--spacing-md) var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:.9rem;color:var(--text-secondary);text-align:center;transition:all var(--transition-fast)}.add-routine-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.routine-editor{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.editor-section{margin-bottom:var(--spacing-lg)}.editor-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.task-type-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.task-type-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--spacing-md);background:var(--bg-secondary);border:2px solid transparent;border-radius:var(--radius-md);transition:all var(--transition-fast)}.task-type-btn:hover{background:var(--bg-tertiary)}.task-type-btn.active{border-color:var(--wk-present);background:#f8d24a1a}.task-type-icon{font-size:1.2rem}.task-type-name{font-size:.8rem;font-weight:600;color:var(--text-primary)}.task-type-desc{font-size:.65rem;color:var(--text-muted)}.count-stepper{display:flex;align-items:center;gap:var(--spacing-md)}.count-stepper button{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-secondary);font-size:1.2rem;color:var(--text-primary)}.count-stepper button:hover{background:var(--bg-tertiary)}.count-stepper span{font-size:1rem;font-weight:600;min-width:60px;text-align:center}.editor-input{width:100%;padding:var(--spacing-md);font-size:.95rem;border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-primary)}.editor-input:focus{outline:none;border-color:var(--wk-present)}.editor-hint{margin-top:var(--spacing-sm);font-size:.75rem;color:var(--text-muted)}.back-btn{padding:var(--spacing-sm) var(--spacing-md);background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;gap:4px}.back-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.save-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--wk-present);color:var(--text-primary);font-size:.9rem;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast);box-shadow:0 1px 2px #0000001a}.save-btn:hover{filter:brightness(.95);transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.cadence-options,.timeframe-options{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.cadence-btn,.timeframe-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.85rem;color:var(--text-secondary);transition:all var(--transition-fast)}.cadence-btn:hover,.timeframe-btn:hover{background:var(--bg-tertiary);border-color:var(--border-medium)}.cadence-btn.active,.timeframe-btn.active{background:var(--wk-present-bg);border-color:var(--wk-present);color:var(--text-primary);font-weight:500}.week-picker-trigger{width:100%;padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);text-align:left;display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:var(--text-primary)}.week-picker-trigger:hover{background:var(--bg-tertiary);border-color:var(--border-medium)}.toggle-row{display:flex;align-items:center;justify-content:space-between}.toggle-btn{width:44px;height:24px;border-radius:var(--radius-full);background:var(--bg-tertiary);position:relative;transition:background var(--transition-fast)}.toggle-btn.active{background:var(--wk-present)}.toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:var(--radius-full);background:#fff;box-shadow:0 1px 3px #0003;transition:transform var(--transition-fast)}.toggle-btn.active .toggle-knob{transform:translate(20px)}.week-picker{position:relative}.week-picker-label{display:block;font-size:.7rem;color:var(--text-muted);margin-bottom:4px}.week-picker-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:.85rem;color:var(--text-primary)}.week-picker-trigger .chevron{font-size:.7rem;color:var(--text-muted)}.week-picker-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;max-height:250px;overflow-y:auto;z-index:10}.week-picker-month-btn{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-size:.85rem;color:var(--text-secondary);background:transparent}.week-picker-month-btn:hover{background:var(--bg-tertiary)}.week-picker-month-btn.active{font-weight:600;color:var(--text-primary)}.week-picker-weeks{padding-left:var(--spacing-md);border-left:2px solid var(--border-light);margin-left:var(--spacing-md)}.week-picker-week-btn{display:block;width:100%;padding:4px var(--spacing-md);text-align:left;font-size:.75rem;color:var(--text-muted);background:transparent}.week-picker-week-btn:hover{color:var(--text-primary)}.week-picker-week-btn.active{font-weight:600;color:var(--wk-present)}.week-picker-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.add-idea-btn{width:100%;padding:12px;background:var(--bg-secondary);border:1px dashed var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:center}.add-idea-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-default)}.ideas-list{display:flex;flex-direction:column;gap:8px;min-height:100px}.side-panel-container{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);overflow:hidden;position:relative}.panel-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;background:var(--bg-primary);flex-shrink:0;min-height:60px}.panel-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.panel-content{flex:1;overflow-y:auto;padding:var(--spacing-lg) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.panel-empty-state{padding:var(--spacing-xl);text-align:center;color:var(--text-muted);font-size:.875rem;background:var(--bg-secondary);border-radius:var(--radius-md);margin-top:var(--spacing-md)}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:var(--bg-secondary)}.auth-card{width:100%;max-width:400px;background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);transform:rotate(.5deg)}.auth-title{font-size:1.5rem;font-weight:600;text-align:center;margin-bottom:var(--spacing-lg);color:var(--ink-black)}.auth-error{background:#ef44441a;color:var(--status-overdue);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:.875rem;border:1px solid rgba(239,68,68,.2)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.auth-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-medium);border-radius:var(--radius-md);font-size:1rem;color:var(--text-primary);background:var(--bg-secondary);transition:all var(--transition-fast)}.auth-input:focus{outline:none;border-color:var(--washi-blue);background:var(--bg-primary);box-shadow:0 0 0 3px #4a6b8a1a}.auth-button{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:600;transition:all var(--transition-fast);margin-top:var(--spacing-md);display:flex;align-items:center;justify-content:center}.auth-button.primary{background:var(--wk-future);color:var(--kraft-white);border:2px solid transparent}.auth-button.primary:hover:not(:disabled){background:#4a6b8a;transform:translateY(-1px);box-shadow:var(--shadow-md)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:var(--spacing-lg);text-align:center;font-size:.875rem;color:var(--text-muted)}.auth-link{color:var(--washi-blue);font-weight:600;text-decoration:none;cursor:pointer}.auth-link:hover{text-decoration:underline}.empty-week-add-btn{width:100%;padding:var(--spacing-sm);border:2px dashed var(--border-medium);border-radius:var(--radius-md);color:var(--text-muted);font-size:.9rem;font-weight:500;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;margin-top:4px}.empty-week-add-btn:hover{border-color:var(--washi-blue);color:var(--washi-blue);background:var(--bg-tertiary)}.sync-indicator{position:fixed;top:12px;right:12px;z-index:1000;display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-primary);border-radius:var(--radius-full);font-size:.75rem;font-weight:500;box-shadow:0 2px 8px #00000014;border:1px solid var(--border-light);pointer-events:none;transition:all var(--transition-normal);color:var(--text-muted)}.sync-indicator.syncing .sync-icon{display:inline-block;animation:spin 1s linear infinite}.sync-indicator.error{color:var(--status-overdue);background:#ef44440d;border-color:#ef444433}.sync-indicator.offline{color:var(--text-muted);opacity:.7}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
