:root{--bg-primary: #f6f5f1;--bg-secondary: #ffffff;--bg-tertiary: #edece8;--bg-glass: rgba(255, 255, 255, .72);--text-primary: #1a1a2e;--text-secondary: #7c7b8a;--text-muted: #aeadb8;--border-color: #e4e3de;--border-subtle: rgba(0, 0, 0, .05);--accent: #5046e5;--accent-hover: #4338ca;--accent-light: rgba(80, 70, 229, .08);--accent-glow: rgba(80, 70, 229, .25);--accent-gradient: linear-gradient(135deg, #5046e5 0%, #0ea5e9 100%);--danger: #e5393f;--danger-light: rgba(229, 57, 63, .08);--success: #10b981;--success-light: rgba(16, 185, 129, .08);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .08);--shadow-xs: 0 1px 2px rgba(26, 26, 46, .04);--shadow: 0 1px 3px rgba(26, 26, 46, .06), 0 1px 2px rgba(26, 26, 46, .04);--shadow-md: 0 4px 6px -1px rgba(26, 26, 46, .07), 0 2px 4px -2px rgba(26, 26, 46, .05);--shadow-lg: 0 10px 25px -3px rgba(26, 26, 46, .08), 0 4px 10px -4px rgba(26, 26, 46, .04);--shadow-xl: 0 20px 40px -5px rgba(26, 26, 46, .12), 0 8px 16px -6px rgba(26, 26, 46, .06);--shadow-accent: 0 4px 14px -2px rgba(80, 70, 229, .35);--radius: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-full: 9999px;--spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--duration: .2s;--duration-md: .35s;--duration-lg: .5s;--noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}[data-theme=dark]{--bg-primary: #0e0e14;--bg-secondary: #181820;--bg-tertiary: #22222e;--bg-glass: rgba(24, 24, 32, .8);--text-primary: #f0eff5;--text-secondary: #8d8ca0;--text-muted: #5c5b6e;--border-color: #2c2c3a;--border-subtle: rgba(255, 255, 255, .06);--accent: #7c6ff7;--accent-hover: #6d5de6;--accent-light: rgba(124, 111, 247, .12);--accent-glow: rgba(124, 111, 247, .3);--accent-gradient: linear-gradient(135deg, #7c6ff7 0%, #38bdf8 100%);--danger-light: rgba(229, 57, 63, .12);--success-light: rgba(16, 185, 129, .12);--warning-light: rgba(245, 158, 11, .12);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .35), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .4), 0 4px 10px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .5), 0 8px 16px rgba(0, 0, 0, .3);--shadow-accent: 0 4px 14px -2px rgba(124, 111, 247, .4)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--duration-md) var(--ease-smooth),color var(--duration-md) var(--ease-smooth)}body:before{content:"";position:fixed;inset:0;background-image:var(--noise);background-repeat:repeat;background-size:256px;pointer-events:none;z-index:9999;opacity:.35}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;letter-spacing:-.025em;line-height:1.2}.app{display:flex;height:100vh;overflow:hidden}.calendar-section{flex:1 1 0;display:flex;flex-direction:column;background:var(--bg-secondary);overflow:hidden;position:relative}.tasklist-section{flex:0 0 290px;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden;border-left:1px solid var(--border-color);position:relative}.tasklist-section:before{content:"";position:absolute;top:0;left:0;right:0;height:120px;background:linear-gradient(180deg,var(--accent-light) 0%,transparent 100%);pointer-events:none;z-index:0}.calendar{flex:1;display:flex;flex-direction:column;padding:20px 24px;overflow:hidden;gap:0}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-header-left{display:flex;align-items:center;gap:12px}.view-toggle{display:flex;gap:2px;background:var(--bg-tertiary);padding:3px;border-radius:var(--radius);border:1px solid var(--border-color);position:relative}.view-toggle button{padding:7px 14px;border:none;background:transparent;border-radius:10px;font-size:13px;font-weight:600;font-family:Outfit,sans-serif;color:var(--text-secondary);cursor:pointer;transition:background var(--duration) var(--ease-smooth),color var(--duration) var(--ease-smooth),box-shadow var(--duration) var(--ease-smooth),transform var(--duration) var(--ease-smooth),border-color var(--duration) var(--ease-smooth),opacity var(--duration) var(--ease-smooth);white-space:nowrap;position:relative;z-index:1}.view-toggle button:hover{color:var(--text-primary)}.view-toggle button.active{background:var(--bg-secondary);color:var(--accent);box-shadow:var(--shadow-md);font-weight:700}[data-theme=dark] .view-toggle button:hover{background:#ffffff0a}.theme-toggle{width:38px;height:38px;border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring)}.theme-toggle:hover{border-color:var(--accent);background:var(--accent-light);transform:rotate(20deg) scale(1.08);box-shadow:var(--shadow-accent)}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:16px}.calendar-nav h3{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;min-width:200px;text-align:center;text-transform:capitalize;color:var(--text-primary);letter-spacing:-.02em}.nav-btn{width:36px;height:36px;border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:var(--radius);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);color:var(--text-secondary)}.nav-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent);transform:scale(1.08);box-shadow:var(--shadow-accent)}.nav-btn:active{transform:scale(.95)}.week-view,.month-view{flex:1;display:flex;flex-direction:column;overflow:hidden;gap:12px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;flex:1;min-height:0}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(0,1fr);gap:6px;flex:1;min-height:0;overflow:hidden}.calendar-day{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);padding:10px;min-height:0;cursor:pointer;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);display:flex;flex-direction:column;overflow:hidden}.calendar-day:hover{border-color:var(--accent);box-shadow:var(--shadow-md),0 0 0 1px var(--accent-light);transform:translateY(-2px)}.calendar-day.other-month{opacity:.3;background:transparent}.calendar-day.today{border:1px solid rgba(80,70,229,.18);background:linear-gradient(180deg,rgba(80,70,229,.06) 0%,var(--bg-secondary) 44%);box-shadow:0 10px 24px -20px var(--accent-glow)}.calendar-day.today .day-number{color:var(--accent);background:var(--accent-light);min-width:30px;height:28px;padding:0 10px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;box-shadow:inset 0 0 0 1px #5046e524}.calendar-day.drag-over{background:var(--accent-light);border-color:var(--accent);border-style:dashed;transform:scale(1.02)}.calendar-day.empty{background:transparent;border:none;cursor:default}.calendar-day.empty:hover{transform:none;box-shadow:none}.day-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.day-number{font-family:Outfit,sans-serif;font-weight:700;font-size:16px;color:var(--text-primary)}.day-name{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px}.day-tasks{display:flex;flex-direction:column;gap:3px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.day-task{font-size:11px;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;padding:5px 8px;border-radius:8px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);box-shadow:0 1px 3px #0000001f;position:relative;display:flex;align-items:center;gap:4px}.overnight-indicator{font-size:14px;font-weight:700;opacity:.8;flex-shrink:0}.day-task:hover{transform:scale(1.03) translateY(-1px);box-shadow:0 3px 8px #0000002e}.day-task:active{cursor:grabbing;transform:scale(.97)}.more-tasks{font-size:11px;font-weight:600;color:var(--accent);text-align:center;padding:4px;background:var(--accent-light);border-radius:6px;font-family:Outfit,sans-serif}.month-header{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:12px}.month-day-name{text-align:center;font-size:11px;font-weight:700;font-family:Outfit,sans-serif;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:8px 0}.task-list{display:flex;flex-direction:column;height:100%;padding:20px 16px;position:relative;z-index:1}.task-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.task-list-header h2{font-family:Outfit,sans-serif;font-size:19px;font-weight:800;letter-spacing:-.03em;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.task-count{background:var(--accent-gradient);color:#fff;padding:3px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;font-family:Outfit,sans-serif;box-shadow:var(--shadow-accent);margin-right:auto;margin-left:8px}.task-list-header-actions{display:flex;gap:4px;align-items:center}.tl-icon-btn{width:30px;height:30px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-secondary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration),color var(--duration),border-color var(--duration)}.tl-icon-btn:hover,.tl-icon-btn.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.tl-icon-btn.has-filter{color:var(--accent)}.tl-menu-wrapper{position:relative}.tl-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50;overflow:hidden}.tl-dropdown button{display:block;width:100%;padding:10px 14px;border:none;background:none;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;transition:background var(--duration)}.tl-dropdown button:hover{background:var(--accent-light)}.tl-dropdown button+button{border-top:1px solid var(--border-subtle)}.tl-filters-panel{padding:0 12px 8px;animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.add-task-form{display:flex;flex-direction:column;gap:0;margin-bottom:20px}.add-task-input{flex:1;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius);font-size:14px;font-family:Plus Jakarta Sans,sans-serif;outline:none;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);background:var(--bg-secondary);color:var(--text-primary)}.add-task-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light),var(--shadow-accent);transform:translateY(-1px)}.add-task-input::placeholder{color:var(--text-muted)}.duration-select{padding:12px;border:2px solid var(--border-color);border-radius:var(--radius);font-size:13px;font-family:Plus Jakarta Sans,sans-serif;background:var(--bg-secondary);cursor:pointer;color:var(--text-primary);transition:background var(--duration) var(--ease-smooth),color var(--duration) var(--ease-smooth),box-shadow var(--duration) var(--ease-smooth),transform var(--duration) var(--ease-smooth),border-color var(--duration) var(--ease-smooth),opacity var(--duration) var(--ease-smooth)}.duration-select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light)}.add-task-btn{width:44px;height:44px;border:none;background:var(--accent-gradient);color:#fff;border-radius:var(--radius);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);font-weight:300;box-shadow:var(--shadow-accent);flex-shrink:0}.add-task-btn:hover{transform:scale(1.1) rotate(90deg);box-shadow:0 6px 20px #5046e566}.add-task-btn:active{transform:scale(.92)}.task-list-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.task-item{position:relative;cursor:pointer;animation:taskSlideIn var(--duration-md) var(--spring) backwards}@keyframes taskSlideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.delete-task-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%) scale(.8);width:28px;height:28px;border:none;background:var(--danger);color:#fff;border-radius:50%;cursor:pointer;opacity:0;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #e5393f4d}.delete-task-btn:hover{transform:translateY(-50%) scale(1.15);box-shadow:0 4px 12px #e5393f66}.task-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--bg-secondary);border-radius:var(--radius);box-shadow:var(--shadow);cursor:grab;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);border:1px solid var(--border-color)}.task-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md),0 0 0 1px var(--accent-light);transform:translate(4px)}.task-card:active{cursor:grabbing;transform:scale(.97)}.task-desc-tooltip{max-height:0;overflow:hidden;opacity:0;font-size:12px;color:var(--text-secondary);line-height:1.5;padding:0 0 0 2px;margin-top:0;word-break:break-word;transition:max-height .25s var(--ease-out),opacity .2s,margin-top .2s;border-top:0px solid var(--border-subtle)}.task-card:hover .task-desc-tooltip{max-height:120px;opacity:1;margin-top:6px}.task-card.scheduled{border-left:3px solid}.task-color{width:6px;height:44px;border-radius:var(--radius-full);flex-shrink:0}.task-content{flex:1;min-width:0}.task-title{font-family:Outfit,sans-serif;font-weight:600;font-size:14px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-meta{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.repeat-badge{font-size:10px;padding:2px 8px;background:var(--accent-light);color:var(--accent);border-radius:var(--radius-full);font-weight:700;font-family:Outfit,sans-serif;text-transform:uppercase;letter-spacing:.5px}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary);font-family:Outfit,sans-serif}.empty-hint{font-size:13px;margin-top:8px;opacity:.6;font-family:Plus Jakarta Sans,sans-serif}.drag-overlay-task{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--bg-secondary);border-radius:var(--radius);box-shadow:var(--shadow-xl);opacity:.95;border:2px solid var(--accent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.drag-overlay-task .task-color{width:6px;height:36px}.day-view-overlay{position:fixed;inset:0;background:#0a0a1480;display:flex;align-items:center;justify-content:center;z-index:100;animation:overlayFadeIn var(--duration-md) var(--ease-out);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.day-view{background:var(--bg-secondary);border-radius:var(--radius-xl);width:92%;max-width:620px;max-height:86vh;display:flex;flex-direction:column;animation:modalSpringIn var(--duration-lg) var(--spring);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);overflow:hidden}@keyframes modalSpringIn{0%{transform:translateY(30px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.day-view-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color)}.day-view-header h2{font-family:Outfit,sans-serif;font-size:22px;font-weight:800;text-transform:capitalize;letter-spacing:-.03em}.close-btn{width:38px;height:38px;border:none;background:var(--bg-tertiary);border-radius:50%;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);color:var(--text-primary)}.close-btn:hover{background:var(--danger);color:#fff;transform:rotate(90deg) scale(1.05);box-shadow:0 4px 12px #e5393f4d}.day-view-content{flex:1;overflow-y:auto;padding:20px}.day-view-content.drag-over{background:var(--accent-light)}.day-timeline{display:flex;flex-direction:column}.timeline-hour{display:flex;min-height:56px;border-bottom:1px solid var(--border-subtle);transition:background var(--duration) var(--ease-smooth),color var(--duration) var(--ease-smooth),box-shadow var(--duration) var(--ease-smooth),transform var(--duration) var(--ease-smooth),border-color var(--duration) var(--ease-smooth),opacity var(--duration) var(--ease-smooth)}.timeline-hour:hover{background:var(--bg-tertiary)}.timeline-hour.drag-over{background:var(--accent-light);border-color:var(--accent);border-style:dashed}.hour-label{width:70px;font-size:12px;font-weight:700;font-family:Outfit,sans-serif;color:var(--text-muted);padding:12px;flex-shrink:0;text-align:right}.hour-content{flex:1;padding:6px 12px;display:flex;align-items:flex-start}.hour-content.drag-over{background:var(--accent-light);border-radius:var(--radius)}.tasks-at-hour{display:flex;flex-direction:column;gap:8px;width:100%}.empty-hour{height:100%;min-height:44px;border:2px dashed var(--border-color);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-muted);transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);cursor:pointer;-webkit-user-select:none;user-select:none}.empty-hour:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:scale(1.01)}.scheduled-task{width:100%;padding:12px;background:var(--bg-tertiary);border-radius:var(--radius);border-left:4px solid;cursor:grab;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring)}.scheduled-task:hover{background:var(--bg-primary);transform:translate(4px);box-shadow:var(--shadow-md)}.scheduled-task:active{cursor:grabbing;transform:scale(.98)}.task-time{font-size:12px;font-weight:700;font-family:Outfit,sans-serif;color:var(--text-secondary);margin-bottom:4px}.unschedule-btn{margin-top:10px;padding:6px 12px;font-size:11px;font-weight:600;border:1.5px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);font-family:Plus Jakarta Sans,sans-serif}.unschedule-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.empty-day{text-align:center;padding:60px 20px;color:var(--text-secondary);font-family:Outfit,sans-serif}.hint{font-size:13px;margin-top:8px;opacity:.6}.modal-overlay{position:fixed;inset:0;background:#0a0a1480;display:flex;align-items:center;justify-content:center;z-index:400;animation:overlayFadeIn var(--duration-md) var(--ease-out);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.datepick-pop{z-index:13000}.datepick-overlay{position:fixed;inset:0;z-index:13000;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,var(--bg-primary) 50%,rgba(0,0,0,.5));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.datepick-pop--center{position:static}.datepick-pop--center .minical{width:min(88vw,360px);padding:16px}.datepick-pop--center .minical-month{font-size:16px}.datepick-pop--center .minical-weekdays,.datepick-pop--center .minical-grid{gap:4px}.datepick-pop--center .minical-weekday{font-size:12px;padding-bottom:8px}.datepick-pop--center .minical-day{min-height:42px;font-size:16px;border-radius:10px}.modal{background:var(--bg-secondary);border-radius:var(--radius-xl);width:92%;max-width:480px;max-height:90vh;overflow-y:auto;animation:modalSpringIn var(--duration-lg) var(--spring);border:1px solid var(--border-color);box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--bg-secondary);z-index:1;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-header h3{font-family:Outfit,sans-serif;font-size:18px;font-weight:800;letter-spacing:-.03em}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:12px;font-weight:700;font-family:Outfit,sans-serif;margin-bottom:8px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 14px;border:2px solid var(--border-color);border-radius:var(--radius);font-size:14px;outline:none;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);font-family:Plus Jakarta Sans,sans-serif;background:var(--bg-tertiary);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light);transform:translateY(-1px)}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.duration-input-row{display:flex;align-items:center;gap:8px}.duration-input-row input[type=number]{width:90px;flex-shrink:0}.duration-unit{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.duration-presets{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.duration-preset{padding:4px 10px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;cursor:pointer;transition:background var(--duration) var(--ease-smooth),color var(--duration) var(--ease-smooth),box-shadow var(--duration) var(--ease-smooth),transform var(--duration) var(--ease-smooth),border-color var(--duration) var(--ease-smooth),opacity var(--duration) var(--ease-smooth)}.duration-preset:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.duration-preset.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-accent)}.color-picker{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto}.color-option{width:30px;height:30px;min-width:30px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:transform .15s var(--spring),border-color .15s}.color-option:hover{transform:scale(1.2)}.color-option.selected{border-color:var(--text-primary);transform:scale(1.15)}.repeat-options{display:flex;gap:8px;flex-wrap:wrap}.repeat-option{padding:10px 16px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-tertiary);cursor:pointer;font-size:13px;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring)}.repeat-option:hover{border-color:var(--accent);transform:translateY(-1px)}.repeat-option.selected{border-color:var(--accent);background:var(--accent-light);color:var(--accent);box-shadow:var(--shadow-accent)}.modal-footer{display:flex;gap:10px;padding:20px 24px;border-top:1px solid var(--border-color);justify-content:flex-end}.btn-primary,.btn-secondary,.btn-danger{padding:10px 20px;border:none;border-radius:var(--radius);font-size:13px;font-weight:700;font-family:Outfit,sans-serif;cursor:pointer;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);display:inline-flex;align-items:center;gap:6px;letter-spacing:.01em}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5046e566}.btn-primary:active{transform:translateY(0) scale(.97)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color);border-color:var(--text-secondary);transform:translateY(-1px)}.btn-danger{background:transparent;color:var(--danger);border:1px solid transparent}.btn-danger:hover{background:var(--danger-light);border-color:#e5393f40;transform:translateY(-1px)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.kanban-headers-bar{display:flex;flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:6px 0}.kanban-gutter-spacer{width:54px;flex-shrink:0}.kanban-col-headers{flex:1;display:flex;gap:4px;padding:0 4px}.kanban-col-header{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;cursor:pointer;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);border-radius:var(--radius);min-width:0}.kanban-col-header:hover{background:var(--accent-light);transform:translateY(-1px)}.kanban-col-today{background:var(--accent-light);position:relative}.kanban-col-today:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:3px;background:var(--accent-gradient);border-radius:3px 3px 0 0}.kanban-day-name{font-size:11px;font-weight:700;font-family:Outfit,sans-serif;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.kanban-day-num{font-family:Outfit,sans-serif;font-size:20px;font-weight:800;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;line-height:1;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring)}.kanban-day-num.today-circle{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-accent)}.kanban-day-date{font-size:11px;font-weight:500;color:var(--text-muted)}.kanban-col-today .kanban-day-date{color:var(--accent)}.kanban-task-count{font-size:10px;font-weight:700;font-family:Outfit,sans-serif;color:var(--accent);background:var(--accent-light);padding:2px 8px;border-radius:var(--radius-full)}.kanban-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.kanban-container{display:flex;min-height:100%}.kanban-gutter{width:54px;flex-shrink:0}.kanban-gutter-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:0 8px;font-size:10px;font-weight:700;font-family:Outfit,sans-serif;color:var(--text-muted);position:relative;top:-7px}.kanban-columns{flex:1;display:flex;gap:4px;padding:0 4px}.kanban-body{flex:1;position:relative;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:0 0 var(--radius) var(--radius);transition:background var(--duration) var(--ease-smooth),color var(--duration) var(--ease-smooth),box-shadow var(--duration) var(--ease-smooth),transform var(--duration) var(--ease-smooth),border-color var(--duration) var(--ease-smooth),opacity var(--duration) var(--ease-smooth);min-width:0}.kanban-body.drag-over{background:var(--accent-light);border-color:var(--accent);box-shadow:inset 0 0 20px var(--accent-light)}.kanban-body.kanban-today-body{border-color:var(--accent);background:#5046e505}[data-theme=dark] .kanban-body.kanban-today-body{background:#7c6ff70a}.week-hour-line{position:absolute;left:0;right:0;height:1px;background:var(--border-subtle);pointer-events:none}.week-task-block{position:absolute;left:3px;right:3px;border-radius:8px;padding:4px 8px;color:#fff;overflow:hidden;cursor:grab;z-index:2;box-shadow:0 2px 6px #00000026,inset 0 1px #ffffff2e;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);display:flex;flex-direction:column;gap:1px}.week-task-block:hover{transform:scale(1.03) translateY(-1px);box-shadow:0 6px 16px #0003,inset 0 1px #ffffff2e;z-index:3}.week-task-block:active{cursor:grabbing;transform:scale(.97)}.week-task-block.completed{opacity:.4}.week-task-check{position:absolute;top:4px;right:4px;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.5);background:transparent;border-radius:50%;font-size:0;cursor:pointer;padding:0;color:#fff;transition:background .15s,border-color .15s,font-size .15s,opacity .2s;z-index:3;display:flex;align-items:center;justify-content:center;opacity:0}.week-task-block:hover .week-task-check{opacity:.7}.week-task-check:hover{opacity:1!important;border-color:#ffffffe6;background:#fff3}.week-task-block.completed .week-task-check{background:#ffffffd9;border-color:#ffffffd9;color:#333;font-size:11px;opacity:1}.week-task-time{font-size:10px;font-weight:700;font-family:Outfit,sans-serif;opacity:.9;line-height:1}.week-task-title{font-size:11px;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.kanban-now-line{position:absolute;left:0;right:0;height:2px;background:var(--danger);pointer-events:none;z-index:10;box-shadow:0 0 8px #e5393f66}.kanban-now-dot{position:absolute;left:-5px;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--danger);box-shadow:0 0 6px #e5393f80;animation:nowPulse 2s ease-in-out infinite}@keyframes nowPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.today-btn{padding:7px 16px;border:1.5px solid var(--accent);background:var(--accent-light);border-radius:var(--radius-full);font-size:12px;font-weight:700;font-family:Outfit,sans-serif;cursor:pointer;color:var(--accent);transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);letter-spacing:.3px}.today-btn:hover{background:var(--accent);color:#fff;transform:scale(1.05);box-shadow:var(--shadow-accent)}.today-btn:active{transform:scale(.95)}.search-wrapper{position:relative;margin-bottom:12px}.search-input{width:100%;padding:10px 14px;border:1.5px solid var(--border-color);border-radius:var(--radius);font-size:13px;font-family:Plus Jakarta Sans,sans-serif;outline:none;background:var(--bg-secondary);color:var(--text-primary);transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light);transform:translateY(-1px)}.search-input::placeholder{color:var(--text-muted)}.search-count{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:700;font-family:Outfit,sans-serif;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-full)}.add-task-row{display:flex;gap:8px;margin-top:8px;align-items:center}.priority-mini-select{display:flex;gap:4px}.priority-mini-btn{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);flex-shrink:0}.priority-mini-btn.active{border-color:var(--text-primary);transform:scale(1.2)}.priority-mini-low{background:#9ca3af}.priority-mini-medium{background:#f97316}.priority-mini-high{background:#ef4444}.task-title-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.priority-dot-low{background:#9ca3af}.priority-dot-medium{background:#f97316}.priority-dot-high{background:#ef4444}.duration-badge{display:inline-block;padding:2px 8px;background:var(--accent-light);color:var(--accent);border-radius:var(--radius-full);font-size:11px;font-weight:700;font-family:Outfit,sans-serif}.task-color-bar{width:4px;align-self:stretch;border-radius:var(--radius-full);flex-shrink:0}.day-view-header-left{display:flex;flex-direction:column;gap:4px}.day-view-header-actions{display:flex;align-items:center;gap:8px}.completion-count{font-size:13px;color:var(--text-secondary);font-weight:500}.task-title-day{font-family:Outfit,sans-serif;font-size:14px;font-weight:600;margin-bottom:6px}.task-title-day.strikethrough{text-decoration:line-through;opacity:.5}.scheduled-task.task-completed{opacity:.55}.scheduled-task-actions{display:flex;gap:8px;margin-top:8px}.complete-btn{padding:5px 12px;font-size:11px;font-weight:700;font-family:Outfit,sans-serif;border:1.5px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);color:var(--text-secondary)}.complete-btn:hover{border-color:var(--success);color:var(--success);background:var(--success-light);transform:translateY(-1px)}.complete-btn.done{border-color:var(--success);color:var(--success);background:var(--success-light)}.timeline-hour.current-hour{background:var(--accent-light)}.timeline-hour.current-hour .hour-label{color:var(--accent);font-weight:800}.quick-add-wrapper{width:100%;padding:2px 0}.quick-add-input{width:100%;padding:7px 12px;border:2px solid var(--accent);border-radius:8px;font-size:13px;font-family:Plus Jakarta Sans,sans-serif;outline:none;background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 0 0 4px var(--accent-light);animation:quickAddPop var(--duration-md) var(--spring)}@keyframes quickAddPop{0%{transform:scaleY(.8);opacity:0}to{transform:scaleY(1);opacity:1}}.priority-options{display:flex;gap:8px}.priority-option{flex:1;padding:8px 12px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-tertiary);cursor:pointer;font-size:13px;font-weight:600;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);text-align:center}.priority-option-low.selected{border-color:#9ca3af;background:#9ca3af1f;color:#9ca3af}.priority-option-medium.selected{border-color:#f97316;background:#f973161a;color:#f97316}.priority-option-high.selected{border-color:#ef4444;background:#ef44441a;color:#ef4444}.priority-option:hover{border-color:var(--text-secondary);transform:translateY(-1px)}.quarter-view,.year-view{flex:1;display:flex;flex-direction:column;overflow-y:auto;gap:16px}.quarter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:8px 0}.year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:8px 0}.mini-month{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:14px;border:1px solid var(--border-color);transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring)}.mini-month:hover{box-shadow:var(--shadow-lg);border-color:var(--accent);transform:translateY(-2px)}.mini-month-title{font-family:Outfit,sans-serif;font-size:15px;font-weight:800;text-align:center;margin-bottom:10px;cursor:pointer;text-transform:capitalize;color:var(--text-primary);transition:background var(--duration) var(--ease-smooth),color var(--duration) var(--ease-smooth),box-shadow var(--duration) var(--ease-smooth),transform var(--duration) var(--ease-smooth),border-color var(--duration) var(--ease-smooth),opacity var(--duration) var(--ease-smooth);letter-spacing:-.02em}.mini-month-title:hover{color:var(--accent)}.mini-month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:9px;font-weight:700;font-family:Outfit,sans-serif;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.mini-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.mini-day{position:relative;text-align:center;font-size:12px;font-family:Outfit,sans-serif;font-weight:500;padding:4px 2px;border-radius:8px;cursor:pointer;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);color:var(--text-primary)}.mini-day:hover{background:var(--accent-light);color:var(--accent);transform:scale(1.1)}.mini-day.empty{cursor:default}.mini-day.today{background:var(--accent-gradient);color:#fff;font-weight:800;border-radius:50%;box-shadow:var(--shadow-accent)}.mini-day.has-tasks{font-weight:700}.mini-dot{position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.day-full-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden}.day-full-wrapper .calendar{flex:none;padding:24px 24px 0}.day-full-view{flex:1;display:flex;flex-direction:column;padding:0 24px 24px;overflow:hidden}.day-full-stats{padding:8px 0;flex-shrink:0}.day-full-content{flex:1;overflow-y:auto}.repeat-manage-section{padding:16px 24px;border-top:1px solid var(--border-color)}.repeat-manage-section label{display:block;font-size:12px;font-weight:700;font-family:Outfit,sans-serif;margin-bottom:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.repeat-manage-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-outline{padding:8px 16px;border:1.5px solid var(--border-color);border-radius:var(--radius);background:transparent;font-size:13px;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;cursor:pointer;color:var(--text-primary);transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring)}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.btn-outline-danger{color:var(--danger);border-color:var(--danger)}.btn-outline-danger:hover{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.day-timeline-toolbar{display:flex;align-items:center;gap:8px;padding:0 0 12px;flex-shrink:0}.toolbar-btn{padding:6px 14px;border:1.5px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-tertiary);font-size:12px;font-weight:700;font-family:Outfit,sans-serif;cursor:pointer;color:var(--text-secondary);transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring)}.toolbar-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-1px);box-shadow:var(--shadow)}.toolbar-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.toolbar-btn-danger{color:var(--danger);border-color:transparent}.toolbar-btn-danger:hover{background:var(--danger-light);border-color:#e5393f40;color:var(--danger)}.toolbar-selection-count{font-size:12px;font-weight:700;font-family:Outfit,sans-serif;color:var(--text-secondary);margin-right:4px}.task-checkbox{width:20px;height:20px;border:2px solid var(--border-color);border-radius:6px;flex-shrink:0;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);margin-bottom:4px;cursor:pointer}.task-checkbox:hover{border-color:var(--accent)}.task-checkbox-checked{background:var(--accent-gradient);border-color:var(--accent);position:relative;animation:checkPop var(--duration-md) var(--spring)}@keyframes checkPop{0%{transform:scale(.8)}50%{transform:scale(1.15)}to{transform:scale(1)}}.task-checkbox-checked:after{content:"";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E") center/14px no-repeat}.scheduled-task.task-selected{background:var(--accent-light);border-left-color:var(--accent)!important;outline:2px solid var(--accent);outline-offset:-2px;box-shadow:var(--shadow-accent)}.resize-handle{position:absolute;bottom:0;left:0;right:0;height:10px;cursor:ns-resize;display:flex;align-items:flex-end;justify-content:center;padding-bottom:3px;opacity:0;transition:opacity var(--duration);z-index:2}.resize-handle:before{content:"";width:24px;height:2px;background:#ffffff73;border-radius:var(--radius-full)}.week-task-block:hover .resize-handle{opacity:1}.week-task-block.resizing{cursor:ns-resize;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent);z-index:10;opacity:.9}.week-day-grid-task.is-resizing{cursor:ns-resize;box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent);z-index:10}.week-task-block.resizing .week-task-check{pointer-events:none;opacity:.3}.category-badge{font-size:10px;font-weight:700;font-family:Outfit,sans-serif;padding:2px 8px;border-radius:var(--radius-full);flex-shrink:0;white-space:nowrap;letter-spacing:.3px}.category-filter{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.cat-filter-btn{padding:4px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-full);background:transparent;font-size:11px;font-weight:700;font-family:Outfit,sans-serif;cursor:pointer;color:var(--text-secondary);transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring)}.cat-filter-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light);box-shadow:var(--shadow-xs)}.cat-filter-btn:hover{border-color:var(--text-secondary);color:var(--text-primary);transform:translateY(-1px)}.category-options{display:flex;flex-wrap:wrap;gap:8px}.category-option{padding:8px 16px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-tertiary);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring)}.category-option:hover{border-color:var(--text-secondary);transform:translateY(-1px)}.category-option.selected{border-color:var(--accent);background:var(--accent-light);color:var(--accent);box-shadow:var(--shadow-accent)}.catpick{display:flex;flex-direction:column;gap:8px}.catpick-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.catpick-chip{display:inline-flex;align-items:center;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-tertiary);font-size:12.5px;font-weight:600;color:var(--text-primary);overflow:hidden;transition:border-color var(--duration),background var(--duration),color var(--duration)}.catpick-chip:hover{border-color:var(--text-secondary)}.catpick-chip.selected{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.catpick-chip-main,button.catpick-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}button.catpick-chip{border-radius:999px}.catpick-dot{width:8px;height:8px;border-radius:50%;flex:none}.taginput{display:flex;flex-direction:column}.taginput-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-tertiary);padding:7px 9px;transition:border-color var(--duration)}.taginput-chips:focus-within{border-color:var(--accent)}.taginput-chips .taginput-field,.taginput-chips .taginput-field:focus{flex:1 1 90px;min-width:90px;width:auto;border:none;background:transparent;box-shadow:none;transform:none;color:var(--text-primary);font:inherit;font-size:13px;outline:none;padding:4px 2px;margin:0;border-radius:0}.taginput-chips .taginput-field::-webkit-calendar-picker-indicator{display:none!important}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:var(--accent-light);color:var(--accent);font-size:12px;font-weight:600;white-space:nowrap}.tag-chip-del{display:inline-flex;border:none;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 1px;opacity:.7}.tag-chip-del:hover{opacity:1}.tag-chip--sm{padding:1px 6px;font-size:10.5px}.catpick-del{display:inline-flex;align-items:center;justify-content:center;width:20px;align-self:stretch;border:none;background:transparent;color:var(--text-muted);font-size:15px;line-height:1;cursor:pointer;padding:0 7px 0 2px}.catpick-del:hover{color:#ef4444}.catpick-add{padding:5px 11px;border:1px dashed var(--border-color);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color var(--duration),color var(--duration)}.catpick-add:hover{border-color:var(--accent);color:var(--accent)}.catpick-form{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-tertiary)}.catpick-input{width:100%;padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:13px;outline:none}.catpick-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.catpick-swatches{display:flex;flex-wrap:wrap;gap:6px}.catpick-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform var(--duration),border-color var(--duration)}.catpick-swatch:hover{transform:scale(1.12)}.catpick-swatch.selected{border-color:var(--text-primary)}.catpick-form-actions{display:flex;gap:6px}.catpick-save,.catpick-cancel{padding:6px 14px;border-radius:var(--radius);font-size:12.5px;font-weight:600;cursor:pointer;border:none}.catpick-save{background:var(--accent);color:#fff}.catpick-save:disabled{opacity:.5;cursor:not-allowed}.catpick-cancel{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.task-chip-cat-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px;flex-shrink:0;vertical-align:middle}.week-task-cat{position:absolute;bottom:5px;left:6px;width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 1.5px #fff6}.task-cat-badge{font-size:10px;font-weight:700;font-family:Outfit,sans-serif;padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap}.busy-toggle{display:flex;gap:0;border:1.5px solid var(--border-color);border-radius:var(--radius);overflow:hidden}.busy-btn{flex:1;padding:9px 16px;border:none;background:var(--bg-tertiary);font-size:13px;font-weight:700;font-family:Outfit,sans-serif;cursor:pointer;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);color:var(--text-secondary)}.busy-btn.busy-active{background:#e5393f1a;color:var(--danger)}.busy-btn.free-active{background:var(--success-light);color:var(--success)}.task-free-badge{font-size:10px;font-weight:700;font-family:Outfit,sans-serif;color:var(--success);background:var(--success-light);padding:2px 8px;border-radius:var(--radius-full)}.task-free-item{opacity:.75;border-style:dashed!important}.task-block-free{opacity:.6;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.08) 4px,rgba(255,255,255,.08) 8px)!important}.task-free{opacity:.75}.task-time-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:2px}.week-create-ghost{position:absolute;left:3px;right:3px;background:var(--accent);opacity:.2;border-radius:8px;pointer-events:none;z-index:5;border:2px dashed var(--accent);animation:ghostPulse 1.5s ease-in-out infinite}@keyframes ghostPulse{0%,to{opacity:.2}50%{opacity:.35}}.create-input-wrapper{opacity:1;pointer-events:all;display:flex;flex-direction:column;padding:6px 8px;gap:4px;background:var(--bg-secondary);border:2px solid var(--accent);opacity:.97;z-index:20;border-radius:8px;box-shadow:var(--shadow-lg);animation:modalSpringIn var(--duration-md) var(--spring)}.week-create-input{width:100%;border:none;background:transparent;font-size:12px;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;color:var(--text-primary);outline:none;padding:0}.week-create-hint{font-size:10px;color:var(--accent);font-weight:600;font-family:Outfit,sans-serif}.overload-warning{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--warning-light);border:1.5px solid rgba(245,158,11,.3);border-radius:var(--radius);font-size:12px;font-weight:700;font-family:Outfit,sans-serif;color:var(--warning);margin-bottom:12px;flex-shrink:0;animation:warningShake .5s var(--spring)}@keyframes warningShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.overload-warning:before{content:"";font-size:14px}.focus-start-btn{padding:5px 12px;font-size:11px;font-weight:700;font-family:Outfit,sans-serif;border:1.5px solid var(--accent);background:var(--accent-light);border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);color:var(--accent)}.focus-start-btn:hover{background:var(--accent);color:#fff;transform:scale(1.05);box-shadow:var(--shadow-accent)}.focus-timer{position:fixed;bottom:24px;right:24px;width:250px;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:300;padding:22px;animation:timerSlideIn var(--duration-lg) var(--spring);display:flex;flex-direction:column;align-items:center;gap:16px}@keyframes timerSlideIn{0%{transform:translateY(40px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.focus-timer-header{display:flex;justify-content:space-between;align-items:center;width:100%;gap:8px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.focus-timer-header:active{cursor:grabbing}.focus-header-text{display:flex;flex-direction:column;justify-content:center;gap:2px;flex:1;min-width:0}.focus-eyebrow{font-family:Outfit,sans-serif;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.focus-task-title{font-family:Outfit,sans-serif;font-size:14px;font-weight:800;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}.focus-close-btn{width:26px;height:26px;border:none;background:var(--bg-tertiary);border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring)}.focus-close-btn:hover{background:var(--danger);color:#fff;transform:rotate(90deg)}.focus-circle-wrapper{position:relative;width:110px;height:110px;display:flex;align-items:center;justify-content:center}.focus-circle{transform:rotate(-90deg);filter:drop-shadow(0 2px 8px var(--accent-glow))}.focus-circle-bg{fill:none;stroke:var(--border-color);stroke-width:8}.focus-circle-progress{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.focus-time{position:absolute;font-family:Outfit,sans-serif;font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--text-primary);letter-spacing:-1px}.focus-controls{display:flex;gap:8px;width:100%}.focus-btn{flex:1;padding:10px 14px;border:1.5px solid var(--accent);border-radius:var(--radius);background:var(--accent-gradient);color:#fff;font-size:12px;font-weight:800;font-family:Outfit,sans-serif;cursor:pointer;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);box-shadow:var(--shadow-accent)}.focus-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5046e566}.focus-btn:active{transform:translateY(0) scale(.97)}.focus-btn-outline{background:transparent;color:var(--accent);box-shadow:none}.focus-btn-outline:hover{background:var(--accent-light);box-shadow:none}.focus-presets{display:flex;gap:6px;width:100%}.focus-preset-btn{flex:1;padding:6px;border:1.5px solid var(--border-color);border-radius:var(--radius);background:var(--bg-tertiary);font-size:11px;font-weight:700;font-family:Outfit,sans-serif;cursor:pointer;color:var(--text-secondary);transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring)}.focus-preset-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.focus-preset-btn:disabled{opacity:.45;cursor:default;transform:none}.focus-custom{display:flex;gap:6px;width:100%;margin-top:6px}.focus-custom-input{flex:1;min-width:0;padding:6px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:12px;font-family:Outfit,sans-serif;outline:none;text-align:center}.focus-custom-input:focus{border-color:var(--accent)}.focus-custom .focus-preset-btn{flex:0 0 auto;padding:6px 12px}.focus-done{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;text-align:center;animation:doneReveal var(--duration-lg) var(--spring)}@keyframes doneReveal{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.focus-done-icon{width:52px;height:52px;background:var(--success-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--success);box-shadow:0 4px 12px #10b98133}.focus-done-text{font-family:Outfit,sans-serif;font-size:20px;font-weight:900;color:var(--success);letter-spacing:-.03em}.focus-done-sub{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.templates-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.template-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);gap:10px;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring)}.template-item:hover{border-color:var(--accent);box-shadow:var(--shadow)}.template-info{flex:1;min-width:0}.template-name{font-family:Outfit,sans-serif;font-size:14px;font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-meta{font-size:11px;color:var(--text-secondary)}.template-actions{display:flex;gap:6px;flex-shrink:0}.stats-view{flex:1;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-bottom:20px}.sv-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-shrink:0}.sv-title{font-family:var(--font-ui);font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.sv-period{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-muted)}.sv-card{background:var(--bg-secondary);border:1px solid var(--hairline);border-radius:14px;padding:20px}.sv-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sv-card-title{margin:0;font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.sv-card>.sv-card-title{margin-bottom:16px}.sv-overview{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.sv-ring{position:relative;width:132px;height:132px;flex-shrink:0}.sv-ring-svg{width:100%;height:100%;display:block}.sv-ring-track{stroke:color-mix(in srgb,var(--text-primary) 8%,transparent)}.sv-ring-prog{stroke:var(--accent);transition:stroke-dashoffset .7s var(--ease-out)}.sv-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.sv-ring-pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;letter-spacing:-.03em;color:var(--text-primary);line-height:1}.sv-ring-label{font-family:var(--font-ui);font-size:11px;font-weight:500;color:var(--text-muted)}.sv-overview-side{flex:1;min-width:200px;display:flex;flex-direction:column;gap:14px}.sv-ring-caption{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-secondary)}.sv-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px}.sv-metric{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--hairline);border-radius:10px;background:var(--bg-primary)}.sv-metric-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:19px;font-weight:500;letter-spacing:-.02em;color:var(--text-primary);line-height:1.1}.sv-metric-label{font-family:var(--font-ui);font-size:11px;font-weight:500;color:var(--text-muted)}.sv-metric-warn{border-color:color-mix(in srgb,var(--warning) 35%,transparent);background:color-mix(in srgb,var(--warning) 7%,transparent)}.sv-metric-warn .sv-metric-value{color:var(--warning)}.sv-legend{display:flex;gap:14px}.sv-legend-item{display:flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:11px;font-weight:500;color:var(--text-secondary)}.sv-legend-item:before{content:"";width:9px;height:9px;border-radius:3px}.sv-legend-sched:before{background:color-mix(in srgb,var(--text-primary) 14%,transparent)}.sv-legend-done:before{background:var(--accent)}.sv-chart{position:relative;display:flex;align-items:flex-end;gap:10px;height:150px}.sv-avg{position:absolute;left:0;right:0;height:0;border-top:1px dashed color-mix(in srgb,var(--text-primary) 22%,transparent);pointer-events:none}.sv-avg-label{position:absolute;right:0;top:-8px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:9px;font-weight:500;color:var(--text-muted);background:var(--bg-secondary);padding:0 4px}.sv-bar-col{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center}.sv-bar{position:relative;width:62%;max-width:36px;min-height:3px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);border-radius:5px;transition:height .5s var(--ease-out)}.sv-bar-done{position:absolute;left:0;right:0;bottom:0;background:var(--accent);border-radius:5px;transition:height .5s var(--ease-out)}.sv-bar-val{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:9px;font-weight:500;color:var(--text-muted);white-space:nowrap}.sv-bar-col.is-today .sv-bar{background:color-mix(in srgb,var(--accent) 18%,transparent)}.sv-xaxis{display:flex;gap:10px;margin-top:10px}.sv-xtick{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px}.sv-xtick-day{font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:capitalize}.sv-xtick-date{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10px;color:var(--text-muted)}.sv-xtick.is-today .sv-xtick-day,.sv-xtick.is-today .sv-xtick-date{color:var(--accent)}.sv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.sv-cat{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.sv-donut{position:relative;width:116px;height:116px;flex-shrink:0}.sv-donut-svg{width:100%;height:100%;display:block}.sv-donut-track{stroke:color-mix(in srgb,var(--text-primary) 8%,transparent)}.sv-donut-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.sv-donut-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.sv-cat-legend{flex:1;min-width:160px;display:flex;flex-direction:column;gap:9px;list-style:none}.sv-cat-row{display:flex;align-items:center;gap:9px}.sv-cat-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.sv-cat-name{flex:1;min-width:0;font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sv-cat-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-secondary)}.sv-cat-pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;color:var(--text-muted);width:34px;text-align:right}.sv-hours{display:flex;align-items:flex-end;gap:3px;height:90px}.sv-hour{flex:1;height:100%;display:flex;align-items:flex-end}.sv-hour-bar{width:100%;min-height:2px;background:color-mix(in srgb,var(--accent) 32%,transparent);border-radius:3px;transition:height .5s var(--ease-out),background .2s ease}.sv-hour:hover .sv-hour-bar{background:color-mix(in srgb,var(--accent) 55%,transparent)}.sv-hour.is-peak .sv-hour-bar{background:var(--accent)}.sv-hours-axis{position:relative;height:14px;margin-top:6px}.sv-hours-axis span{position:absolute;transform:translate(-50%);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:9px;color:var(--text-muted)}.sv-hours-axis span:first-child{transform:translate(0)}.sv-hours-axis span:last-child{transform:translate(-100%)}.sv-empty{text-align:center;padding:56px 20px;border:1px dashed var(--hairline);border-radius:14px;color:var(--text-secondary);font-family:var(--font-ui)}.sv-empty .sv-empty-hint{font-size:13px;margin-top:8px;color:var(--text-muted)}.sv-card{animation:cardReveal var(--duration-md) var(--ease-out) backwards}.sv-overview{animation-delay:.04s}.sv-grid>.sv-card:nth-child(1){animation-delay:.12s}.sv-grid>.sv-card:nth-child(2){animation-delay:.18s}@media(max-width:560px){.sv-card{padding:16px}.sv-overview{gap:18px}.sv-ring{width:112px;height:112px}.sv-chart,.sv-xaxis{gap:5px}}@keyframes cardReveal{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.calendar-day{animation:dayFadeIn var(--duration-md) var(--ease-out) backwards}@keyframes dayFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.mini-month{animation:cardReveal var(--duration-md) var(--spring) backwards}.quarter-grid .mini-month:nth-child(1){animation-delay:.05s}.quarter-grid .mini-month:nth-child(2){animation-delay:.1s}.quarter-grid .mini-month:nth-child(3){animation-delay:.15s}.week-task-overnight{mask-image:linear-gradient(to bottom,black 70%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 70%,transparent 100%)}.week-task-overnight-badge{position:absolute;bottom:4px;left:6px;right:6px;font-size:9px;font-weight:700;font-family:Outfit,sans-serif;color:#ffffffd9;background:#0003;border-radius:4px;padding:1px 4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-task-continuation{border-top:2px dashed rgba(255,255,255,.6)!important;opacity:.65;cursor:pointer;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0px,rgba(255,255,255,.06) 4px,transparent 4px,transparent 10px)!important;background-size:100%!important}.week-task-continuation:hover{opacity:.85!important;transform:scale(1.02)!important}.continuation-section{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 16px;background:linear-gradient(135deg,var(--accent-light) 0%,transparent 100%);border-radius:var(--radius-lg);border:1px solid var(--accent-light);animation:cardReveal var(--duration-md) var(--spring) backwards}.continuation-card{padding:10px 14px;background:var(--bg-secondary);border-radius:var(--radius);border-left:4px solid;cursor:pointer;transition:background var(--duration) var(--spring),color var(--duration) var(--spring),box-shadow var(--duration) var(--spring),transform var(--duration) var(--spring),border-color var(--duration) var(--spring),opacity var(--duration) var(--spring);position:relative;overflow:hidden}.continuation-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0px,transparent 6px,var(--border-subtle) 6px,var(--border-subtle) 12px);pointer-events:none}.continuation-card:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.continuation-label{font-size:10px;font-weight:700;font-family:Outfit,sans-serif;color:var(--accent);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}.continuation-title{font-family:Outfit,sans-serif;font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.continuation-time{font-size:12px;font-weight:600;font-family:Outfit,sans-serif;color:var(--text-secondary)}.mobile-tab-bar{display:none}@media(max-width:768px){*{-webkit-tap-highlight-color:transparent}.app{flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative}.calendar-section,.tasklist-section{flex:none;width:100%;height:calc(100dvh - 56px);box-sizing:border-box;overflow:hidden}.calendar-section{min-height:unset}.tasklist-section{border-left:none;border-top:none;min-height:unset}.mobile-hidden{display:none!important}.mobile-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:56px;background:var(--bg-secondary);border-top:1px solid var(--border-color);z-index:1000;padding:0;padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -2px 10px #0000000f}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:none;color:var(--text-muted);font-family:Plus Jakarta Sans,sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:color var(--duration) var(--ease-smooth);padding:6px 0}.mobile-tab.active{color:var(--accent)}.mobile-tab-icon{font-size:20px;line-height:1}.mobile-tab-label{font-size:10px;letter-spacing:.02em}.calendar{padding:8px;height:100%;display:flex;flex-direction:column}.calendar-header{flex-direction:row;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.calendar-header-left{flex:1;min-width:0}.view-toggle{display:flex;gap:2px;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.view-toggle button{padding:8px 10px;font-size:12px;flex:1 1 auto;min-width:0;white-space:nowrap}.theme-toggle{width:36px;height:36px;font-size:16px;flex-shrink:0}.calendar-nav{gap:6px}.calendar-nav h3{font-size:14px;min-width:100px;text-align:center}.nav-btn{width:36px;height:36px;font-size:14px}.today-btn{padding:6px 12px;font-size:12px}.month-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.month-header{gap:2px;margin-bottom:4px}.month-day-name{font-size:10px;padding:4px 0}.month-grid{gap:2px;flex:1}.calendar-day{min-height:52px;padding:4px;border-radius:8px}.day-number{font-size:12px}.day-name{font-size:9px}.day-task{font-size:9px;padding:2px 4px;margin-bottom:2px;border-radius:4px}.week-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.kanban-headers-bar{overflow-x:auto;-webkit-overflow-scrolling:touch}.kanban-gutter-spacer{width:36px}.kanban-col-headers{min-width:500px}.kanban-col-header{padding:4px 2px}.kanban-day-name{font-size:9px;letter-spacing:.5px}.kanban-day-num{font-size:16px;width:28px;height:28px}.kanban-day-date{font-size:9px}.kanban-task-count{font-size:9px;padding:1px 5px}.kanban-scroll{overflow:auto;-webkit-overflow-scrolling:touch}.kanban-container{min-width:540px}.kanban-gutter{width:36px}.kanban-gutter-label{font-size:9px;padding:0 4px}.kanban-columns{gap:2px;padding:0 2px}.kanban-body{min-height:300px}.week-task-block{font-size:10px;padding:3px 4px}.week-task-time{font-size:9px}.week-task-title{font-size:10px}.resize-handle{height:12px}.resize-handle:before{width:24px;height:3px}.week-create-ghost{min-height:30px}.week-create-input{font-size:14px;padding:4px}.week-create-hint{font-size:9px}.year-grid{grid-template-columns:repeat(2,1fr);gap:8px}.mini-month{padding:6px}.mini-month-title{font-size:12px}.mini-month-weekdays span{font-size:8px}.mini-day{font-size:10px;min-width:24px;min-height:24px}.task-list{padding:12px 12px 60px;height:100%;overflow-y:auto}.task-list-header{margin-bottom:10px}.task-list-header h2{font-size:18px}.task-count{font-size:11px;padding:2px 8px}.search-input{font-size:14px;padding:10px 12px}.add-task-form{flex-direction:column;gap:8px;margin-bottom:12px}.add-task-input{width:100%;font-size:14px;padding:12px}.add-task-row{display:flex;gap:8px;width:100%}.duration-select{flex:1;font-size:14px;padding:10px}.add-task-btn{width:48px;height:48px;font-size:22px;flex-shrink:0}.task-card{padding:10px;gap:10px}.task-color{width:4px;height:36px}.task-title{font-size:13px}.task-meta{font-size:11px}.duration-badge,.repeat-badge,.category-badge{font-size:10px;padding:2px 8px}.delete-task-btn{width:32px;height:32px;font-size:18px}.modal-overlay{padding:0;align-items:flex-end;justify-content:center;z-index:12000}.modal{width:100%;max-width:none;max-height:92vh;max-height:92dvh;border-radius:16px 16px 0 0;animation:slideUp .3s var(--ease-out);display:flex;flex-direction:column;overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:16px}.modal-header h3{font-size:17px}.modal-body{padding:16px;max-height:calc(92vh - 132px);max-height:calc(92dvh - 132px);overflow-y:auto;-webkit-overflow-scrolling:touch;flex:0 1 auto;min-height:0}.form-group label{font-size:13px}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:10px 12px;border-radius:10px}.form-row{flex-direction:column;gap:10px}.modal-footer{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px}.modal-footer button{flex:1;min-width:100px;font-size:14px;padding:12px;border-radius:10px}.day-view{width:100%;max-width:none;max-height:100vh;max-height:100dvh;height:100dvh;border-radius:0}.day-view-header{padding:12px 16px}.day-view-header h2{font-size:17px}.day-view-content{padding:8px 8px 20px}.timeline-hour{min-height:44px}.hour-label{width:42px;font-size:11px;padding:8px 4px}.scheduled-task{padding:8px;font-size:12px;margin-bottom:4px;border-radius:8px}.task-time{font-size:11px}.task-title-day{font-size:13px}.scheduled-task-actions{gap:4px}.scheduled-task-actions button{font-size:11px;padding:6px 10px;min-height:32px}.close-btn{width:32px;height:32px;font-size:18px}.focus-timer{padding:16px}.focus-timer-header{padding:8px}.focus-task-title{font-size:15px}.focus-circle{width:100px;height:100px}.focus-time{font-size:20px}.focus-controls{gap:8px}.focus-btn{padding:10px 20px;font-size:13px}.focus-presets{gap:4px}.focus-preset-btn{padding:8px 12px;font-size:12px}.day-timeline-toolbar{flex-wrap:wrap;gap:6px;margin-bottom:8px}.toolbar-btn{padding:8px 12px;font-size:12px;min-height:36px}.category-filter{flex-wrap:wrap;gap:4px;margin-bottom:8px}.cat-filter-btn{padding:6px 10px;font-size:12px;min-height:32px}.search-wrapper{margin-bottom:10px}.search-count{font-size:11px}.templates-list{gap:8px}.template-item{padding:10px}.template-name{font-size:13px}.template-meta{font-size:11px}.template-actions button{padding:6px 10px;font-size:11px;min-height:32px}.repeat-manage-buttons{flex-direction:column;gap:6px}.repeat-manage-buttons button{width:100%;padding:10px;font-size:13px}.busy-toggle{gap:4px}.busy-btn{flex:1;padding:10px;font-size:13px}.category-options{flex-wrap:wrap;gap:6px}.category-option{padding:8px 12px;font-size:12px}.color-picker{gap:5px}.color-option{width:22px;height:22px;min-width:22px}.continuation-card{padding:8px;margin-bottom:6px}.continuation-label{font-size:10px}.continuation-title{font-size:12px}.continuation-time{font-size:11px}.quick-add-input{font-size:14px;padding:10px}.empty-hour{font-size:12px;padding:10px;min-height:44px}.empty-state{padding:24px 16px}.empty-state p{font-size:13px}.empty-hint{font-size:12px}.overload-warning{font-size:12px;padding:10px;margin-bottom:8px}.completion-count{font-size:11px;padding:2px 8px}.task-chip-cat-dot{width:6px;height:6px}.priority-mini-buttons button{min-width:36px;min-height:36px}input,select,textarea{font-size:16px!important}}@media(max-width:480px){.view-toggle button{padding:7px 6px;font-size:11px}.calendar-nav h3{font-size:12px;min-width:90px}.calendar-day{min-height:46px}.day-task{font-size:8px;padding:1px 3px}.year-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column-reverse;align-items:stretch;gap:10px}.modal-footer-left,.modal-footer-right{width:100%;display:flex;gap:8px}.modal-footer-right button,.modal-footer-left button{flex:1;min-width:0;width:auto}.toolbar-btn{width:100%}.kanban-col-headers{min-width:460px}.kanban-container{min-width:500px}}@media(max-width:768px)and (orientation:landscape){.mobile-tab-bar{height:44px}.mobile-tab-icon{font-size:16px}.mobile-tab-label{font-size:9px}.calendar-section,.tasklist-section{height:calc(100dvh - 44px)}}@supports (-webkit-touch-callout: none){@media(max-width:768px){.app{height:-webkit-fill-available}.mobile-tab-bar{padding-bottom:env(safe-area-inset-bottom,0)}.task-list{padding-bottom:calc(60px + env(safe-area-inset-bottom,0))}}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.error-fallback{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);padding:24px}.error-fallback-content{text-align:center;max-width:400px}.error-fallback-content h2{font-family:Outfit,sans-serif;font-size:24px;margin-bottom:12px}.error-fallback-content p{color:var(--text-secondary);margin-bottom:24px;line-height:1.5}.error-fallback-actions{display:flex;gap:12px;justify-content:center}.sort-options{display:flex;flex-wrap:wrap;gap:4px;padding:0 16px;margin-bottom:8px}.sort-btn{padding:4px 10px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);font-size:11px;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;cursor:pointer;transition:background var(--duration) var(--ease-smooth),color var(--duration) var(--ease-smooth),border-color var(--duration) var(--ease-smooth)}.sort-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.sort-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ei-btn{flex:1;padding:6px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:background .15s;white-space:nowrap}.ei-btn:hover{background:var(--accent-light)}.sync-login-btn{display:block;width:calc(100% - 24px);margin:0 12px 8px;padding:8px;border:1px dashed var(--border-color);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background var(--duration),color var(--duration)}.sync-login-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.sync-panel{margin:0 12px 8px;padding:10px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-secondary);display:flex;flex-direction:column;gap:8px}.sync-user{display:flex;align-items:center;gap:6px;font-size:12px;min-width:0}.sync-avatar{font-size:14px}.sync-email{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-secondary)}.sync-signout{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0 2px;flex-shrink:0}.sync-signout:hover{color:var(--danger)}.sync-actions{display:flex;gap:6px}.sync-actions .ei-btn{flex:1;font-size:11px;padding:5px 4px;text-align:center;white-space:normal;line-height:1.2;min-width:0}.sync-status{display:block;margin-top:6px;font-size:11px;color:var(--text-muted)}.auth-modal{position:relative;background:var(--bg-secondary);border-radius:var(--radius-lg);padding:32px;max-width:400px;width:90%;box-shadow:var(--shadow-xl)}.auth-title{font-family:Outfit,sans-serif;font-size:24px;font-weight:700;margin-bottom:24px;text-align:center}.auth-oauth{display:flex;gap:8px;margin-bottom:16px}.auth-oauth-btn{flex:1;padding:10px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--duration)}.auth-oauth-btn:hover{background:var(--accent-light)}.auth-divider{display:flex;align-items:center;gap:14px;margin:18px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--border-color))}.auth-divider:after{background:linear-gradient(to left,transparent,var(--border-color))}.auth-divider span{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-input{padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:14px;outline:none;transition:border-color var(--duration)}.auth-input:focus{border-color:var(--accent)}.auth-error{color:var(--danger);font-size:13px;margin:0}.auth-submit{padding:10px;border:none;border-radius:var(--radius);background:var(--accent-gradient);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:box-shadow var(--duration)}.auth-submit:hover{box-shadow:var(--shadow-accent)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--duration),box-shadow var(--duration);margin-bottom:4px}.auth-google-btn:hover{background:var(--accent-light)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:16px;font-size:13px;color:var(--text-secondary)}.auth-switch-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;font-weight:600;padding:0}.auth-forgot-link{align-self:flex-end;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12.5px;padding:0;margin-top:-4px}.auth-forgot-link:hover{color:var(--accent)}.feature-icon-wrap{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.feature-icon-wrap--purple{background:#5046e51a}.feature-icon-wrap--teal{background:#0ea5e91a}.feature-icon-wrap--coral{background:#ef444417}[data-theme=dark] .feature-icon-wrap--purple{background:#7c6ff729}[data-theme=dark] .feature-icon-wrap--teal{background:#38bdf821}[data-theme=dark] .feature-icon-wrap--coral{background:#ef444421}.feature-icon{font-size:24px;display:block}.step-number{width:48px;height:48px;margin:0 auto;border-radius:50%;background:var(--accent-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Outfit,sans-serif;font-size:22px;font-weight:700;position:relative;z-index:1}.step-emoji-badge{font-size:26px;margin:12px auto 16px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius)}.policy-page{min-height:100vh;background:var(--bg-primary);padding:48px 16px}.policy-container{max-width:720px;margin:0 auto}.policy-back{background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer;padding:0;margin-bottom:32px;display:inline-flex;align-items:center;gap:4px}.policy-back:hover{text-decoration:underline}.policy-container h1{font-family:Outfit,sans-serif;font-size:32px;font-weight:800;color:var(--text-primary);margin-bottom:8px}.policy-date{font-size:13px;color:var(--text-muted);margin-bottom:40px}.policy-container section{margin-bottom:32px}.policy-container h2{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.policy-container h3{font-size:15px;font-weight:600;color:var(--text-primary);margin:16px 0 8px}.policy-container p{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:12px}.policy-container ul{padding-left:20px;margin-bottom:12px}.policy-container li{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:4px}.policy-container a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.policy-container strong{color:var(--text-primary);font-weight:600}.ob-backdrop{position:fixed;inset:0;background:#0000004d;z-index:900;animation:fadeIn .2s ease}.ob-tooltip{position:fixed;z-index:901;width:300px;max-width:calc(100vw - 32px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-xl);animation:slideUp .2s var(--ease-out)}.ob-skip{position:absolute;top:10px;right:12px;background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;line-height:1;padding:2px 6px}.ob-skip:hover{color:var(--text-primary)}.ob-title{font-family:Outfit,sans-serif;font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:8px;margin-right:24px}.ob-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:16px}.ob-footer{display:flex;align-items:center;justify-content:space-between}.ob-dots{display:flex;gap:5px}.ob-dot{width:6px;height:6px;border-radius:50%;background:var(--border-color);cursor:pointer;transition:background .15s}.ob-actions{display:flex;gap:6px}.ob-btn-primary{padding:6px 16px;border:none;border-radius:var(--radius-full);background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.ob-btn-primary:hover{background:var(--accent-hover)}.ob-btn-secondary{padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:none;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background .15s}.ob-btn-secondary:hover{background:var(--bg-tertiary)}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-topbar{position:fixed;top:0;left:0;right:0;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:200}.app-logo-btn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--radius);transition:background var(--duration)}.app-logo-btn:hover{background:var(--bg-tertiary)}.app-logo-icon{width:28px;height:28px;background:var(--accent-gradient);color:#fff;font-family:Outfit,sans-serif;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;border-radius:8px}.app-logo-text{font-family:Outfit,sans-serif;font-weight:700;font-size:16px;color:var(--text-primary)}.app-topbar-right{display:flex;align-items:center;gap:8px}.topbar-sync-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--accent);border-radius:var(--radius-full);background:transparent;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--duration),color var(--duration);white-space:nowrap}.topbar-sync-btn:hover{background:var(--accent);color:#fff}.app-user-info{display:flex;align-items:center;gap:12px}.app-user-email{font-size:13px;color:var(--text-secondary)}.app-signout-btn{padding:4px 12px;border:1px solid var(--border-color);border-radius:var(--radius);background:none;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:background var(--duration)}.app-signout-btn:hover{background:var(--bg-tertiary)}.app{padding-top:48px}.modal-close-btn{position:absolute;top:12px;right:16px;background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;line-height:1;padding:4px}.modal-close-btn:hover{color:var(--text-primary)}@media(max-width:768px){.app-topbar{height:40px;padding:0 10px}.app{padding-top:40px}.app-logo-text{display:none}.app-user-email{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.feature-icon-wrap{transition:transform var(--duration-md) var(--spring),box-shadow var(--duration-md)}.app-topbar{height:52px;padding:0 20px;border-bottom:1px solid var(--border-subtle);box-shadow:0 1px 0 var(--border-subtle)}.app{padding-top:52px}.app-logo-icon{box-shadow:0 2px 6px -1px var(--accent-glow)}.app-logo-btn{transition:background var(--duration),transform var(--duration) var(--spring)}.app-logo-btn:hover{background:var(--accent-light);transform:translateY(-1px)}.app-logo-btn:hover .app-logo-icon{box-shadow:0 4px 12px -2px var(--accent-glow)}.topbar-sync-btn{transition:background var(--duration),color var(--duration),box-shadow var(--duration),transform var(--duration) var(--spring)}.topbar-sync-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-accent)}.calendar-day{position:relative}.calendar-day:hover{border-color:transparent;box-shadow:var(--shadow-md),0 0 0 1.5px var(--accent-light),0 6px 18px -8px var(--accent-glow)}.calendar-day.today{border-color:#5046e52e;box-shadow:0 0 0 1px #5046e51a,0 12px 24px -18px var(--accent-glow),var(--shadow-xs)}.task-card{position:relative;overflow:hidden;transition:transform var(--duration) var(--spring),box-shadow var(--duration) var(--ease-out),border-color var(--duration)}.task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--task-accent, var(--accent));opacity:0;transform:scaleY(.6);transform-origin:center;transition:opacity var(--duration) var(--ease-out),transform var(--duration) var(--ease-out)}.task-card:hover:before{opacity:1;transform:scaleY(1)}.view-toggle button.active{transform:translateY(-.5px)}:root{--font-ui: "Inter", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Roboto Mono", Menlo, monospace;--grid-line: rgba(10, 10, 20, .07);--spotlight: rgba(80, 70, 229, .09);--hairline: rgba(10, 10, 20, .08);--panel: rgba(255, 255, 255, .6)}[data-theme=dark]{--bg-primary: #0a0a0c;--bg-secondary: #111114;--bg-tertiary: #16161b;--grid-line: rgba(255, 255, 255, .06);--spotlight: rgba(124, 111, 247, .1);--hairline: rgba(255, 255, 255, .08);--panel: rgba(255, 255, 255, .02)}.theme-toggle{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--hairline);border-radius:8px;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.theme-toggle:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:color-mix(in srgb,var(--text-primary) 20%,transparent)}body,.app,.app *{font-family:var(--font-ui)}.app h1,.app h2,.app h3,.app h4,.modal h2,.modal h3,.calendar-header h2,.task-list-header h2{font-family:var(--font-ui);font-weight:600;letter-spacing:-.02em}.app{background:radial-gradient(ellipse 1100px 700px at 50% -15%,var(--spotlight),transparent 75%),var(--bg-primary)}.app-topbar{background:color-mix(in srgb,var(--bg-primary) 78%,transparent);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);border-bottom:1px solid var(--hairline);box-shadow:none;height:52px}.app-logo-icon{background:var(--text-primary);color:var(--bg-primary);font-family:var(--font-ui);font-weight:700;border-radius:7px;box-shadow:none}.app-logo-btn:hover{background:transparent}.app-logo-btn:hover .app-logo-icon{box-shadow:0 0 0 3px color-mix(in srgb,var(--text-primary) 10%,transparent)}.app-logo-text{font-weight:600;letter-spacing:-.015em}.topbar-sync-btn,.app-signout-btn{border:1px solid var(--hairline);background:transparent;border-radius:8px;font-size:13px;font-weight:500;padding:6px 12px;box-shadow:none;color:var(--text-secondary);transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.topbar-sync-btn:hover,.app-signout-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:color-mix(in srgb,var(--text-primary) 20%,transparent);box-shadow:none;transform:none}.app-user-email{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.view-toggle{background:var(--bg-secondary);border:1px solid var(--hairline);border-radius:9px;padding:3px;gap:0}.view-toggle button{background:transparent;border:none;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary);box-shadow:none;transition:background .16s ease,color .16s ease}.view-toggle button:hover{background:transparent;color:var(--text-primary)}.view-toggle button.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 0 0 1px var(--hairline),0 1px 2px #0a0a140a;transform:none}[data-theme=dark] .view-toggle button.active{background:var(--bg-tertiary);box-shadow:0 0 0 1px var(--hairline),0 1px 2px #0000004d}.calendar{background:transparent;border:none}.calendar-header{border-bottom:1px solid var(--hairline);background:transparent;padding:14px 20px}.calendar-header h2{font-size:17px;font-weight:600}.nav-btn,.today-btn{background:transparent;border:1px solid var(--hairline);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary);padding:6px 12px;transition:background .16s ease,color .16s ease,border-color .16s ease;box-shadow:none}.nav-btn:hover,.today-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:color-mix(in srgb,var(--text-primary) 20%,transparent)}.calendar-header h2,.day-number,.kanban-day-date,.hour-label,.kanban-gutter-label,.task-time,.week-task-time,.focus-digits,.focus-time,.duration-badge,.completion-count,.mini-day,.mini-month-title{font-variant-numeric:tabular-nums}.hour-label,.kanban-gutter-label,.task-time,.week-task-time,.mini-day{font-family:var(--font-mono);font-weight:400}.month-grid{border:1px solid var(--hairline);border-radius:10px;overflow:hidden;background:var(--bg-secondary)}.month-header{background:transparent;border-bottom:1px solid var(--hairline)}.month-day-name{color:var(--text-muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.calendar-day{border:none;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:transparent;border-radius:0;transition:background .16s ease}.calendar-day:hover{background:var(--bg-tertiary);border-color:var(--hairline);box-shadow:none}.calendar-day.today{background:color-mix(in srgb,var(--accent) 5%,transparent);border-color:var(--hairline);box-shadow:none}.calendar-day.today:after{content:none}.day-number{font-family:var(--font-mono);font-weight:500;font-size:13px;color:var(--text-secondary)}.calendar-day.today .day-number{color:var(--accent);font-weight:600}.task-count{font-size:10.5px;color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.kanban-container{background:transparent;border:none}.kanban-headers-bar{border-bottom:1px solid var(--hairline);background:transparent}.kanban-day-name{color:var(--text-muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.kanban-day-date{font-family:var(--font-mono);font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-primary)}.kanban-task-count{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted)}.kanban-columns{background:transparent}.kanban-gutter{border-right:1px solid var(--hairline);background:transparent}.kanban-gutter-label{color:var(--text-muted);font-size:10.5px}.week-hour-line{border-top:1px solid var(--hairline);opacity:1}.kanban-now-line{background:#ef4444;height:1.5px;box-shadow:none}.kanban-now-dot{background:#ef4444;width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb,#ef4444 22%,transparent)}.week-task-title{font-weight:500;font-size:12.5px;letter-spacing:-.005em}.week-task-time{font-size:10.5px;color:var(--text-muted)}.week-task-cat{font-size:9.5px;color:var(--text-muted)}.task-list{background:var(--bg-secondary);border-left:1px solid var(--hairline);border-radius:0}.task-list-header{padding:14px 16px;border-bottom:1px solid var(--hairline);background:transparent}.task-list-header h2{font-size:15px;font-weight:600}.search-wrapper{position:relative}.search-input{background:var(--bg-primary);border:1px solid var(--hairline);border-radius:8px;font-size:13px;padding:8px 12px;color:var(--text-primary);transition:border-color .16s ease,background .16s ease}.search-input:focus{border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.search-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:11px}.task-card{background:var(--bg-primary);border:1px solid var(--hairline);border-radius:9px;padding:10px 12px;transition:background .16s ease,border-color .16s ease,transform .16s cubic-bezier(.22,1,.36,1);box-shadow:none}.task-card:hover{background:var(--bg-secondary);border-color:color-mix(in srgb,var(--text-primary) 14%,transparent);box-shadow:none;transform:translateY(-1px)}.task-card:before{width:2px;top:8px;bottom:8px;border-radius:0 2px 2px 0}.task-title{font-weight:500;font-size:13.5px;letter-spacing:-.005em;color:var(--text-primary)}.task-time,.duration-badge{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;font-size:11px;color:var(--text-muted)}.task-cat-badge,.category-badge{font-size:10.5px;font-weight:500;border-radius:4px;padding:2px 7px;background:var(--bg-tertiary);color:var(--text-secondary);border:none}.repeat-badge{font-size:10px;color:var(--text-muted);background:transparent;border:1px solid var(--hairline)}.add-task-form{padding:12px;background:var(--bg-primary);border-top:1px solid var(--hairline);border-bottom:none}.add-task-input,.duration-select,.category-filter{background:var(--bg-secondary);border:1px solid var(--hairline);border-radius:8px;font-size:13px;padding:7px 10px;color:var(--text-primary);font-family:var(--font-ui);transition:border-color .16s ease}.add-task-input:focus,.duration-select:focus,.category-filter:focus{border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.add-task-btn{background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:8px;font-size:13px;font-weight:500;padding:7px 14px;transition:opacity .16s ease,transform .16s ease;box-shadow:none}.add-task-btn:hover{opacity:.88;transform:none;box-shadow:none}.btn-primary,.focus-start-btn{background:var(--accent);color:#fff;border:none;border-radius:9px;font-weight:500;font-size:13.5px;padding:9px 18px;box-shadow:0 1px color-mix(in srgb,var(--accent) 40%,transparent) inset,0 4px 14px -6px var(--accent-glow);transition:transform .16s ease,box-shadow .2s ease,background .18s ease}.btn-primary:hover,.focus-start-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 1px color-mix(in srgb,var(--accent) 40%,transparent) inset,0 8px 20px -6px var(--accent-glow)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--hairline);border-radius:9px;font-weight:500;font-size:13.5px;padding:9px 18px;box-shadow:none}.btn-secondary:hover{background:var(--bg-secondary);border-color:color-mix(in srgb,var(--text-primary) 20%,transparent);box-shadow:none}.btn-danger{background:transparent;color:#ef4444;border:1px solid color-mix(in srgb,#ef4444 30%,transparent);border-radius:9px;font-weight:500;font-size:13.5px;padding:9px 18px}.btn-danger:hover{background:color-mix(in srgb,#ef4444 8%,transparent)}.toolbar-btn{background:transparent;border:1px solid var(--hairline);border-radius:8px;font-size:12.5px;font-weight:500;color:var(--text-secondary);padding:6px 12px;box-shadow:none;transition:background .16s ease,color .16s ease,border-color .16s ease}.toolbar-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:color-mix(in srgb,var(--text-primary) 18%,transparent)}.toolbar-btn-danger{color:#ef4444;border-color:color-mix(in srgb,#ef4444 25%,transparent)}.toolbar-btn-danger:hover{background:color-mix(in srgb,#ef4444 6%,transparent);color:#ef4444}.tl-icon-btn{background:transparent;border:1px solid var(--hairline);border-radius:7px;width:28px;height:28px;color:var(--text-secondary);transition:background .16s ease,color .16s ease,border-color .16s ease}.tl-icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:color-mix(in srgb,var(--text-primary) 18%,transparent)}.modal-overlay{background:color-mix(in srgb,var(--bg-primary) 55%,rgba(0,0,0,.5));-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1)}.modal{background:var(--bg-secondary);border:1px solid var(--hairline);border-radius:14px;box-shadow:0 30px 60px -20px #0a0a1440,0 10px 30px -10px #0a0a141f}[data-theme=dark] .modal{box-shadow:0 30px 60px -20px #000000b3,0 10px 30px -10px #00000073}.modal-header{border-bottom:1px solid var(--hairline);background:transparent}.modal-header h2,.modal-header h3{font-size:16px;font-weight:600}.close-btn{background:transparent;border:1px solid var(--hairline);border-radius:7px;width:28px;height:28px;color:var(--text-secondary);font-size:14px}.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:color-mix(in srgb,var(--text-primary) 18%,transparent)}.modal-footer{border-top:1px solid var(--hairline);background:transparent}.form-group label{font-size:12px;font-weight:500;color:var(--text-secondary);letter-spacing:.01em;text-transform:none}.form-group input,.form-group textarea,.form-group select,.modal-select{background:var(--bg-primary);border:1px solid var(--hairline);border-radius:9px;font-family:var(--font-ui);font-size:13.5px;padding:9px 12px;color:var(--text-primary);transition:border-color .16s ease,box-shadow .16s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.modal-select:focus{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.repeat-interval-row{display:flex;align-items:center;gap:8px}.repeat-interval-input{width:64px;text-align:center;background:var(--bg-primary);border:1px solid var(--hairline);border-radius:9px;padding:9px 10px;color:var(--text-primary);font-family:var(--font-ui);font-size:13.5px}.weekday-chips{display:flex;flex-wrap:wrap;gap:6px}.weekday-chip{min-width:38px;padding:7px 9px;border:1px solid var(--hairline);border-radius:9px;background:var(--bg-primary);color:var(--text-secondary);font-size:12.5px;font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.weekday-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.weekday-chip--on{background:var(--accent);border-color:var(--accent);color:#fff}.cmdk-overlay{position:fixed;inset:0;z-index:1000;background:color-mix(in srgb,var(--text-primary) 18%,transparent);display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cmdk-panel{width:min(560px,92vw);background:var(--bg-primary);border:1px solid var(--hairline);border-radius:14px;box-shadow:0 24px 60px #00000047;overflow:hidden;display:flex;flex-direction:column}.cmdk-input{border:none;outline:none;background:transparent;padding:16px 18px;font-size:15.5px;color:var(--text-primary);font-family:var(--font-ui);border-bottom:1px solid var(--hairline)}.cmdk-empty{padding:20px 18px;color:var(--text-muted);font-size:13.5px}.cmdk-list{list-style:none;margin:0;padding:6px;max-height:52vh;overflow-y:auto}.cmdk-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;border:none;background:transparent;border-radius:9px;cursor:pointer;text-align:left;color:var(--text-primary);font-size:13.5px}.cmdk-item.is-sel{background:var(--accent-light)}.cmdk-kind{flex:none;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 7px;border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary)}.cmdk-kind-command{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.cmdk-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-sub{flex:none;color:var(--text-muted);font-size:12px}.notes-list-head-actions{display:flex;align-items:center;gap:6px}.notes-graph-btn{border:1px solid var(--hairline);background:var(--bg-primary);color:var(--text-secondary);border-radius:8px;padding:5px 10px;font-size:12.5px;font-weight:600;cursor:pointer}.notes-graph-btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--text-primary)}.graph-overlay{position:fixed;inset:0;z-index:13000;background:color-mix(in srgb,var(--text-primary) 22%,transparent);display:flex;justify-content:center;align-items:center;padding:4vh 4vw}.graph-panel{width:min(1100px,96vw);height:min(760px,92vh);background:var(--bg-primary);border:1px solid var(--hairline);border-radius:14px;box-shadow:0 24px 60px #00000047;display:flex;flex-direction:column;overflow:hidden}@media(max-width:768px){.graph-overlay{padding:0}.graph-panel{width:100vw;height:100vh;height:100dvh;border:none;border-radius:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.graph-head{flex-wrap:wrap;padding:10px 12px}.graph-controls{gap:10px;width:100%;order:3}.graph-legend{flex-wrap:wrap}}.graph-head{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--hairline)}.graph-title{font-weight:700;font-size:15px}.graph-controls{display:flex;align-items:center;gap:12px;margin-left:auto;flex-wrap:wrap}.graph-toggle{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.graph-toggle input{accent-color:var(--accent);cursor:pointer}.graph-reset{border:1px solid var(--hairline);background:var(--bg-primary);color:var(--text-secondary);border-radius:8px;padding:4px 10px;font-size:12.5px;font-weight:600;cursor:pointer}.graph-reset:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--text-primary)}.graph-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.graph-svg{flex:1;width:100%;height:100%;min-height:0;touch-action:none}.graph-edge{stroke:var(--hairline);stroke-width:1}.graph-edge-mention{stroke-dasharray:4 4;opacity:.55}.graph-edge-plan{stroke:#f97316;opacity:.75}.graph-edge.is-active{stroke:var(--accent);stroke-width:1.6;opacity:1}.graph-node-note circle{fill:var(--accent)}.graph-node-task circle{fill:#f97316}.graph-node:hover circle{stroke:var(--text-primary);stroke-width:2}.graph-label{fill:var(--text-secondary);font-size:11px;font-family:var(--font-ui);pointer-events:none;-webkit-user-select:none;user-select:none}.graph-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 16px;border-top:1px solid var(--hairline);font-size:12px;color:var(--text-muted)}.graph-legend-item{display:inline-flex;align-items:center;gap:6px}.graph-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.graph-dot-note{background:var(--accent)}.graph-dot-task{background:#f97316}.graph-line{width:16px;height:0;border-top:2px solid var(--hairline);display:inline-block}.graph-line-link{border-top-color:var(--text-muted)}.graph-line-mention{border-top-style:dashed;border-top-color:var(--text-muted)}.graph-line-plan{border-top-color:#f97316}.modal.modal-sm{max-width:360px}.repeat-scope-text{margin:0 0 14px;color:var(--text-secondary);font-size:13.5px}.repeat-scope-actions{display:flex;flex-direction:column;gap:8px}.repeat-scope-actions button{width:100%}.day-view-overlay{background:color-mix(in srgb,var(--bg-primary) 55%,rgba(0,0,0,.5));-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1)}.day-view,.day-full-view,.day-full-wrapper{background:var(--bg-secondary);border:1px solid var(--hairline);border-radius:14px;box-shadow:0 30px 60px -20px #0a0a1440,0 10px 30px -10px #0a0a141f}.day-view-header{border-bottom:1px solid var(--hairline);background:transparent}.day-view-header h2{font-size:16px;font-weight:600}.day-timeline-toolbar{border-bottom:1px solid var(--hairline);background:transparent;padding:10px 16px}.empty-hour{border-top:1px solid var(--hairline);transition:background .14s ease}.empty-hour:hover{background:var(--bg-tertiary)}.hour-label{color:var(--text-muted);font-size:11px;font-weight:400}.quick-add-input{background:var(--bg-secondary);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:8px;font-size:13px;padding:7px 10px;box-shadow:0 0 0 3px var(--accent-light)}.continuation-section{padding:12px 16px;background:color-mix(in srgb,var(--accent) 4%,var(--bg-secondary));border-bottom:1px solid var(--hairline)}.continuation-card{background:var(--bg-secondary);border:1px solid var(--hairline);border-left:2px solid var(--accent);border-radius:8px}.continuation-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.continuation-title{font-weight:500;font-size:13.5px}.continuation-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--text-muted)}.focus-timer{background:var(--bg-secondary);border:1px solid var(--hairline);border-radius:14px;box-shadow:0 30px 60px -20px #0a0a1440,0 10px 30px -10px #0a0a141f}.focus-timer-header{border-bottom:1px solid var(--hairline);background:transparent}.focus-time,.focus-digits{font-family:var(--font-mono);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text-primary)}.mobile-tab-bar{background:color-mix(in srgb,var(--bg-primary) 80%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);border-top:1px solid var(--hairline);box-shadow:none}.mobile-tab-label{font-size:11px;font-weight:500}.mini-month{background:transparent;border:1px solid var(--hairline);border-radius:10px;padding:10px}.mini-month-title{font-family:var(--font-ui);font-weight:600;font-size:12px;letter-spacing:-.005em;color:var(--text-primary)}.mini-day{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10.5px;color:var(--text-secondary)}.mini-day.empty{color:transparent}.mini-dot{background:var(--accent);opacity:.75}.overload-warning{background:color-mix(in srgb,#f59e0b 8%,transparent);border:1px solid color-mix(in srgb,#f59e0b 30%,transparent);color:#b45309;font-size:12.5px;font-weight:500;border-radius:8px;padding:8px 12px}[data-theme=dark] .overload-warning{color:#fbbf24}.template-item{background:var(--bg-primary);border:1px solid var(--hairline);border-radius:9px;padding:10px 12px;transition:background .16s ease,border-color .16s ease}.template-item:hover{background:var(--bg-secondary);border-color:color-mix(in srgb,var(--text-primary) 14%,transparent)}.template-name{font-weight:500;font-size:13.5px}.template-meta{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.app-topbar .app-logo-text{background:none;-webkit-text-fill-color:currentColor}.app *::-webkit-scrollbar{width:10px;height:10px}.app *::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-primary) 10%,transparent);border-radius:10px;border:2px solid transparent;background-clip:content-box}.app *::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-primary) 20%,transparent);background-clip:content-box}.app *::-webkit-scrollbar-track{background:transparent}.kanban-col-header{border-radius:8px;transition:background .16s ease,color .16s ease}.kanban-col-header:hover{background:var(--bg-tertiary);transform:none}.kanban-col-today{background:transparent}.kanban-col-today:after{content:"";left:50%;right:auto;bottom:2px;width:18px;height:2px;transform:translate(-50%);background:var(--accent);border-radius:1px;opacity:.9}.kanban-day-num{font-family:var(--font-mono);font-weight:500;font-size:17px;width:auto;height:auto;border-radius:0;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em;box-shadow:none;background:transparent}.kanban-day-num.today-circle{background:transparent;color:var(--accent);font-weight:600;box-shadow:none}.kanban-col-today .kanban-day-name{color:var(--accent)}.kanban-col-today .kanban-day-date{color:color-mix(in srgb,var(--accent) 75%,var(--text-muted))}.mini-day{font-family:var(--font-mono);font-weight:400;font-variant-numeric:tabular-nums;border-radius:6px;color:var(--text-secondary)}.mini-day:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:none}.mini-day.today{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);font-weight:600;border-radius:6px;box-shadow:none}.mini-dot{background:color-mix(in srgb,var(--accent) 70%,transparent)}.kanban-body.drag-over,.calendar-day.drag-over{background:color-mix(in srgb,var(--accent) 4%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.week-create-ghost{background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px dashed color-mix(in srgb,var(--accent) 40%,transparent);box-shadow:none}.task-list-header h2{font-family:var(--font-ui);font-weight:600;font-size:15px;letter-spacing:-.015em;background:none;-webkit-background-clip:border-box;-webkit-text-fill-color:currentColor;background-clip:border-box;color:var(--text-primary)}.task-list-header .task-count{background:transparent;color:var(--text-muted);border:1px solid var(--hairline);border-radius:999px;padding:1px 8px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500;box-shadow:none;margin-left:6px;margin-right:auto;min-width:22px;text-align:center}.add-task-form .add-task-btn{width:auto;min-width:40px;height:36px;padding:0 14px;font-size:16px;font-weight:500;line-height:1;border-radius:8px;background:var(--text-primary);color:var(--bg-primary);box-shadow:none}.add-task-form .add-task-btn:hover{transform:none;opacity:.88;box-shadow:none}.add-task-form .add-task-btn:active{transform:none;opacity:.76}.add-task-form .duration-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border-width:1px;padding:7px 28px 7px 10px;font-family:var(--font-ui);font-size:13px;background-color:var(--bg-secondary);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'><path d='M1 1L5 5L9 1' stroke='%23888' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.tl-filters-panel .cat-filter-btn{border:1px solid var(--hairline);border-radius:999px;padding:4px 11px;font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--text-secondary);background:transparent;box-shadow:none;transition:background .16s ease,color .16s ease,border-color .16s ease}.tl-filters-panel .cat-filter-btn:hover{transform:none;background:var(--bg-tertiary);color:var(--text-primary);border-color:color-mix(in srgb,var(--text-primary) 18%,transparent)}.tl-filters-panel .cat-filter-btn.active{background:var(--accent-light);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:none}.tl-filters-panel .sort-btn{border:1px solid var(--hairline);border-radius:999px;padding:4px 11px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:500}.tl-filters-panel .sort-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:color-mix(in srgb,var(--text-primary) 18%,transparent)}.tl-filters-panel .sort-btn.active{background:var(--accent-light);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.task-item .delete-task-btn{width:22px;height:22px;border-radius:6px;background:transparent;color:var(--text-muted);border:1px solid var(--hairline);box-shadow:none;font-size:14px;font-weight:400;transform:translateY(-50%) scale(1);opacity:0;transition:opacity .16s ease,color .16s ease,border-color .16s ease,background .16s ease}.task-item:hover .delete-task-btn{opacity:1;transform:translateY(-50%) scale(1)}.task-item .delete-task-btn:hover{color:#ef4444;border-color:color-mix(in srgb,#ef4444 35%,transparent);background:color-mix(in srgb,#ef4444 6%,transparent);box-shadow:none;transform:translateY(-50%) scale(1)}.tl-dropdown{background:var(--bg-primary);border:1px solid var(--hairline);border-radius:10px;box-shadow:0 8px 24px -12px #0a0a142e}.tl-dropdown button{font-family:var(--font-ui);font-size:12.5px;color:var(--text-secondary);padding:9px 12px}.tl-dropdown button:hover{background:var(--bg-secondary);color:var(--text-primary)}.tl-dropdown button+button{border-top:1px solid var(--hairline)}.tl-icon-btn.active,.tl-icon-btn.has-filter{background:var(--accent-light);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.category-option,.busy-btn,.duration-preset{font-family:var(--font-ui);font-size:12px;font-weight:500;padding:6px 12px;border-radius:8px;border:1px solid var(--hairline);background:transparent;color:var(--text-secondary);box-shadow:none;transition:background .12s ease,border-color .12s ease,color .12s ease}.category-option:hover,.busy-btn:hover,.duration-preset:hover{background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--text-primary)}.category-option.selected,.busy-btn.busy-active,.busy-btn.free-active,.duration-preset.active{background:var(--accent-light);border-color:color-mix(in srgb,var(--accent) 40%,var(--hairline));color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.color-option{border-radius:8px;border:1px solid var(--hairline);box-shadow:none}.color-option.selected{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 3px color-mix(in srgb,var(--accent) 55%,transparent);border-color:transparent}.modal-select,.modal input[type=date],.modal input[type=time],.modal input[type=number],.modal input[type=text],.modal textarea{font-family:var(--font-ui);border:1px solid var(--hairline);border-radius:10px;background:var(--panel);transition:border-color .12s ease,box-shadow .12s ease}.modal input[type=number],.modal input[type=time],.modal input[type=date]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.modal-select:focus,.modal input:focus,.modal textarea:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--hairline));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);outline:none}.task-cat-badge{font-family:var(--font-ui);font-size:10px;font-weight:500;padding:2px 7px;border-radius:6px;background:color-mix(in srgb,var(--panel) 80%,transparent);color:var(--text-secondary);border:1px solid var(--hairline);box-shadow:none;text-transform:none;letter-spacing:0}.task-free-badge{font-family:var(--font-ui);font-size:10px;padding:2px 7px;border-radius:6px;background:transparent;color:var(--text-muted);border:1px solid var(--hairline)}.complete-btn,.focus-start-btn,.unschedule-btn{font-family:var(--font-ui);font-size:11px;font-weight:500;padding:4px 10px;border-radius:7px;border:1px solid var(--hairline);background:transparent;color:var(--text-secondary);box-shadow:none;transition:background .12s ease,color .12s ease}.complete-btn:hover,.focus-start-btn:hover,.unschedule-btn:hover{background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--text-primary)}.focus-start-btn{border-color:color-mix(in srgb,var(--accent) 35%,var(--hairline));color:var(--accent)}.complete-btn.done{background:var(--accent-light);color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 30%,var(--hairline))}.task-checkbox{width:14px;height:14px;border-radius:4px;border:1px solid var(--hairline);background:var(--panel);box-shadow:none}.task-checkbox-checked{background:var(--accent);border-color:var(--accent)}.toolbar-btn-danger{border-color:color-mix(in srgb,var(--danger) 30%,var(--hairline));color:var(--danger);background:transparent}.toolbar-btn-danger:hover{background:color-mix(in srgb,var(--danger) 8%,transparent)}.continuation-card{border:1px solid var(--hairline);border-left:2px solid currentColor;border-radius:10px;background:var(--panel);box-shadow:none}.overload-warning{font-family:var(--font-ui);font-size:12px;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 25%,var(--hairline));box-shadow:none}.overload-warning:before{display:none}.completion-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;color:var(--text-muted);letter-spacing:0}.quick-add-input{font-family:var(--font-ui);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--hairline));border-radius:8px;background:var(--panel);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.empty-hour{font-family:var(--font-ui);font-size:11px;color:var(--text-muted);border-radius:6px}.empty-hour:hover{background:color-mix(in srgb,var(--panel) 60%,transparent);color:var(--text-secondary)}.auth-modal{background:var(--panel);border:1px solid var(--hairline);border-radius:12px;box-shadow:0 1px color-mix(in srgb,#fff 6%,transparent) inset,0 8px 24px #0000002e;padding:28px}.auth-title{font-family:var(--font-ui);font-size:18px;font-weight:600;letter-spacing:-.01em}.auth-input{font-family:var(--font-ui);border:1px solid var(--hairline);border-radius:10px;background:var(--bg-primary);transition:border-color .12s ease,box-shadow .12s ease}.auth-input:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--hairline));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.auth-submit{font-family:var(--font-ui);background:var(--accent);color:#fff;border-radius:10px;font-weight:500;box-shadow:none;transition:background .12s ease}.auth-submit:hover{background:color-mix(in srgb,var(--accent) 88%,#000);box-shadow:none}.auth-error{font-family:var(--font-ui);font-size:12px;padding:6px 10px;border-radius:8px;background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 25%,var(--hairline))}.auth-switch,.auth-switch-btn{font-family:var(--font-ui)}.ob-backdrop{background:color-mix(in srgb,#000 22%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ob-tooltip{background:var(--panel);border:1px solid var(--hairline);border-radius:12px;box-shadow:0 1px color-mix(in srgb,#fff 6%,transparent) inset,0 8px 24px #0000002e;padding:18px}.ob-title{font-family:var(--font-ui);font-size:14px;font-weight:600;letter-spacing:-.01em}.ob-desc{font-family:var(--font-ui)}.ob-btn-primary{font-family:var(--font-ui);background:var(--accent);color:#fff;border-radius:8px;font-weight:500;padding:6px 14px}.ob-btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.ob-btn-secondary{font-family:var(--font-ui);border:1px solid var(--hairline);border-radius:8px;padding:6px 12px}.ob-dot{background:var(--hairline)}.ob-dot.active{background:var(--accent)}.app-topbar .theme-toggle{filter:grayscale(1);opacity:.75;font-size:14px}.app-topbar .theme-toggle:hover{opacity:1}.topbar-sync-btn{font-variant-emoji:text}.focus-timer{background:color-mix(in srgb,var(--bg-primary) 92%,transparent);border:1px solid var(--hairline);border-radius:14px;box-shadow:0 8px 28px color-mix(in srgb,var(--text-primary) 10%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1)}.focus-circle{filter:none}.focus-circle-bg{stroke:color-mix(in srgb,var(--text-primary) 8%,transparent)}.focus-task-title{font-family:var(--font-ui);font-weight:600;letter-spacing:-.015em;font-size:13.5px}.focus-close-btn{background:transparent;border:1px solid var(--hairline);border-radius:8px;width:28px;height:28px;color:var(--text-secondary)}.focus-close-btn:hover{background:var(--bg-secondary);color:var(--text-primary);transform:none}.focus-btn{font-family:var(--font-ui);font-weight:500;font-size:13px;border:1px solid var(--accent);background:var(--accent);border-radius:8px;box-shadow:none;padding:8px 14px;letter-spacing:0}.focus-btn:hover{background:color-mix(in srgb,var(--accent) 88%,black);box-shadow:none;transform:none}.focus-btn-outline{background:transparent;color:var(--text-primary);border-color:var(--hairline)}.focus-btn-outline:hover{background:var(--bg-secondary);border-color:color-mix(in srgb,var(--text-primary) 20%,transparent);color:var(--text-primary)}.focus-preset-btn{font-family:var(--font-mono);font-weight:400;font-size:11.5px;border:1px solid var(--hairline);background:transparent;border-radius:7px;color:var(--text-secondary)}.focus-preset-btn:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);transform:none}.focus-done-icon{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);box-shadow:none}.focus-done-text{font-family:var(--font-ui);font-weight:600;font-size:16px;color:var(--text-primary);letter-spacing:-.015em}.mobile-tab{color:var(--text-secondary)}.mobile-tab.active{color:var(--accent)}.mobile-tab-icon{filter:grayscale(1);opacity:.7}.mobile-tab.active .mobile-tab-icon{filter:none;opacity:1}.mobile-tab-label{font-family:var(--font-ui);font-weight:500}.modal-body textarea{resize:none}.alert-dialog-overlay{z-index:10000}.alert-dialog{background:var(--panel, #fff);border:1px solid var(--hairline, rgba(0, 0, 0, .08));border-radius:12px;padding:20px 22px 18px;max-width:400px;width:calc(100vw - 32px);box-shadow:0 12px 40px #0000002e;position:relative}.alert-dialog-icon{position:absolute;top:18px;left:22px;color:var(--muted, #888)}.alert-dialog--error .alert-dialog-icon{color:#d14343}.alert-dialog--success .alert-dialog-icon{color:#2ea668}.alert-dialog--info .alert-dialog-icon{color:var(--accent, #4a6cf7)}.alert-dialog-title{font-family:var(--font-ui);font-weight:600;font-size:15px;margin:0 0 6px 32px;color:var(--text)}.alert-dialog-message{font-family:var(--font-ui);font-size:13px;line-height:1.5;color:var(--text);margin:0 0 18px 32px}.alert-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.alert-dialog-ok{min-width:72px}.prompt-dialog .alert-dialog-title,.prompt-dialog .alert-dialog-message{margin-left:0}.prompt-dialog .alert-dialog-message{margin-bottom:12px}.prompt-dialog-input{width:100%;box-sizing:border-box;padding:10px 12px;margin-bottom:18px;border:1px solid var(--border-color, var(--hairline));border-radius:9px;background:var(--bg-primary);color:var(--text-primary);font-size:15px;font-family:var(--font-ui);outline:none}.prompt-dialog-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.auth-mode-tabs{display:flex;gap:2px;background:color-mix(in srgb,var(--text) 4%,transparent);border-radius:8px;padding:2px;margin-bottom:14px}.auth-mode-tab{flex:1;padding:7px 10px;border:none;background:transparent;font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;border-radius:6px;transition:all .15s}.auth-mode-tab:hover{color:var(--text)}.auth-mode-tab.active{background:var(--panel, #fff);color:var(--text);box-shadow:0 1px 2px #0000000d}.auth-subtitle{font-family:var(--font-ui);font-size:12px;color:var(--muted);margin:0 0 14px;line-height:1.45}.auth-password-wrap{position:relative}.auth-password-wrap .auth-input{padding-right:36px;width:100%;box-sizing:border-box}.auth-password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:4px}.auth-password-toggle:hover{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.duration-input-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.duration-input{width:64px;padding:7px 8px;font-family:var(--font-mono);font-size:13px;text-align:center;border:1px solid var(--hairline);border-radius:6px;background:var(--panel);color:var(--text)}.duration-input:focus{outline:none;border-color:var(--accent, #4a6cf7);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #4a6cf7) 15%,transparent)}.duration-unit{font-family:var(--font-ui);font-size:12px;color:var(--muted)}.duration-presets{display:flex;gap:6px}.duration-hm-row{display:flex;align-items:center;gap:12px}.duration-hm-field{display:flex;align-items:center;gap:6px}.duration-hm-input{width:56px;padding:7px 8px;font-family:var(--font-mono);font-size:14px;font-weight:500;text-align:center;border:1px solid var(--hairline);border-radius:6px;background:var(--panel);color:var(--text);transition:border-color .12s ease,box-shadow .12s ease}.duration-hm-input:focus{outline:none;border-color:var(--accent, #4a6cf7);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #4a6cf7) 15%,transparent)}.duration-hm-label{font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--text-secondary)}.time-input{display:inline-flex;align-items:center;gap:6px}.time-input-field{width:52px;padding:7px 8px;font-family:var(--font-mono);font-size:14px;font-weight:500;text-align:center;border:1px solid var(--hairline);border-radius:6px;background:var(--panel);color:var(--text)}.time-input-field:focus{outline:none;border-color:var(--accent, #4a6cf7);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #4a6cf7) 15%,transparent)}.time-input-sep{font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--text-secondary)}.form-hint{font-family:var(--font-ui);font-size:11px;color:var(--muted);margin:6px 0 0;line-height:1.35}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.modal-footer-left,.modal-footer-right{display:flex;gap:8px}.btn-ghost-danger{padding:7px 12px;font-family:var(--font-ui);font-size:12px;font-weight:500;color:#d14343;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s}.btn-ghost-danger:hover{background:color-mix(in srgb,#d14343 8%,transparent);border-color:color-mix(in srgb,#d14343 22%,transparent)}.calendar-subnav{display:flex;justify-content:center;gap:6px;padding:3px 10px 6px}.daily-note-btn{display:inline-flex;align-items:center;gap:5px}.daily-note-btn svg{flex-shrink:0}.calendar-subnav .today-btn{padding:4px 14px;font-size:12px;height:auto}.kanban-col-header{padding:5px 4px 4px!important;gap:0!important;min-height:0!important;justify-content:center!important}.kanban-col-header-row{display:flex;align-items:baseline;justify-content:center;gap:5px}.kanban-col-header .kanban-day-name{font-size:9px!important;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.kanban-col-header .kanban-day-num{font-size:13px!important;font-family:var(--font-mono);font-weight:500;width:auto!important;height:auto!important;background:transparent!important;color:var(--text);line-height:1.1}.kanban-col-header .kanban-day-num.today-circle{color:var(--accent, #4a6cf7);font-weight:600}.kanban-col-header .kanban-day-date{display:none!important}.week-task-title{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;text-overflow:unset!important}.week-task--tight{flex-direction:row!important;align-items:center!important;gap:5px!important;padding-top:0!important;padding-bottom:0!important}.week-task--tight .week-task-time{flex-shrink:0;font-size:10px;line-height:1}.week-task--tight .week-task-title{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;overflow-wrap:unset;word-break:normal;flex:1;min-width:0;font-size:10px;line-height:1}.week-task--tight .week-task-check{width:14px;height:14px;top:50%;transform:translateY(-50%);right:3px;font-size:8px}.unschedule-btn{margin-top:0!important;padding:4px 10px!important;font-size:11px!important;font-weight:500!important;height:auto!important}.add-task-row{flex-wrap:nowrap;overflow:hidden}.add-task-row .add-task-btn{flex-shrink:0;overflow:visible;clip-path:none}.add-task-row select{min-width:0;flex-shrink:1}.week-task-block .week-task-time,.week-task-block .week-task-title{text-shadow:0 1px 2px rgba(0,0,0,.35)}.lang-switch-wrap{position:relative;margin-left:8px;flex-shrink:0;display:flex;align-items:center}.lang-switch{display:flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:1px solid var(--hairline);border-radius:8px;font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--text);cursor:pointer;transition:all .15s}.lang-switch:hover{background:color-mix(in srgb,var(--text) 4%,transparent);border-color:color-mix(in srgb,var(--text) 16%,transparent)}.lang-switch:focus,.lang-switch:active{outline:none;transform:none;box-shadow:none}.lang-flag{font-size:14px;line-height:1}.lang-code{font-family:var(--font-mono);letter-spacing:.03em}.lang-chevron{color:var(--muted);transition:transform .15s}.lang-switch[aria-expanded=true] .lang-chevron{transform:rotate(180deg)}.lang-menu{position:absolute;top:calc(100% + 4px);right:0;width:fit-content;min-width:0;background:var(--bg-primary, #fff);border:1px solid var(--hairline);border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:4px;z-index:100;display:flex;flex-direction:column;gap:2px}.lang-menu-item{display:flex;align-items:center;gap:6px;padding:6px 10px;white-space:nowrap;background:transparent;border:none;font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--text);text-align:left;border-radius:5px;cursor:pointer;transition:background .12s}.lang-menu-item:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.lang-menu-item.active{background:color-mix(in srgb,var(--accent, #4a6cf7) 10%,transparent);color:var(--accent, #4a6cf7)}.lang-menu-item svg{margin-left:auto}.calendar-header{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.calendar-header-left{justify-self:start}.calendar-header-right{grid-column:3;justify-self:end;display:flex;align-items:center;gap:8px}.calendar-nav-inline{display:flex;align-items:center;gap:6px;justify-self:center}.nav-date-label{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--text);min-width:140px;text-align:center;letter-spacing:-.01em}.today-btn-sm{padding:3px 10px;border:1px solid var(--hairline);border-radius:20px;background:transparent;font-family:var(--font-ui);font-size:11px;font-weight:500;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.today-btn-sm:hover{background:color-mix(in srgb,var(--accent, #4a6cf7) 10%,transparent);border-color:var(--accent, #4a6cf7);color:var(--accent, #4a6cf7)}.kanban-container{position:relative}.week-now-global-line{position:absolute;left:0;height:2px;background:#ef4444;z-index:10;pointer-events:none;border-radius:1px}.week-now-global-line:before{content:"";position:absolute;left:-1px;top:-4px;width:10px;height:10px;border-radius:50%;background:#ef4444}.calendar{padding:8px 16px!important}.calendar-header{margin-bottom:6px!important}.view-toggle button{padding:4px 12px!important;font-size:12px!important}.view-toggle{padding:2px!important}.theme-toggle{width:32px!important;height:32px!important;font-size:16px!important;border-radius:8px!important}.calendar-nav{gap:10px!important}.calendar-nav h3{font-size:14px!important;min-width:160px!important;font-weight:600!important}.nav-btn{width:28px!important;height:28px!important;font-size:14px!important}.calendar-subnav{padding:2px 10px 4px!important}.calendar-subnav .today-btn,.today-btn{padding:4px 14px!important;font-size:11px!important}.kanban-col-header{padding:3px 4px!important}.kanban-col-header .kanban-day-name{font-size:8px!important}.kanban-col-header .kanban-day-num{font-size:12px!important}.day-v2-root{display:flex;flex-direction:column;height:100%;min-height:0}.day-v2{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.day-v2-nav{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--hairline);flex-shrink:0}.day-v2-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--hairline);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.day-v2-nav-btn:hover{background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--text-primary);border-color:color-mix(in srgb,var(--hairline) 60%,var(--text-primary) 20%)}.day-v2-title-wrap{flex:1 1 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.day-v2-title{font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--text-primary);margin:0;text-transform:capitalize;letter-spacing:-.01em}.day-v2-subtitle{font-family:var(--font-ui);font-size:11px;color:var(--muted);letter-spacing:.02em}.day-v2-today{padding:6px 12px;font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--accent);background:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:8px;cursor:pointer;transition:background .12s ease,transform .12s ease}.day-v2-today:hover{background:color-mix(in srgb,var(--accent) 18%,var(--accent-light))}.day-v2-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px solid var(--hairline);flex-wrap:wrap;flex-shrink:0}.day-v2-stats{display:flex;align-items:center;gap:14px}.day-v2-stat{display:flex;align-items:baseline;gap:4px;font-family:var(--font-ui);font-size:12px}.day-v2-stat-val{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.day-v2-stat-lbl{color:var(--muted);font-size:11px}.day-v2-stat.is-warn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,#f59e0b 15%,transparent);color:#b45309;border:1px solid color-mix(in srgb,#f59e0b 35%,transparent);font-size:11px;font-weight:500}[data-theme=dark] .day-v2-stat.is-warn{color:#fbbf24}.day-v2-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.day-v2-action{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--hairline);border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.day-v2-action:hover{background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--text-primary)}.day-v2-action:disabled{opacity:.4;cursor:not-allowed}.day-v2-action.is-danger{color:#dc2626;border-color:color-mix(in srgb,#dc2626 25%,var(--hairline))}.day-v2-action.is-danger:hover{background:color-mix(in srgb,#dc2626 10%,transparent);color:#b91c1c}.day-v2-selcount{font-family:var(--font-ui);font-size:12px;color:var(--muted);margin-right:4px}.day-grid-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;position:relative;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-primary) 15%,transparent) transparent}.day-grid-scroll::-webkit-scrollbar{width:10px}.day-grid-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-primary) 12%,transparent);border-radius:10px;border:2px solid transparent;background-clip:padding-box}.day-grid-scroll::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-primary) 20%,transparent);background-clip:padding-box;border:2px solid transparent}.day-grid-inner{position:relative;width:100%}.day-grid-hour-row{position:absolute;left:0;right:0;height:60px;pointer-events:none}.day-grid-hour-label{position:absolute;top:-7px;left:0;width:52px;text-align:right;font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.03em;padding-right:8px;background:var(--bg-primary);z-index:2}.day-grid-hour-line{position:absolute;top:0;left:60px;right:12px;height:1px;background:var(--hairline);opacity:.9}.day-grid-half-line{position:absolute;left:60px;right:12px;height:1px;background:var(--hairline);opacity:.35;pointer-events:none}.day-grid-overlay{position:absolute;top:0;bottom:0;right:12px;cursor:text}.day-grid-overlay:hover{background:color-mix(in srgb,var(--accent) 3%,transparent)}.day-grid-now{position:absolute;left:0;right:12px;height:0;pointer-events:none;z-index:5}.day-grid-now-pill{position:absolute;left:0;top:-9px;width:52px;text-align:right;padding-right:8px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:#dc2626;background:var(--bg-primary);letter-spacing:.03em}.day-grid-now-dot{position:absolute;left:56px;top:-4px;width:8px;height:8px;border-radius:50%;background:#dc2626;box-shadow:0 0 0 2px color-mix(in srgb,#dc2626 25%,transparent)}.day-grid-now-line{position:absolute;top:0;left:64px;right:0;height:2px;background:#dc2626;border-radius:2px}.day-grid-create-ghost{position:absolute;right:12px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1.5px dashed var(--accent);border-radius:8px;pointer-events:none;z-index:6}.day-grid-task-resize{position:absolute;left:6px;right:6px;bottom:0;height:8px;cursor:ns-resize;z-index:3;border-radius:0 0 8px 8px}.day-grid-task-resize:after{content:"";position:absolute;left:50%;bottom:2px;width:24px;height:3px;border-radius:3px;background:color-mix(in srgb,var(--task-color) 60%,transparent);transform:translate(-50%);opacity:0;transition:opacity .12s ease}.day-grid-task:hover .day-grid-task-resize:after{opacity:1}.day-grid-drop-hint{position:absolute;height:2px;right:12px;background:var(--accent);border-radius:2px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent);font-family:var(--font-mono);font-size:10px;color:var(--accent);font-weight:600;padding:3px 6px 0;z-index:4;pointer-events:none}.day-grid-quickadd{position:absolute;right:12px;z-index:15;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-primary);border:1.5px solid var(--accent);border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent),0 6px 18px color-mix(in srgb,var(--accent) 22%,transparent)}.day-grid-quickadd-time{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--accent);white-space:nowrap}.day-grid-quickadd-input{flex:1;min-width:160px;border:none;outline:none;background:transparent;font-family:var(--font-ui);font-size:13px;color:var(--text-primary);padding:0}.day-grid-task{position:absolute;display:flex;align-items:stretch;background:color-mix(in srgb,var(--task-color) 12%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--task-color) 35%,var(--hairline));border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,opacity .12s ease;z-index:3;-webkit-user-select:none;user-select:none}[data-theme=dark] .day-grid-task{background:color-mix(in srgb,var(--task-color) 22%,var(--bg-primary))}.day-grid-task:hover{border-color:color-mix(in srgb,var(--task-color) 65%,var(--hairline));box-shadow:0 4px 14px color-mix(in srgb,var(--task-color) 25%,transparent);z-index:4}.day-grid-task.is-dragging{opacity:.5;transform:scale(.98)}.day-grid-task.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.day-grid-task.is-completed{opacity:.55}.day-grid-task.is-free{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--task-color) 10%,transparent) 0 6px,transparent 6px 14px);border-style:dashed}.day-grid-task-bar{width:3px;flex-shrink:0;background:var(--task-color)}.day-grid-task-body{flex:1 1 auto;min-width:0;padding:4px 8px;display:flex;flex-direction:column;gap:2px;overflow:hidden}.day-grid-task-head{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0}.day-grid-task-time{font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:color-mix(in srgb,var(--task-color) 85%,var(--text-primary));letter-spacing:.02em;white-space:nowrap;flex-shrink:0}[data-theme=dark] .day-grid-task-time{color:color-mix(in srgb,var(--task-color) 50%,var(--text-primary))}.day-grid-task-cat,.day-grid-task-free{font-family:var(--font-ui);font-size:9.5px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--task-color) 18%,transparent);color:color-mix(in srgb,var(--task-color) 75%,var(--text-primary));white-space:nowrap;flex-shrink:0}.day-grid-task-free{background:color-mix(in srgb,var(--text-primary) 8%,transparent);color:var(--muted)}.day-grid-task-title{font-family:var(--font-ui);font-size:12.5px;font-weight:600;color:var(--text-primary);line-height:1.25;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word}.day-grid-task-title.strikethrough{text-decoration:line-through;color:var(--muted)}.day-grid-task.is-short .day-grid-task-body{padding:2px 8px;flex-direction:row;align-items:center;gap:8px}.day-grid-task.is-short .day-grid-task-head{flex-shrink:0}.day-grid-task.is-short .day-grid-task-title{-webkit-line-clamp:1;font-size:12px}.day-grid-task.is-tiny .day-grid-task-body{padding:1px 6px;flex-direction:row;align-items:center;gap:6px}.day-grid-task.is-tiny .day-grid-task-head{gap:4px}.day-grid-task.is-tiny .day-grid-task-title{-webkit-line-clamp:1;font-size:11px;font-weight:500}.day-grid-task-actions{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:0;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease;pointer-events:none}.day-grid-task:hover .day-grid-task-actions,.week-task-block:hover .day-grid-task-actions{opacity:1;transform:translateY(0);pointer-events:auto}.day-grid-task-action{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid color-mix(in srgb,var(--task-color) 30%,var(--hairline));border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.day-grid-task-action:hover{color:var(--task-color);border-color:var(--task-color);background:color-mix(in srgb,var(--task-color) 8%,var(--bg-primary))}.day-grid-task-action.is-done{color:#16a34a;border-color:color-mix(in srgb,#16a34a 40%,var(--hairline));background:color-mix(in srgb,#16a34a 10%,var(--bg-primary))}.week-task-block .day-grid-task-actions{gap:1px}.week-task-block .day-grid-task-action{width:19px;height:19px;border-radius:5px}.week-task-block .day-grid-task-action svg{width:12px;height:12px}.task-hover-card{position:fixed;z-index:80;min-width:180px;max-width:280px;padding:10px 12px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--hairline);border-radius:10px;box-shadow:0 8px 24px #0000002e,0 2px 6px #00000014;font-family:Plus Jakarta Sans,sans-serif;pointer-events:none;animation:task-hover-card-fade 80ms ease-out}@keyframes task-hover-card-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.task-hover-card-title{font-size:13px;font-weight:700;line-height:1.25;word-break:break-word}.task-hover-card-time{margin-top:4px;font-size:11px;font-weight:600;color:var(--text-secondary);font-family:Outfit,sans-serif;letter-spacing:.02em}.task-hover-card-cat{margin-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.task-hover-card-cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.task-hover-card-desc{margin-top:8px;padding-top:8px;border-top:1px solid var(--hairline);font-size:12px;line-height:1.4;color:var(--text-secondary);white-space:pre-wrap;max-height:140px;overflow-y:auto;word-break:break-word}.task-hover-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.month-view .calendar-day{position:relative}.day-task-count{position:absolute;bottom:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;background:var(--accent);color:#fff;border-radius:11px;font-size:12px;font-weight:700;font-family:Outfit,sans-serif;line-height:1;pointer-events:none}.calendar-day.other-month .day-task-count{opacity:.5}.day-grid-task-check{display:inline-block;width:14px;height:14px;border:1.5px solid var(--hairline);border-radius:4px;background:var(--bg-primary);flex-shrink:0;position:relative}.day-grid-task-check.on{background:var(--accent);border-color:var(--accent)}.day-grid-task-check.on:after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}@media(max-width:640px){.day-v2-bar{padding:8px 10px}.day-v2-stats{gap:10px}.day-v2-action{padding:5px 8px;font-size:11.5px}.day-grid-hour-label{width:44px;font-size:10px;padding-right:6px}.day-grid-hour-line,.day-grid-half-line{left:50px}.day-grid-overlay{right:6px}.day-grid-now-pill{width:44px;font-size:10px;padding-right:6px}.day-grid-now-dot{left:46px}.day-grid-now-line{left:54px}}@media(hover:none){.day-grid-task-actions{opacity:1;transform:none;pointer-events:auto}.day-grid-task-action{width:26px;height:26px}.day-grid-task-resize,.resize-handle{height:14px}button:active,.task-card:active,[data-drop-zone]:active,.day-grid-task:active,.week-task-block:active,.day-task:active{transform:scale(.98);transition:transform 80ms ease}}@media(max-width:600px){.topbar-sync-btn{font-size:0;padding:8px 10px;min-width:40px;min-height:40px}.topbar-sync-btn:before{content:"☁";font-size:16px}.lang-switch .lang-code{font-size:12px}.lang-switch{min-width:40px;min-height:40px;padding:6px 8px}.app-topbar{padding:8px 10px;gap:8px}.app-user-info{max-width:120px}.app-user-email{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle{min-width:40px;min-height:40px}.app-logo-text{display:none}}@media(max-width:768px){.kanban-scroll{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.kanban-columns>*{scroll-snap-align:start}}@media(max-width:420px){.auth-modal,.modal.auth-modal{width:100vw;max-width:100vw;border-radius:0;min-height:100vh}}.m-layout{display:flex;flex-direction:column;height:100dvh;height:100vh;overflow:hidden;background:var(--bg-primary);font-family:var(--font-main);-webkit-tap-highlight-color:transparent}.m-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 20px 4px;padding-top:max(14px,env(safe-area-inset-top));flex-shrink:0}.m-header-texts{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.m-header-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--text-muted);text-transform:uppercase;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-header-day-title{font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:400;line-height:1.05;color:var(--text-primary);margin:2px 0 0;text-transform:capitalize;cursor:pointer;letter-spacing:-.5px;-webkit-tap-highlight-color:transparent;transition:color .12s;align-self:flex-start;width:fit-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-header-day-title.active,.m-header-day-title:active,.m-header-day-dot{color:var(--accent)}.m-header-right{display:flex;align-items:center;gap:4px;flex-shrink:0;padding-top:4px}.m-nav-btn,.m-icon-btn{background:var(--bg-secondary);border:1px solid var(--hairline, var(--border-color));color:var(--text-secondary);width:40px;height:40px;padding:0;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s;line-height:1;flex-shrink:0}.m-nav-btn{background:none;border:none;font-size:22px;min-width:40px;min-height:40px;padding:8px 12px}.m-nav-btn:active,.m-icon-btn:active{background:var(--bg-tertiary, var(--bg-secondary))}.m-minical{flex-shrink:0;padding:4px 12px 10px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);animation:m-minical-open .15s ease-out}@keyframes m-minical-open{0%{opacity:0;max-height:0}to{opacity:1;max-height:320px}}.m-minical-header{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 0 6px}.m-minical-month{font-size:14px;font-weight:700;color:var(--text-primary);text-transform:capitalize;min-width:120px;text-align:center}.m-minical-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:0 0 4px}.m-minical-wdlabel{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;text-align:center;letter-spacing:.3px}.m-minical-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.m-minical-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;aspect-ratio:1;border:none;background:none;cursor:pointer;border-radius:10px;font-size:14px;font-weight:500;color:var(--text-primary);transition:background .1s;position:relative;padding:0;font-family:var(--font-main)}.m-minical-day:active{background:var(--accent-light)}.m-minical-other{color:var(--text-muted);opacity:.4}.m-minical-today{color:var(--accent);font-weight:800;background:var(--accent-light)}.m-minical-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);position:absolute;bottom:3px}.m-week-strip{display:grid;grid-template-columns:repeat(7,1fr);flex-shrink:0;padding:10px 16px 14px;gap:2px;-webkit-user-select:none;user-select:none;touch-action:pan-y}.m-day-cell{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0 8px;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent;background:none;border:none;font-family:inherit;color:inherit;text-align:center}.m-day-name{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;line-height:1}.m-day-num{font-size:20px;font-weight:500;color:var(--text-primary);line-height:1;transition:color .12s,font-family .12s,font-style .12s}.m-day-badge{display:none}.m-day-dot{position:absolute;bottom:4px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--accent);transform:translate(-50%);opacity:.55}.m-day-selected{background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:14px}.m-day-selected .m-day-num{color:var(--accent);font-weight:700}.m-day-selected .m-day-name{color:var(--accent)}.m-day-today:not(.m-day-selected) .m-day-num{color:var(--accent);font-weight:600}.m-timeline{flex:3 1 0;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 16px 12px;border-top:1px solid var(--border-subtle);background:var(--bg-primary);display:flex;flex-direction:column}.m-tl-row{display:flex;align-items:flex-start;gap:10px;padding:0;min-height:48px;border-bottom:1px solid var(--border-subtle);transition:background var(--duration) var(--ease-smooth),border-color var(--duration) var(--ease-smooth)}.m-tl-row:last-child{border-bottom:none}.m-tl-hour{width:54px;flex-shrink:0;padding:12px 8px 8px 0;font-size:11px;font-weight:700;color:var(--text-muted);font-family:Outfit,sans-serif;text-align:right;letter-spacing:0}.m-tl-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:6px 0}.m-tl-dash{color:var(--text-muted);font-size:14px;opacity:.4;padding-top:2px}.m-task-card{display:flex;align-items:stretch;gap:10px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-left:4px solid var(--task-color, var(--accent));border-radius:var(--radius);box-shadow:var(--shadow);cursor:grab;transition:background var(--duration-md) var(--spring),color var(--duration-md) var(--spring),box-shadow var(--duration-md) var(--spring),transform var(--duration-md) var(--spring),border-color var(--duration-md) var(--spring),opacity var(--duration-md) var(--spring);-webkit-tap-highlight-color:transparent}.m-task-card:active:not(.m-task-dragging){cursor:grabbing;transform:scale(.98)}.m-task-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.m-task-row-top{display:flex;align-items:center;gap:8px}.m-task-time{font-size:12px;font-weight:700;color:var(--text-secondary);font-family:Outfit,sans-serif;letter-spacing:0}.m-task-cat{font-size:10px;font-weight:700;padding:2px 8px;border-radius:var(--radius-full);line-height:1.3;color:var(--task-color, var(--accent));background:color-mix(in srgb,var(--task-color, var(--accent)) 16%,transparent);font-family:Outfit,sans-serif;text-transform:uppercase;letter-spacing:.5px}.m-task-done-label{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.6px;color:var(--text-muted)}.m-task-title{font-family:Outfit,sans-serif;font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-task-done .m-task-title{text-decoration:line-through;opacity:.55}.m-task-done .m-task-time{opacity:.55}.m-task-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex-shrink:0}.m-task-check{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-color);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,border-color .12s;color:#fff}.m-task-check.checked{background:var(--accent);border-color:var(--accent)}.m-task-delete{width:32px;height:32px;border-radius:8px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .12s,background .12s}.m-task-delete:active{color:var(--danger);background:#ef44441a}.m-tabbar{display:flex;align-items:stretch;flex-shrink:0;border-top:1px solid var(--hairline, var(--border-color));background:var(--bg-primary);padding-bottom:env(safe-area-inset-bottom,0px);z-index:1100}.m-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:6px 0 5px;background:none;border:none;cursor:pointer;color:var(--text-muted);font-family:var(--font-main);font-size:10px;font-weight:600;letter-spacing:.2px;-webkit-tap-highlight-color:transparent;transition:color .12s}.m-tab.active{color:var(--accent)}.m-tab:active{color:var(--text-secondary)}.m-tab-icon-wrap{position:relative;display:inline-flex}.m-tab-badge{position:absolute;top:-5px;right:-9px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:9px;font-weight:700;line-height:15px;text-align:center;font-family:var(--font-mono)}.m-tab-add{align-self:center;width:48px;height:48px;margin:0 6px;border-radius:50%;background:var(--text-primary);color:var(--bg-primary);border:none;font-size:26px;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px #0000002e;transition:transform .1s,opacity .12s;-webkit-tap-highlight-color:transparent}.m-tab-add:active{transform:scale(.92);opacity:.85}.m-sheet-backdrop{position:fixed;inset:0;background:#00000059;z-index:1190;animation:m-backdrop-in .18s ease-out}@keyframes m-backdrop-in{0%{opacity:0}to{opacity:1}}.m-buf-sheet{position:fixed;left:0;right:0;bottom:0;height:46dvh;display:flex;flex-direction:column;background:var(--bg-primary);border-top:1px solid var(--hairline, var(--border-color));border-radius:18px 18px 0 0;box-shadow:0 -10px 36px #00000029;z-index:1200;transform:translateY(105%);transition:transform .24s cubic-bezier(.32,.72,.25,1),height .24s cubic-bezier(.32,.72,.25,1);padding-bottom:env(safe-area-inset-bottom,0px)}.m-buf-sheet.open{transform:translateY(0)}.m-buf-sheet.full{height:90dvh}.m-sheet-grip{display:flex;justify-content:center;padding:8px 0 4px;cursor:grab;flex-shrink:0}.m-sheet-grip-bar{width:40px;height:4px;border-radius:999px;background:var(--hairline, var(--border-color))}.m-sheet-head{display:flex;align-items:center;gap:8px;padding:2px 16px 6px 20px;flex-shrink:0}.m-sheet-add{margin-left:auto;width:32px;height:32px;border-radius:50%;background:var(--text-primary);color:var(--bg-primary);border:none;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .1s}.m-sheet-add:active{transform:scale(.9)}.m-sheet-close{width:32px;height:32px;border-radius:8px;border:none;background:none;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.m-sheet-close:active{color:var(--text-primary)}.m-buf-search-wrap{padding:0 16px 8px;flex-shrink:0}.m-buf-search{margin-bottom:0}.m-more-sheet{position:fixed;left:0;right:0;bottom:0;max-height:86dvh;display:flex;flex-direction:column;background:var(--bg-primary);border-top:1px solid var(--hairline, var(--border-color));border-radius:18px 18px 0 0;box-shadow:0 -10px 36px #00000029;z-index:1200;padding-bottom:env(safe-area-inset-bottom,0px);animation:m-sheet-up .22s cubic-bezier(.32,.72,.25,1)}@keyframes m-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.m-more-list{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 12px 16px;display:flex;flex-direction:column;gap:2px}.m-more-item{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;border:none;border-radius:12px;background:none;color:var(--text-primary);font-family:var(--font-main);font-size:14px;font-weight:500;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.m-more-item:active{background:var(--bg-secondary)}.m-more-item-static{cursor:default}.m-more-item-static:active{background:none}.m-more-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-more-divider{height:1px;margin:6px 12px;background:var(--hairline, var(--border-color));flex-shrink:0}.m-lang-seg{display:flex;gap:4px;background:var(--bg-secondary);border:1px solid var(--hairline, var(--border-color));border-radius:999px;padding:3px}.m-lang-seg button{border:none;background:none;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:700;font-family:var(--font-main);color:var(--text-muted);cursor:pointer}.m-lang-seg button.active{background:var(--text-primary);color:var(--bg-primary)}.m-more-item-static .ws-switch,.m-more-item-static .ws-switch-btn{width:100%}.m-more-item-static .ws-switch-menu{position:static;width:100%;min-width:0;margin-top:8px;box-shadow:none}.m-agenda{flex:1;min-height:0;display:flex;flex-direction:column}.m-agenda-nav{display:flex;align-items:center;justify-content:center;gap:4px;padding:2px 12px 6px;flex-shrink:0}.m-agenda-month{font-size:14px;font-weight:700;color:var(--text-primary);text-transform:capitalize;min-width:140px;text-align:center}.m-agenda-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 16px 20px;display:flex;flex-direction:column;gap:14px}.m-agenda-empty{color:var(--text-muted);font-size:13px;text-align:center;padding:32px 0;opacity:.7}.m-agenda-day{scroll-margin-top:8px}.m-agenda-datehead{display:flex;align-items:baseline;gap:8px;width:100%;padding:4px 2px;background:none;border:none;cursor:pointer;font-family:var(--font-main);color:inherit;text-align:left;-webkit-tap-highlight-color:transparent}.m-agenda-num{font-family:Georgia,Times New Roman,serif;font-size:22px;line-height:1;color:var(--text-primary)}.m-agenda-day.is-today .m-agenda-num{color:var(--accent)}.m-agenda-wd{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:capitalize}.m-agenda-count{margin-left:auto;font-size:10px;font-weight:700;color:var(--accent);font-family:var(--font-mono)}.m-agenda-tasks{display:flex;flex-direction:column;gap:6px}.m-agenda-task{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,var(--task-color, var(--accent)) 12%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--task-color, var(--accent)) 20%,transparent);cursor:pointer;-webkit-tap-highlight-color:transparent}.m-agenda-task:active{transform:scale(.985)}.m-agenda-task.is-done{opacity:.55}.m-agenda-task-bar{width:3px;align-self:stretch;border-radius:999px;background:var(--task-color, var(--accent));flex-shrink:0}.m-agenda-task-time{font-size:11px;font-weight:700;font-family:var(--font-mono);color:color-mix(in srgb,var(--task-color, var(--accent)) 75%,var(--text-primary));flex-shrink:0}.m-agenda-task-title{flex:1;min-width:0;font-size:13.5px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-agenda-task-title.strikethrough{text-decoration:line-through}.m-agenda-task-check{width:26px;height:26px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--task-color, var(--accent)) 45%,transparent);background:none;color:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.m-agenda-task-check.is-done{background:var(--task-color, var(--accent));border-color:var(--task-color, var(--accent));color:#fff}.m-buf-swipe{position:relative;border-radius:14px}.m-buf-swipe-bg{position:absolute;inset:0;display:flex;align-items:center;gap:8px;padding:0 16px;border-radius:14px;font-size:12px;font-weight:700;color:#fff;opacity:0;transition:opacity .12s;pointer-events:none}.m-buf-swipe-bg.visible{opacity:.75}.m-buf-swipe-bg.commit{opacity:1}.m-buf-swipe-schedule{justify-content:flex-start;background:var(--accent)}.m-buf-swipe-delete{justify-content:flex-end;background:var(--danger, #ef4444)}.m-buf-card.m-buf-swiping{transition:none}.m-buf-card:not(.m-buf-swiping){transition:transform .18s ease-out}.m-prio{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:middle;flex-shrink:0}.m-prio-low{background:#22c55e}.m-prio-medium{background:#f59e0b}.m-prio-high{background:#ef4444}.m-task-dragging,.m-buf-dragging{opacity:.35;transform:scale(.96);transition:opacity .15s,transform .15s;pointer-events:none}.m-drag-ghost{position:fixed;z-index:9999;pointer-events:none;padding:7px 16px;border-radius:12px;background:var(--ghost-color, var(--accent));color:#fff;font-size:13px;font-weight:600;font-family:var(--font-main);box-shadow:0 8px 28px #00000047,0 2px 8px #00000024;transform:translate(-50%,-100%);max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.95;animation:m-ghost-in .12s ease-out;text-shadow:0 1px 2px rgba(0,0,0,.25)}@keyframes m-ghost-in{0%{opacity:0;transform:translate(-50%,-100%) scale(.85)}to{opacity:.92;transform:translate(-50%,-100%) scale(1)}}.m-tl-row{position:relative;transition:background .12s,box-shadow .12s}.m-drop-active{background:color-mix(in srgb,var(--accent) 10%,var(--bg-primary))!important;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 50%,transparent);border-radius:10px}.m-drop-active .m-tl-hour{color:var(--accent);font-weight:800}.m-buffer-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--text-muted);text-transform:uppercase}.m-buffer-count{font-size:10px;font-weight:700;color:var(--accent);letter-spacing:.6px;font-family:var(--font-mono)}.m-add-input{width:100%;height:40px;border-radius:12px;border:1px solid var(--hairline, var(--border-color));padding:0 14px;font-size:14px;font-family:var(--font-main);background:var(--bg-secondary);color:var(--text-primary);outline:none;margin-bottom:8px;transition:border-color .15s}.m-add-input:focus{border-color:var(--accent)}.m-add-input::placeholder{color:var(--text-muted)}.m-buffer-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 16px 14px;display:flex;flex-direction:column;gap:10px}.m-buffer-empty{color:var(--text-muted);font-size:13px;text-align:center;padding:20px 0;opacity:.7}.m-buf-card{display:flex;align-items:center;gap:8px;padding:10px 12px;background:color-mix(in srgb,var(--task-color, var(--accent)) 14%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--task-color, var(--accent)) 22%,transparent);border-radius:14px;cursor:pointer;transition:transform .1s;-webkit-tap-highlight-color:transparent}.m-buf-card:active:not(.m-buf-dragging){transform:scale(.985)}.m-buf-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.m-buf-title{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-buf-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.m-buf-dur{font-size:11px;font-weight:700;color:color-mix(in srgb,var(--task-color, var(--accent)) 75%,var(--text-primary));font-family:var(--font-mono);letter-spacing:.2px}.m-buf-cat,.m-buf-repeat{font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;color:color-mix(in srgb,var(--task-color, var(--accent)) 70%,var(--text-primary));background:color-mix(in srgb,var(--task-color, var(--accent)) 20%,transparent);line-height:1.4}.m-buf-schedule{width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--task-color, var(--accent)) 28%,transparent);color:color-mix(in srgb,var(--task-color, var(--accent)) 80%,var(--text-primary));border:none;font-size:16px;font-weight:600;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .1s}.m-buf-schedule:active{transform:scale(.9)}.m-buf-delete{width:32px;height:32px;border-radius:8px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .12s,background .12s;flex-shrink:0}.m-buf-delete:active{color:var(--danger);background:#ef444414}.m-dg-continuation{display:flex;flex-direction:column;gap:6px;padding:8px 8px 4px;position:sticky;top:0;z-index:6;background:var(--bg-primary)}.m-dg-cont-card{display:flex;flex-direction:column;gap:2px;padding:6px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--task-color) 30%,var(--hairline, var(--border-color)));border-left:3px solid var(--task-color);background:color-mix(in srgb,var(--task-color) 10%,var(--bg-primary));text-align:left;cursor:pointer;font-family:inherit;color:inherit}.m-dg-cont-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--task-color) 70%,var(--text-secondary))}.m-dg-cont-title{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-dg-cont-time{font-family:var(--font-mono, "Outfit", sans-serif);font-size:10.5px;font-weight:600;color:var(--text-muted)}.m-dg-task-title-inline.strikethrough{text-decoration:line-through;color:var(--text-muted)}.m-dg-task-resize{position:absolute;left:4px;right:4px;bottom:0;height:14px;cursor:ns-resize;z-index:4;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px;border-radius:0 0 8px 8px}.m-dg-task-resize-grip{width:28px;height:3px;border-radius:3px;background:color-mix(in srgb,var(--task-color) 55%,transparent);opacity:.6;pointer-events:none}.m-dg-task.m-dg-resizing{border-color:var(--task-color);box-shadow:0 4px 14px color-mix(in srgb,var(--task-color) 30%,transparent);z-index:5}.m-dg-task.m-dg-resizing .m-dg-task-resize-grip{opacity:1;background:var(--task-color)}.m-dg-drop-hint{position:absolute;left:0;right:6px;height:0;pointer-events:none;z-index:6}.m-dg-drop-hint-label{position:absolute;left:0;top:-8px;width:38px;text-align:right;padding-right:6px;font-family:var(--font-mono, "Outfit", sans-serif);font-size:10px;font-weight:700;color:var(--accent);background:var(--bg-primary)}.m-dg-drop-hint-line{position:absolute;top:0;left:44px;right:0;height:2px;background:var(--accent);border-radius:2px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.m-day-grid-scroll{flex:1 1 0;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative;border-top:1px solid var(--border-subtle);background:var(--bg-primary);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-primary) 12%,transparent) transparent}.m-day-grid-scroll::-webkit-scrollbar{width:6px}.m-day-grid-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-primary) 12%,transparent);border-radius:6px}.m-day-grid-inner{position:relative;width:100%;padding-right:6px}.m-dg-hour-row{position:absolute;left:0;right:0;height:56px;pointer-events:none}.m-dg-hour-label{position:absolute;top:-7px;left:0;width:38px;text-align:right;font-family:var(--font-mono, "Outfit", sans-serif);font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.02em;padding-right:6px;background:var(--bg-primary);z-index:2}.m-dg-hour-line{position:absolute;top:0;left:44px;right:6px;height:1px;background:var(--border-subtle, var(--hairline));opacity:.9}.m-dg-half-line{position:absolute;left:44px;right:6px;height:1px;background:var(--border-subtle, var(--hairline));opacity:.35;pointer-events:none}.m-dg-now{position:absolute;left:0;right:6px;height:0;pointer-events:none;z-index:5}.m-dg-now-pill{position:absolute;left:0;top:-8px;width:38px;text-align:right;padding-right:6px;font-family:var(--font-mono, "Outfit", sans-serif);font-size:10px;font-weight:700;color:#dc2626;background:var(--bg-primary)}.m-dg-now-dot{position:absolute;left:40px;top:-4px;width:8px;height:8px;border-radius:50%;background:#dc2626;box-shadow:0 0 0 2px color-mix(in srgb,#dc2626 22%,transparent)}.m-dg-now-line{position:absolute;top:0;left:48px;right:0;height:2px;background:#dc2626;border-radius:2px}.m-dg-task{position:absolute;display:flex;align-items:stretch;background:color-mix(in srgb,var(--task-color) 12%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--task-color) 35%,var(--hairline, var(--border-color)));border-radius:8px;overflow:hidden;cursor:pointer;z-index:3;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:opacity .12s ease,transform .12s ease,box-shadow .12s ease}[data-theme=dark] .m-dg-task{background:color-mix(in srgb,var(--task-color) 22%,var(--bg-primary))}.m-dg-task:active:not(.m-dg-dragging){transform:scale(.985)}.m-dg-task.m-dg-dragging{opacity:.35;pointer-events:none}.m-dg-task.m-dg-done{opacity:.55}.m-dg-task-bar{width:3px;flex-shrink:0;background:var(--task-color)}.m-dg-task-body{flex:1 1 auto;min-width:0;padding:4px 6px;display:flex;flex-direction:column;gap:2px;overflow:hidden}.m-dg-task-head{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0}.m-dg-task-time{font-family:var(--font-mono, "Outfit", sans-serif);font-size:10.5px;font-weight:700;color:color-mix(in srgb,var(--task-color) 85%,var(--text-primary));letter-spacing:.02em;white-space:nowrap;flex-shrink:0}[data-theme=dark] .m-dg-task-time{color:color-mix(in srgb,var(--task-color) 50%,var(--text-primary))}.m-dg-task-cat{font-family:var(--font-main);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--task-color) 18%,transparent);color:color-mix(in srgb,var(--task-color) 75%,var(--text-primary));white-space:nowrap;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;max-width:80px}.m-dg-task-title{font-family:var(--font-main);font-size:12.5px;font-weight:600;color:var(--text-primary);line-height:1.25;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.m-dg-task-title.strikethrough{text-decoration:line-through;color:var(--text-muted)}.m-dg-task-title-inline{font-family:var(--font-main);font-size:11px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.m-dg-task.m-dg-short .m-dg-task-body{padding:2px 6px;flex-direction:row;align-items:center;gap:6px}.m-dg-task.m-dg-short .m-dg-task-head{flex-shrink:0}.m-dg-task.m-dg-short .m-dg-task-title{-webkit-line-clamp:1;font-size:11.5px}.m-dg-task.m-dg-tiny .m-dg-task-body{padding:1px 6px;flex-direction:row;align-items:center;gap:6px}.m-dg-task-actions{position:absolute;top:3px;right:3px;display:flex;gap:2px;z-index:2}.m-dg-task-action{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid color-mix(in srgb,var(--task-color) 30%,var(--hairline, var(--border-color)));border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease;-webkit-tap-highlight-color:transparent}.m-dg-task-action:active{color:var(--task-color);border-color:var(--task-color);background:color-mix(in srgb,var(--task-color) 12%,var(--bg-primary))}.m-dg-task-action.is-done{color:#16a34a;border-color:color-mix(in srgb,#16a34a 40%,var(--hairline, var(--border-color)));background:color-mix(in srgb,#16a34a 12%,var(--bg-primary))}.m-day-grid-inner.m-drop-active{background:color-mix(in srgb,var(--accent) 6%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent);border-radius:6px}.m-stats-modal{position:fixed;inset:0;z-index:1200;background:var(--bg-primary);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px);animation:m-stats-slide-up .22s ease-out}@keyframes m-stats-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.m-stats-modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subtle, var(--border-color));flex-shrink:0;padding-top:max(12px,env(safe-area-inset-top,12px))}.m-stats-modal-title{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.01em}.m-stats-modal-close{width:40px;height:40px;border:1px solid var(--hairline, var(--border-color));background:var(--bg-secondary);color:var(--text-secondary);border-radius:12px;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.m-stats-modal-close:active{background:var(--bg-tertiary, var(--bg-secondary))}.m-stats-modal-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 14px 24px}.m-stats-modal-body .stats-view{flex:none;gap:14px;overflow:visible;padding-bottom:0}.m-stats-modal-body .sv-head{display:none}.spinner-fallback{display:flex;align-items:center;justify-content:center;padding:2rem;width:100%}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.voice-input-wrap{position:relative;display:flex;align-items:center}.voice-input-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--hairline);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;position:relative;transition:background .12s ease,color .12s ease,border-color .12s ease}.voice-input-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-primary))}.voice-input-btn:disabled{opacity:.6;cursor:progress}.voice-input-btn.is-listening{color:#fff;background:#ef4444;border-color:#ef4444}.voice-input-btn.is-listening:hover{background:#dc2626;border-color:#dc2626}.voice-input-pulse{position:absolute;inset:-3px;border-radius:11px;border:2px solid #ef4444;opacity:.6;animation:voice-pulse 1.4s ease-out infinite;pointer-events:none}@keyframes voice-pulse{0%{transform:scale(.95);opacity:.7}70%{transform:scale(1.25);opacity:0}to{transform:scale(1.25);opacity:0}}.voice-input-popup{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;max-width:320px;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--hairline);border-radius:10px;box-shadow:0 8px 24px #00000026,0 2px 6px #0000000f;z-index:90;font-family:Plus Jakarta Sans,sans-serif;animation:voice-popup-fade .12s ease-out}@keyframes voice-popup-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.voice-input-popup.is-error{border-color:#ef4444}.voice-input-popup.is-done{border-color:#22c55e}.voice-input-transcript{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.35;word-break:break-word}.voice-input-status{margin-top:4px;font-size:11px;font-weight:600;color:var(--text-secondary)}.voice-input-popup.is-done .voice-input-status{color:#22c55e}.voice-input-popup.is-error .voice-input-status{color:#ef4444}.m-header-right .voice-input-btn{width:40px;height:40px;border-radius:12px;background:var(--bg-secondary)}.m-header-right .voice-input-btn.is-listening{background:#ef4444;border-color:#ef4444}.m-header-right .voice-input-pulse{inset:-4px;border-radius:16px}.m-header-right .voice-input-popup{top:calc(100% + 6px);right:0;max-width:min(320px,calc(100vw - 32px));z-index:95}.assistant-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:linear-gradient(135deg,color-mix(in srgb,#6366f1 18%,var(--bg-primary)),color-mix(in srgb,#8b5cf6 18%,var(--bg-primary)));color:var(--text-primary);border:1px solid color-mix(in srgb,#6366f1 35%,var(--hairline));border-radius:999px;font-family:var(--font-ui);font-size:12.5px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.assistant-trigger:hover{transform:translateY(-1px);box-shadow:0 6px 18px color-mix(in srgb,#6366f1 28%,transparent);border-color:color-mix(in srgb,#6366f1 65%,var(--hairline))}.assistant-trigger--mobile{padding:8px;border-radius:50%;width:36px;height:36px;justify-content:center}.assistant-trigger-label{letter-spacing:-.01em}.focus-trigger,.kanban-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--hairline);border-radius:999px;font-family:var(--font-ui);font-size:12.5px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.focus-trigger:hover,.kanban-trigger:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent)}.kanban-trigger.active{background:var(--accent);border-color:var(--accent);color:#fff}.focus-trigger-label,.kanban-trigger-label{letter-spacing:-.01em}.focus-task-select{width:100%;margin-top:2px;padding:2px 4px;background:transparent;border:1px solid transparent;border-radius:6px;font-family:var(--font-ui);font-weight:600;letter-spacing:-.015em;font-size:13.5px;color:var(--text-primary);cursor:pointer}.focus-task-select:hover,.focus-task-select:focus{border-color:var(--hairline);background:var(--bg-secondary);outline:none}.assistant-overlay{position:fixed;inset:0;background:#0000002e;z-index:1200;display:flex;justify-content:flex-end;animation:assistant-fade .14s ease-out}@keyframes assistant-fade{0%{opacity:0}to{opacity:1}}.assistant-panel{width:min(420px,100vw);height:100%;background:var(--bg-primary);border-left:1px solid var(--hairline);display:flex;flex-direction:column;box-shadow:-16px 0 40px #0000002e;animation:assistant-slide .18s cubic-bezier(.2,.8,.2,1)}@keyframes assistant-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.assistant-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--hairline)}.assistant-header-title{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--text-primary)}.assistant-header-actions{display:inline-flex;align-items:center;gap:4px}.assistant-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);font-family:var(--font-ui);font-size:11.5px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.assistant-icon-btn:hover{background:color-mix(in srgb,var(--text-primary) 8%,transparent);color:var(--text-primary);border-color:var(--hairline)}.assistant-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.assistant-empty{margin:auto;text-align:center;color:var(--text-secondary);font-family:var(--font-ui);padding:20px}.assistant-empty-title{font-size:15px;font-weight:700;color:var(--text-primary);margin:10px 0 4px}.assistant-empty-hint{font-size:12.5px;line-height:1.4;margin:0 0 12px}.assistant-examples{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.assistant-examples li{font-size:12px;padding:6px 10px;background:color-mix(in srgb,#6366f1 8%,var(--bg-primary));border:1px solid color-mix(in srgb,#6366f1 18%,var(--hairline));border-radius:8px;color:var(--text-primary)}.assistant-msg{display:flex;flex-direction:column;gap:6px;max-width:100%}.assistant-msg--user{align-items:flex-end}.assistant-msg--assistant{align-items:flex-start}.assistant-msg-bubble{max-width:88%;padding:8px 12px;border-radius:12px;font-family:var(--font-ui);font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.assistant-msg--user .assistant-msg-bubble{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-bottom-right-radius:4px}.assistant-msg--assistant .assistant-msg-bubble{background:color-mix(in srgb,var(--text-primary) 6%,var(--bg-primary));color:var(--text-primary);border:1px solid var(--hairline);border-bottom-left-radius:4px}.assistant-applied{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;max-width:88%}.assistant-applied-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:color-mix(in srgb,#22c55e 12%,var(--bg-primary));border:1px solid color-mix(in srgb,#22c55e 30%,var(--hairline));border-radius:999px;font-family:var(--font-ui);font-size:11.5px;color:color-mix(in srgb,#16a34a 80%,var(--text-primary))}.assistant-confirm{max-width:92%;padding:10px 12px;background:color-mix(in srgb,#f59e0b 10%,var(--bg-primary));border:1px solid color-mix(in srgb,#f59e0b 35%,var(--hairline));border-radius:10px}.assistant-confirm-title{font-family:var(--font-ui);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb,#d97706 80%,var(--text-primary));margin-bottom:6px}.assistant-confirm-list{list-style:disc;padding-left:18px;margin:0 0 8px;font-family:var(--font-ui);font-size:12.5px;color:var(--text-primary)}.assistant-confirm-list li{margin:2px 0}.assistant-confirm-actions{display:flex;gap:6px}.assistant-confirm-btn{padding:5px 12px;border-radius:6px;font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--hairline);background:var(--bg-primary);color:var(--text-primary);transition:background .12s ease,border-color .12s ease}.assistant-confirm-btn:hover{background:color-mix(in srgb,var(--text-primary) 6%,var(--bg-primary))}.assistant-confirm-btn.is-danger{background:#ef4444;border-color:#ef4444;color:#fff}.assistant-confirm-btn.is-danger:hover{background:#dc2626}.assistant-thinking{display:inline-flex;align-items:center;gap:4px;min-height:20px}.assistant-thinking span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--text-secondary);animation:assistant-dot 1.2s infinite ease-in-out}.assistant-thinking span:nth-child(2){animation-delay:.15s}.assistant-thinking span:nth-child(3){animation-delay:.3s}@keyframes assistant-dot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.assistant-error{padding:8px 12px;background:color-mix(in srgb,#ef4444 12%,var(--bg-primary));border:1px solid color-mix(in srgb,#ef4444 35%,var(--hairline));border-radius:8px;color:#b91c1c;font-family:var(--font-ui);font-size:12.5px}.assistant-composer{border-top:1px solid var(--hairline);padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px;background:var(--bg-primary)}.assistant-voice-preview{padding:6px 10px;background:color-mix(in srgb,#6366f1 8%,var(--bg-primary));border:1px dashed color-mix(in srgb,#6366f1 35%,var(--hairline));border-radius:8px;font-family:var(--font-ui);font-size:12px;color:var(--text-primary);font-style:italic}.assistant-input{width:100%;resize:none;border:1px solid var(--hairline);border-radius:10px;padding:8px 12px;font-family:var(--font-ui);font-size:13px;color:var(--text-primary);background:var(--bg-primary);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.assistant-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px color-mix(in srgb,#6366f1 18%,transparent)}.assistant-input:disabled{opacity:.6}.assistant-composer-actions{display:flex;justify-content:flex-end;gap:6px}.assistant-mic-btn,.assistant-send-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--hairline);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;position:relative;transition:background .12s ease,border-color .12s ease,color .12s ease}.assistant-mic-btn:hover,.assistant-send-btn:hover:not(:disabled){background:color-mix(in srgb,#6366f1 10%,var(--bg-primary));border-color:#6366f1;color:#6366f1}.assistant-mic-btn.is-listening{background:#ef4444;border-color:#ef4444;color:#fff}.assistant-mic-pulse{position:absolute;inset:-3px;border-radius:10px;border:2px solid #ef4444;animation:assistant-pulse 1.4s infinite ease-out}@keyframes assistant-pulse{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.25);opacity:0}}.assistant-send-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent}.assistant-send-btn:hover:not(:disabled){filter:brightness(1.08);color:#fff}.assistant-send-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:720px){.assistant-panel{width:100%;border-left:none}.assistant-composer{padding-bottom:max(12px,env(safe-area-inset-bottom))}}.notes-view{display:flex;height:100%;min-height:0;gap:0;background:var(--bg-primary)}.notes-list{width:280px;flex-shrink:0;border-right:1px solid var(--border-color);display:flex;flex-direction:column;min-height:0;overflow-y:auto}.notes-list-head{display:flex;align-items:center;justify-content:space-between;height:56px;box-sizing:border-box;padding:0 16px;position:sticky;top:0;background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);z-index:1}.notes-list-title{font-weight:600;font-size:15px;color:var(--text-primary)}.notes-new-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--accent);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer}.notes-new-btn:hover{background:var(--accent-light)}.notes-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:8px;cursor:pointer;padding:0}.notes-icon-btn:hover{background:var(--accent-light);color:var(--accent)}.notes-icon-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.notes-icon-btn-primary:hover{background:var(--accent);color:#fff;filter:brightness(1.08)}.notes-empty{padding:24px 16px;color:var(--text-muted);font-size:14px;text-align:center}.notes-list .search-wrapper{margin:10px 16px 4px}.notes-list-items{list-style:none;margin:0;padding:6px}.notes-list-item{width:100%;text-align:left;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"dot title" "dot excerpt";column-gap:8px;align-items:center;background:transparent;border:none;border-radius:10px;padding:10px 12px;cursor:pointer}.notes-list-item:hover{background:var(--bg-tertiary)}.notes-list-item.active{background:var(--accent-light)}.notes-item-dot{grid-area:dot;width:8px;height:8px;border-radius:50%}.notes-item-daily{display:inline-flex;vertical-align:-2px;margin-right:4px;color:var(--accent)}.notes-item-title{grid-area:title;font-weight:600;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-item-excerpt{grid-area:excerpt;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-editor{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.notes-editor-empty{align-items:center;justify-content:center;gap:12px;color:var(--text-muted)}.notes-editor-head{display:flex;align-items:center;gap:12px;height:56px;box-sizing:border-box;padding:0 18px;border-bottom:1px solid var(--border-subtle)}.notes-title-input{flex:1;min-width:0;border:none;background:transparent;font-size:20px;font-weight:700;color:var(--text-primary);outline:none}.notes-editor-actions{display:flex;align-items:center;gap:6px}.notes-tab{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:7px;padding:5px 12px;font-size:13px;cursor:pointer}.notes-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.notes-del-btn{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:7px;display:inline-flex}.notes-del-btn:hover{color:#ef4444;background:var(--bg-tertiary)}.notes-editor-body{flex:1;min-height:0;overflow-y:auto;padding:16px 18px 40px}.notes-content-input{width:100%;box-sizing:border-box;min-height:280px;resize:vertical;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);padding:14px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:14px;line-height:1.6;outline:none}.notes-content-input:focus{border-color:var(--accent)}.notes-toolbar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.notes-toolbar button{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-muted);font-size:13px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.notes-toolbar button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.notes-preview{min-height:280px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);padding:14px 18px;color:var(--text-primary)}.markdown-body{font-size:14px;line-height:1.65}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:.6em 0 .4em}.markdown-body ul,.markdown-body ol{padding-left:1.4em}.markdown-body code{background:var(--bg-tertiary);padding:1px 5px;border-radius:4px;font-size:.9em}.markdown-body a{color:var(--accent)}.markdown-body input[type=checkbox]{margin-right:6px}.note-actionitems,.note-linked{margin-top:18px;border:1px solid var(--border-subtle);border-radius:10px;padding:12px 14px;background:var(--bg-secondary)}.note-actionitems-head,.note-linked-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:8px}.note-actionitems-list,.note-linked-list{list-style:none;margin:0;padding:0}.note-actionitem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0}.note-actionitem-check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);cursor:pointer}.note-actionitem-done{text-decoration:line-through;color:var(--text-muted)}.note-actionitem-plan{position:relative;flex-shrink:0}.note-plan-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--accent);border-radius:7px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer}.note-plan-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #0000002e;padding:4px;z-index:10;min-width:140px;display:flex;flex-direction:column}.note-plan-menu button{text-align:left;border:none;background:transparent;color:var(--text-primary);padding:8px 10px;border-radius:7px;font-size:13px;cursor:pointer}.note-plan-menu button:hover{background:var(--accent-light)}.note-linked-list li{margin:4px 0}.note-linked-item{width:100%;display:flex;align-items:center;gap:8px;background:transparent;border:none;border-radius:8px;padding:6px 8px;cursor:pointer;text-align:left}.note-linked-item:hover{background:var(--bg-tertiary)}.note-linked-kind{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;flex-shrink:0;color:#fff}.note-linked-kind-buffer{background:#64748b}.note-linked-kind-calendar{background:var(--accent)}.note-linked-kind-kanban{background:#0ea5e9}.note-linked-kind-note{background:#a855f7}.note-linked-title{font-size:14px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-linked-done{text-decoration:line-through;color:var(--text-muted)}.note-linked-meta{font-size:12px;color:var(--text-muted);margin-left:auto;flex-shrink:0}.task-related-notes{list-style:none;margin:0;padding:0}.wiki-link{background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit;color:var(--accent);border-bottom:1px solid var(--accent)}.wiki-link:hover{opacity:.75}.wiki-link-missing{color:var(--text-muted);border-bottom:1px dashed var(--text-muted)}.wiki-ac{position:fixed;z-index:1000;list-style:none;margin:2px 0 0;padding:4px;min-width:200px;max-width:320px;max-height:240px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000002e}.wiki-ac-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:6px;background:none;cursor:pointer;text-align:left}.wiki-ac-item.active{background:var(--bg-tertiary)}.wiki-ac-title{font-size:14px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-tree-children{list-style:none;margin:0;padding:0}.folder-row{display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:6px;cursor:pointer;color:var(--text-secondary)}.folder-row:hover{background:var(--bg-tertiary)}.folder-row.folder-drop-over{background:var(--accent-light);outline:1px dashed var(--accent)}.folder-toggle{background:none;border:none;cursor:pointer;padding:0;color:var(--text-muted);line-height:0;width:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease}.folder-toggle.open{transform:rotate(90deg)}.folder-name{background:none;border:none;cursor:pointer;padding:0;font:inherit;color:var(--text-primary);flex:1;min-width:0;text-align:left;display:flex;align-items:center;gap:7px}.folder-name svg{flex-shrink:0;color:var(--text-muted)}.folder-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-count{font-size:11px;color:var(--text-muted);flex-shrink:0}.folder-act{background:none;border:none;cursor:pointer;padding:2px 4px;line-height:1;color:var(--text-muted);opacity:0;transition:opacity .12s;flex-shrink:0}.folder-row:hover .folder-act{opacity:1}.folder-act:hover{color:var(--text-primary)}.note-embed{border:1px solid var(--border-color);border-left:3px solid var(--accent);border-radius:8px;margin:10px 0;background:var(--bg-secondary);overflow:hidden}.note-embed-head{display:block;width:100%;text-align:left;background:var(--bg-tertiary);border:none;cursor:pointer;padding:6px 12px;font-weight:600;font-size:13px;color:var(--accent)}.note-embed-head:hover{text-decoration:underline}.note-embed-body{padding:2px 12px}.note-embed-body>:first-child{margin-top:6px}.note-embed-truncated{color:var(--text-muted);padding:8px 12px}.callout{border:1px solid var(--callout-color, var(--border-color));border-left:4px solid var(--callout-color, var(--accent));border-radius:8px;margin:12px 0;padding:10px 14px;background:color-mix(in srgb,var(--callout-color, var(--accent)) 8%,transparent)}.callout-head{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--callout-color, var(--accent))}.callout-icon{display:inline-flex;align-items:center;line-height:0;color:var(--callout-color, var(--accent))}.callout-body{margin-top:4px;color:var(--text-primary)}.callout-body>:first-child{margin-top:4px}.callout-body>:last-child{margin-bottom:0}.callout-note{--callout-color: #3b82f6}.callout-tip{--callout-color: #22c55e}.callout-warning{--callout-color: #f59e0b}.callout-danger{--callout-color: #ef4444}.callout-important{--callout-color: #8b5cf6}.notes-meta{margin-top:18px;display:flex;flex-direction:column;gap:14px}.notes-colors{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.notes-color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;background:var(--bg-tertiary);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1}.notes-color-swatch.selected{border-color:var(--text-primary)}.notes-updated{margin-top:18px;font-size:12px;color:var(--text-muted)}.from-note-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--accent);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}.from-note-link:hover{background:var(--accent-light)}.m-notes-modal .notes-view{flex-direction:column;flex:1;min-height:0}.m-notes-modal .notes-list-head{height:auto;min-height:56px;padding-top:max(12px,env(safe-area-inset-top,12px));padding-bottom:12px}.notes-close-btn{font-size:20px;line-height:1}.notes-swipe{position:relative;list-style:none;border-radius:10px}.notes-swipe-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding:0 18px;border-radius:10px;color:#fff;background:var(--danger, #ef4444);opacity:0;transition:opacity .12s;pointer-events:none}.notes-swipe-bg.visible{opacity:.75}.notes-swipe-bg.commit{opacity:1}.notes-swipe .notes-list-item{position:relative}.notes-swipe .notes-list-item.notes-swiping{transition:none}.notes-swipe .notes-list-item:not(.notes-swiping){transition:transform .18s ease-out}.notes-view.notes-mobile .notes-list{width:100%;flex:1;min-height:0;max-height:none;border-right:none}.notes-view.notes-mobile:not(.notes-mobile-detail) .notes-editor{display:none}.notes-view.notes-mobile-detail .notes-list{display:none}.notes-view.notes-mobile .notes-editor{flex:1;min-height:0}.notes-back-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;margin-right:2px;border:none;background:transparent;color:var(--text-secondary);border-radius:9px;cursor:pointer}.notes-back-btn:active{background:var(--bg-tertiary)}.notes-view.notes-mobile .notes-editor-head{height:50px;padding:0;gap:8px}.notes-view.notes-mobile .notes-title-input{font-size:17px}.notes-view.notes-mobile .notes-editor-actions{gap:5px;flex-shrink:0}.notes-view.notes-mobile .notes-tab{padding:6px 10px;font-size:12px}.notes-view.notes-mobile .notes-editor-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:12px 0 8px;overflow-y:auto;overflow-x:hidden}.notes-view.notes-mobile .notes-edit-area{flex:1;min-height:0;display:flex;flex-direction:column}.notes-view.notes-mobile .notes-content-input{flex:1;min-height:150px;resize:none}.notes-view.notes-mobile .notes-preview{flex:1;min-height:150px;overflow-y:auto}.notes-view.notes-mobile .notes-meta{margin-top:0}.notes-view.notes-mobile .notes-updated{display:none}.m-kb{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.m-kb-boards{display:flex;align-items:center;gap:6px;padding:6px 16px 8px;overflow-x:auto;scrollbar-width:none;flex-shrink:0}.m-kb-boards::-webkit-scrollbar{display:none}.m-kb-board-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:6px 12px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:600;font-family:var(--font-main);cursor:pointer;white-space:nowrap}.m-kb-board-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.m-kb-chip-act{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:50%;font-size:15px;line-height:1;color:#ffffffd9}.m-kb-chip-act:active{background:#ffffff38}.m-kb-board-add{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1px dashed var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer}.m-kb-board{flex:1;min-height:0;display:flex;align-items:flex-start;gap:12px;padding:2px 16px 12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.m-kb-board::-webkit-scrollbar{display:none}.m-kb-col{scroll-snap-align:start;flex:0 0 84vw;max-width:360px;height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg-secondary);border:1px solid var(--hairline, var(--border-color));border-radius:14px;overflow:hidden}.m-kb-col.m-drop-active{border-color:var(--accent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}.m-kb-col-head{display:flex;align-items:center;gap:7px;padding:12px 10px 10px 12px;flex-shrink:0}.m-kb-col-marker{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:none}.m-kb-col-marker.kb-col-marker--todo{background:var(--text-muted)}.m-kb-col-marker.kb-col-marker--doing{background:var(--warning)}.m-kb-col-marker.kb-col-marker--done{background:var(--success)}.m-kb-col-name{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-kb-col-count{font-size:12px;font-weight:700;color:var(--text-muted);font-family:var(--font-mono)}.m-kb-col-act{display:inline-flex;align-items:center;justify-content:center;width:26px;height:28px;flex-shrink:0;border:none;background:transparent;color:var(--text-muted);border-radius:7px;cursor:pointer;font-size:19px;line-height:1}.m-kb-col-act:first-of-type{margin-left:auto}.m-kb-col-act:active:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.m-kb-col-act:disabled{opacity:.28;cursor:default}.m-kb-col-cards{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}.m-kb-card{position:relative;display:flex;align-items:flex-start;gap:8px;padding:10px 8px 10px 13px;background:var(--bg-primary);border:1px solid var(--hairline, var(--border-color));border-radius:11px;cursor:pointer;overflow:hidden}.m-kb-card-dragging{opacity:.4}.m-kb-card-bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--task-color, var(--accent))}.m-kb-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.m-kb-card-title{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.35;word-break:break-word}.m-kb-card-note{display:inline-flex;vertical-align:-2px;margin-right:4px;color:var(--accent)}.m-kb-card-desc{font-size:12.5px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.m-kb-card-tags{display:flex;flex-wrap:wrap;gap:4px}.m-kb-card-del{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);border-radius:7px;cursor:pointer}.m-kb-card-del:active{background:var(--bg-tertiary);color:var(--danger, #d14343)}.m-kb-add-input{width:100%;box-sizing:border-box;resize:none;border:1px dashed var(--border-color);background:transparent;color:var(--text-primary);border-radius:10px;padding:9px 10px;font-size:13.5px;font-family:var(--font-main);outline:none}.m-kb-add-input:focus{border-style:solid;border-color:var(--accent)}.m-kb-col-add{scroll-snap-align:start;flex:0 0 auto;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:1px dashed var(--border-color);border-radius:12px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;font-family:var(--font-main);cursor:pointer;white-space:nowrap}.m-header-buffer{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:8px;border-radius:50%;border:1px solid var(--hairline, var(--border-color));background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}.m-header-buffer.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.m-header-buffer-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:17px;text-align:center;font-family:var(--font-mono)}.m-header-static{cursor:default}.m-agenda-today{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;font-family:var(--font-main);cursor:pointer}.auth-mode-tabs{background:var(--bg-tertiary);border-radius:var(--radius);padding:3px;margin-bottom:20px;gap:3px}.auth-mode-tab{font-family:Outfit,sans-serif;font-size:13px;font-weight:600;color:var(--text-secondary);padding:8px 10px;border-radius:calc(var(--radius) - 4px);transition:color var(--duration) var(--ease-smooth),background var(--duration) var(--ease-smooth),box-shadow var(--duration) var(--ease-smooth)}.auth-mode-tab:hover{color:var(--text-primary)}.auth-mode-tab.active{background:var(--bg-secondary);color:var(--accent);box-shadow:var(--shadow-sm, 0 1px 2px rgba(26, 26, 46, .08))}.auth-subtitle{font-family:Plus Jakarta Sans,sans-serif;font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0 0 20px}.auth-password-toggle{color:var(--text-muted);border-radius:6px;transition:color var(--duration),background var(--duration)}.auth-password-toggle:hover{color:var(--text-primary);background:var(--accent-light)}.auth-modal{max-width:416px;padding:30px 30px 26px;border:1px solid var(--border-color);border-radius:var(--radius-xl);animation:modalSpringIn var(--duration-lg) var(--spring)}.auth-title{letter-spacing:-.03em;margin-bottom:6px}.auth-input{padding:12px 14px;font-size:15px;transition:border-color var(--duration) var(--ease-smooth),box-shadow var(--duration) var(--ease-smooth)}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.auth-input::placeholder{color:var(--text-muted)}.auth-submit{padding:12px;font-size:15px;transition:box-shadow var(--duration) var(--ease-out),transform var(--duration) var(--ease-out)}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-accent)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-google-btn{padding:12px;transition:background var(--duration) var(--ease-smooth),border-color var(--duration) var(--ease-smooth),transform var(--duration) var(--ease-out)}.auth-google-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 35%,var(--border-color));transform:translateY(-1px)}.auth-error{background:var(--danger-light);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);border-radius:var(--radius);padding:9px 12px;font-weight:500;animation:authErrorIn var(--duration-md) var(--ease-out)}@keyframes authErrorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.modal-overlay:has(.auth-modal){align-items:flex-end}.auth-modal{width:100%;max-width:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:calc(26px + env(safe-area-inset-bottom,0px));animation:slideUp var(--duration-md) var(--ease-out)}}.ws-switch{position:relative}.ws-switch-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:transparent;color:var(--text-primary);font-family:Outfit,sans-serif;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color var(--duration),background var(--duration)}.ws-switch-btn:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border-color))}.ws-switch-btn svg{color:var(--text-muted)}.ws-switch-dot{width:10px;height:10px;border-radius:3px;background:var(--accent-gradient);flex-shrink:0}.ws-switch-dot--personal{background:var(--text-muted);border-radius:50%}.ws-switch-label{max-width:140px;overflow:hidden;text-overflow:ellipsis}.ws-switch-badge{min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.ws-switch-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;padding:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:200;animation:wsMenuIn var(--duration) var(--ease-out)}@keyframes wsMenuIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}.ws-switch-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;text-align:left;border-radius:calc(var(--radius) - 4px);cursor:pointer;transition:background var(--duration)}.ws-switch-item:hover{background:var(--bg-tertiary)}.ws-switch-item.active,.ws-switch-item--new{color:var(--accent);font-weight:600}.ws-switch-sep{height:1px;background:var(--border-color);margin:5px 4px}.ws-switch-section{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 10px 4px}.ws-switch-section--head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ws-switch-delete{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);padding:2px;border-radius:6px;cursor:pointer;transition:color .12s ease,background .12s ease}.ws-switch-delete:hover{color:#ef4444;background:color-mix(in srgb,#ef4444 14%,transparent)}.ws-switch-invite{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px}.ws-switch-invite-name{font-size:13px;color:var(--text-secondary)}.ws-switch-invite-actions{display:flex;gap:6px}.ws-switch-invite-actions button{border:none;background:var(--accent);color:#fff;font-size:12px;font-weight:600;padding:4px 9px;border-radius:6px;cursor:pointer}.ws-switch-invite-actions button.ghost{background:var(--bg-tertiary);color:var(--text-secondary)}.ws-switch-create{display:flex;gap:6px;padding:4px}.ws-switch-create input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;outline:none}.ws-switch-create input:focus{border-color:var(--accent)}.ws-switch-create button{border:none;background:var(--accent);color:#fff;font-weight:600;padding:0 12px;border-radius:6px;cursor:pointer}.ws-switch-members{display:flex;flex-direction:column;gap:2px;padding:2px 4px 6px}.ws-switch-member{display:flex;align-items:center;gap:9px;padding:5px 6px}.ws-switch-avatar{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;font-family:Outfit,sans-serif;flex-shrink:0}.ws-switch-member-name{font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-switch-role{margin-left:auto;font-size:10px;font-weight:700;color:var(--accent);background:var(--accent-light);padding:2px 7px;border-radius:var(--radius-full)}.ws-switch-msg{font-size:12px;color:var(--success);padding:2px 10px 6px}.kb-view{flex:1;display:flex;flex-direction:column;min-height:0}.kb-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:14px 24px 0}.kb-tab{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:transparent;border:1px solid var(--hairline);border-radius:999px;font-family:var(--font-ui);font-size:12.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:border-color var(--duration),background var(--duration),color var(--duration)}.kb-tab:hover{border-color:var(--text-secondary);color:var(--text-primary)}.kb-tab.active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}.kb-tab.is-over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.kb-tab-del{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-right:-4px;border-radius:50%;font-size:12px;line-height:1;color:var(--text-muted);transition:color var(--duration),background var(--duration)}.kb-tab-del:hover{color:#ef4444;background:color-mix(in srgb,#ef4444 14%,transparent)}.kb-tab-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px dashed var(--hairline);border-radius:999px;background:transparent;color:var(--text-muted);font-size:15px;line-height:1;cursor:pointer;transition:border-color var(--duration),color var(--duration)}.kb-tab-add:hover{border-color:var(--accent);color:var(--accent);border-style:solid}.kb-tab-input{width:140px;padding:5px 12px;border:1px solid var(--accent);border-radius:999px;background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-ui);font-size:12.5px;font-weight:600;outline:none}.kb-board{flex:1;display:flex;gap:16px;padding:14px 24px 24px;min-height:0;overflow-x:auto;overflow-y:hidden}.kb-col{flex:1 1 0;min-width:240px;display:flex;flex-direction:column;min-height:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:12px;transition:border-color var(--duration),background var(--duration)}.kb-col.is-over{border-color:var(--accent);background:var(--accent-light)}.kb-col-head{display:flex;align-items:center;gap:9px;font-family:Outfit,sans-serif;font-size:14px;font-weight:700;color:var(--text-primary);padding:2px 6px 12px}.kb-col-marker{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:none}.kb-col-marker--todo{background:var(--text-muted)}.kb-col-marker--doing{background:var(--warning)}.kb-col-marker--done{background:var(--success)}.kb-col-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-col-count{margin-left:auto;font-size:12px;font-weight:700;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-full);padding:2px 9px}.kb-col-head[draggable=true]{cursor:grab}.kb-col-head[draggable=true]:active{cursor:grabbing}.kb-col--reorder{border-color:var(--accent);border-style:dashed}.kb-col-del{margin-left:4px;font-size:16px;line-height:1;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--duration),color var(--duration)}.kb-col-head:hover .kb-col-del{opacity:1}.kb-col-del:hover{color:#ef4444}.kb-col-rename{font-family:Outfit,sans-serif;font-size:14px;font-weight:700;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:4px 6px;margin-bottom:8px;width:100%}.kb-col--add{flex:0 0 auto;align-self:flex-start}.kb-col-add-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-family:Outfit,sans-serif;font-size:20px;font-weight:700;color:var(--text-muted);background:transparent;border:1px dashed var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--duration),background var(--duration),border-color var(--duration)}.kb-col-add-btn:hover{color:var(--accent);background:var(--accent-light);border-color:var(--accent);border-style:solid}.kb-col--add .kb-col-rename{width:220px;margin-bottom:0}.kb-col-cards{flex:1;display:flex;flex-direction:column;gap:9px;overflow-y:auto;min-height:40px;padding:2px}.kb-card{position:relative;display:flex;gap:10px;padding:11px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);cursor:grab;box-shadow:var(--shadow-xs);transition:transform var(--duration) var(--ease-out),box-shadow var(--duration),opacity var(--duration)}.kb-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.kb-card:active{cursor:grabbing}.kb-card.is-dragging{opacity:.4}.kb-card--drop-before:before,.kb-card--drop-after:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--accent);border-radius:2px}.kb-card--drop-before:before{top:-4px}.kb-card--drop-after:after{bottom:-4px}.kb-card-bar{width:3px;border-radius:3px;flex-shrink:0}.kb-card-main{flex:1;min-width:0;align-self:center}.kb-card-del{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius);cursor:pointer;opacity:0;transition:opacity var(--duration),color var(--duration),background var(--duration)}.kb-card:hover .kb-card-del{opacity:1}.kb-card-del:hover{color:#ef4444;background:color-mix(in srgb,#ef4444 14%,transparent)}.kb-add-input{margin-top:2px;width:100%;padding:8px 10px;border:1px dashed var(--border-color);border-radius:var(--radius);background:transparent;color:var(--text-primary);font-size:13px;font-family:var(--font-ui);outline:none;transition:border-color var(--duration),background var(--duration);resize:none;overflow:hidden;min-height:36px;line-height:1.4;field-sizing:content}.kb-add-input::placeholder{color:var(--text-muted)}.kb-add-input:focus{border-style:solid;border-color:var(--accent);background:var(--bg-secondary)}.kb-card-title{display:block;font-size:13px;font-weight:600;color:var(--text-primary);word-break:break-word;white-space:pre-wrap}.kb-card-title.is-done{text-decoration:line-through;color:var(--text-secondary)}.kb-card-note{display:inline-flex;vertical-align:-2px;margin-right:4px;color:var(--accent);opacity:.85}.kb-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;font-size:12px;line-height:1.4;color:var(--text-secondary);white-space:pre-wrap}.kb-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.kb-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.kb-card-meta{font-size:11px;color:var(--text-muted)}.kb-assignee{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 8px 2px 2px;border:1px solid color-mix(in srgb,var(--av-color) 24%,transparent);background:color-mix(in srgb,var(--av-color) 6%,transparent);border-radius:999px}.kb-assignee-avatar{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--av-color) 16%,var(--bg-primary));color:var(--av-color);font-size:8.5px;font-weight:700;letter-spacing:.02em;font-family:var(--font-ui);flex-shrink:0}.kb-assignee-name{font-size:11px;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-col-empty{text-align:center;font-size:12px;color:var(--text-muted);padding:20px 8px;border:1px dashed var(--border-color);border-radius:var(--radius)}@media(max-width:900px){.kb-col{flex:0 0 80%;min-width:0}}.quickadd{position:fixed;right:24px;bottom:24px;z-index:250}.quickadd-fab{width:52px;height:52px;border:none;border-radius:50%;background:var(--accent-gradient);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-accent),var(--shadow-lg);transition:transform var(--duration) var(--spring),box-shadow var(--duration)}.quickadd-fab:hover{transform:translateY(-2px) scale(1.04)}.quickadd-fab:active{transform:scale(.96)}body.assistant-open .quickadd{display:none}.quickadd-pop{position:absolute;right:0;bottom:64px;width:280px;padding:14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:quickaddIn var(--duration) var(--ease-out)}@keyframes quickaddIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.quickadd-pop--down{top:64px;bottom:auto}.quickadd-pop--left{left:0;right:auto}.quickadd-input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:14px;outline:none;margin-bottom:8px}.quickadd-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.quickadd-row{display:flex;gap:6px}.quickadd-select{flex:1;min-width:0;padding:8px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer}.quickadd-add{border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:13px;font-weight:600;padding:0 14px;cursor:pointer}.quickadd-add:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.quickadd{display:none}}.datamenu{position:relative}.datamenu-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:var(--radius);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color var(--duration),background var(--duration),border-color var(--duration)}.datamenu-btn:hover{color:var(--accent);background:var(--accent-light);border-color:var(--accent)}.datamenu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;padding:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:200;animation:quickaddIn var(--duration) var(--ease-out)}.datamenu-dropdown button{display:block;width:100%;text-align:left;padding:9px 10px;border:none;background:transparent;color:var(--text-primary);font-size:13px;border-radius:calc(var(--radius) - 4px);cursor:pointer}.datamenu-dropdown button:hover{background:var(--bg-tertiary)}.addtask-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:999px;background:var(--accent-gradient, var(--accent));color:#fff;font-family:var(--font-ui);font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-accent);transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.addtask-btn:hover{transform:translateY(-1px);opacity:.95}.addtask-btn:active{transform:translateY(0) scale(.98)}.addtask-btn-label{letter-spacing:-.01em}.plan-btn{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12.5px;font-weight:600;cursor:pointer;transition:color var(--duration),background var(--duration),border-color var(--duration)}.plan-btn:hover{color:var(--accent);border-color:var(--accent)}.plan-btn.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.plan-btn-label{letter-spacing:-.01em}.plan-btn-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.buffer-drawer{position:fixed;top:0;left:50%;transform:translate(-50%,-100%);width:min(720px,calc(100vw - 32px));max-height:46vh;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-xl);z-index:240;opacity:0;pointer-events:none;transition:transform .26s var(--ease-out),opacity .2s var(--ease-out)}.buffer-drawer.open{transform:translate(-50%);opacity:1;pointer-events:auto}.bufdrawer-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--border-color)}.bufdrawer-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-primary)}.bufdrawer-count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.bufdrawer-close{display:flex;padding:5px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px}.bufdrawer-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.bufdrawer-empty{padding:30px 16px;text-align:center;color:var(--text-muted);font-size:13px}.bufdrawer-list{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.bufdrawer-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);cursor:grab;transition:border-color var(--duration),box-shadow var(--duration)}.bufdrawer-item:hover{border-color:var(--accent)}.bufdrawer-item:active{cursor:grabbing}.bufdrawer-item.is-dragging{opacity:.4}.drag-ghost{position:fixed;top:-1000px;left:-1000px;padding:7px 12px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;border-radius:999px;box-shadow:var(--shadow-lg);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}body.task-dragging .kb-col{border-color:color-mix(in srgb,var(--accent) 45%,var(--border-color))}.bufdrawer-dot{width:10px;height:10px;border-radius:50%;flex:none}.bufdrawer-info{flex:1;min-width:0}.bufdrawer-item-title{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bufdrawer-meta{display:flex;gap:8px;font-size:11.5px;color:var(--text-muted);margin-top:2px}.bufdrawer-cat{color:var(--text-secondary)}.bufdrawer-hint{padding:6px 16px 0;font-size:11.5px;color:var(--text-muted)}.bufdrawer-actions{display:flex;align-items:center;gap:4px;flex:none}.bufdrawer-pick{position:relative}.bufdrawer-pick-pop{z-index:260}.datepick-btn{display:inline-flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-family:inherit;text-align:left;cursor:pointer;transition:border-color var(--duration)}.datepick-btn:hover{border-color:var(--accent)}.datepick-btn svg{color:var(--text-secondary);flex:none}.datepick-pop{z-index:410}.bufdrawer-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:var(--radius);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color var(--duration),border-color var(--duration)}.bufdrawer-btn:hover{border-color:var(--accent);color:var(--accent)}.bufdrawer-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.bufdrawer-btn--danger:hover{border-color:#ef4444;color:#ef4444}.minical{width:232px;padding:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:quickaddIn var(--duration) var(--ease-out)}.minical-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.minical-month{font-size:13px;font-weight:700;color:var(--text-primary);text-transform:capitalize}.minical-nav{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:16px;line-height:1;cursor:pointer}.minical-nav:hover{background:var(--bg-tertiary);color:var(--text-primary)}.minical-weekdays,.minical-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.minical-weekday{text-align:center;font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;padding-bottom:4px}.minical-day{aspect-ratio:1;min-height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius);background:transparent;color:var(--text-primary);font-size:12.5px;font-weight:600;cursor:pointer;transition:background var(--duration),color var(--duration)}.minical-day:hover{background:var(--accent-light);color:var(--accent)}.minical-day.is-out{color:var(--text-muted);opacity:.55}.minical-day.is-today{box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent)}.acc-modal{background:var(--bg-primary, #fff);color:var(--text-primary, #1a1a2e);border-radius:16px;padding:28px;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow-y:auto;position:relative;box-shadow:0 20px 60px #00000040}.acc-title{margin:0 0 18px;font-size:20px;font-weight:700}.acc-loading{display:flex;justify-content:center;padding:32px 0}.acc-error{color:#e0455a;font-size:13px;margin:8px 0}.acc-section{border-top:1px solid var(--border-color, #e8e8f0);padding:16px 0}.acc-section-title{margin:0 0 12px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b6b80)}.acc-gcal-desc{margin:0 0 12px;font-size:13px;color:var(--text-secondary, #6b6b80)}.acc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px}.acc-label{color:var(--text-secondary, #6b6b80);flex-shrink:0}.acc-value{display:flex;align-items:center;gap:8px;min-width:0;word-break:break-all}.acc-provider{font-size:11px;padding:2px 7px;border-radius:999px;background:var(--bg-secondary, #f2f2f7);color:var(--text-secondary, #6b6b80);flex-shrink:0}.acc-name-edit{display:flex;gap:8px;flex:1;min-width:0;justify-content:flex-end}.acc-input{border:1px solid var(--border-color, #d8d8e4);border-radius:8px;padding:7px 10px;font-size:14px;background:var(--bg-primary, #fff);color:var(--text-primary, #1a1a2e);min-width:0;width:100%}.acc-name-edit .acc-input{max-width:200px}.acc-input:focus{outline:none;border-color:var(--accent, #5046e5)}.acc-btn{border:1px solid var(--border-color, #d8d8e4);background:var(--bg-primary, #fff);color:var(--text-primary, #1a1a2e);border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer;white-space:nowrap;transition:background .15s}.acc-btn:hover:not(:disabled){background:var(--bg-secondary, #f2f2f7)}.acc-btn:disabled{opacity:.5;cursor:default}.acc-btn--primary{background:var(--accent, #5046e5);border-color:var(--accent, #5046e5);color:#fff}.acc-btn--primary:hover:not(:disabled){background:var(--accent, #5046e5);opacity:.9}.acc-btn--danger{color:#e0455a;border-color:#e0455a66}.acc-btn--danger:hover:not(:disabled){background:#e0455a14}.acc-sub-card{background:var(--bg-secondary, #f7f7fb);border-radius:12px;padding:14px}.acc-sub-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.acc-plan-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #d8d8e4)}.acc-plan-badge--pro{background:var(--accent, #5046e5);border-color:var(--accent, #5046e5);color:#fff}.acc-sub-status{font-size:13px;color:var(--text-secondary, #6b6b80)}.acc-pay-btn{width:100%;border:none;border-radius:10px;padding:11px;font-size:14px;font-weight:600;background:var(--accent, #5046e5);color:#fff;cursor:pointer}.acc-pay-btn:hover:not(:disabled){opacity:.9}.acc-pay-btn:disabled{opacity:.6;cursor:default}.acc-pay-soon{font-size:13px;color:var(--text-secondary, #6b6b80);margin:0}.acc-pay-notice{font-size:13px;margin:0 0 10px;color:var(--text-secondary, #6b6b80)}.acc-pay-notice--ok{color:#1d9a5b;font-weight:600}.acc-payments{margin-top:12px}.acc-payments-title{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--text-secondary, #6b6b80)}.acc-payment-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:5px 0;border-bottom:1px dashed var(--border-color, #ececf2)}.acc-payment-row:last-child{border-bottom:none}.acc-payment-status--succeeded{color:#1d9a5b}.acc-payment-status--pending{color:#c08a00}.acc-payment-status--canceled{color:var(--text-secondary, #9a9aae)}.acc-pw-form{display:flex;flex-direction:column;gap:8px;max-width:280px}.acc-pw-actions{display:flex;gap:8px;margin-top:4px}.acc-pw-msg{font-size:13px;margin:0}.acc-pw-msg--ok{color:#1d9a5b}.acc-pw-msg--err{color:#e0455a}.acc-section--danger{display:flex;gap:8px}.acc-del-overlay{z-index:500}.acc-del-modal{width:min(360px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px}.acc-del-warning{font-size:13px;color:var(--text-secondary, #6b6b80);margin:0}.app-user-email-btn{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline transparent;transition:text-decoration-color .15s}.app-user-email-btn:hover{text-decoration-color:currentColor}.ld{--l-bg: #0a0a0f;--l-bg2: #101017;--l-card: #13131c;--l-line: rgba(255, 255, 255, .07);--l-line-strong: rgba(255, 255, 255, .13);--l-text: #f4f4f8;--l-dim: #9d9dab;--l-faint: #585866;--l-accent: #7c6cff;--l-accent-bright: #948aff;--l-accent-soft: rgba(124, 108, 255, .13);--l-warm: #ffb86b;--l-teal: #5fd4b0;--l-mono: ui-monospace, "Cascadia Code", "JetBrains Mono", Consolas, monospace;--l-serif: Georgia, "Times New Roman", serif;min-height:100vh;background:var(--l-bg);color:var(--l-text);position:relative;isolation:isolate;overflow-x:clip;-webkit-font-smoothing:antialiased}.ld ::selection{background:var(--l-accent);color:#fff}.ld:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(to right,var(--l-line) 1px,transparent 1px);background-size:140px 100%;background-position:50% 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);opacity:.5}.ld:after{content:"";position:absolute;top:-240px;left:50%;width:1200px;height:900px;transform:translate(-50%);z-index:-1;pointer-events:none;background:radial-gradient(50% 45% at 50% 32%,rgba(124,108,255,.16),transparent 70%)}.ld-noise{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E")}.ld section,.ld footer{max-width:1120px;margin:0 auto;padding-left:28px;padding-right:28px}.ld-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0a0a0f8c;border-bottom:1px solid transparent;transition:border-color .25s ease,background .25s ease}.ld-header.is-scrolled{border-bottom-color:var(--l-line);background:#0a0a0fc7}.ld-header-in{max-width:1120px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between}.ld-logo{display:flex;align-items:center;gap:10px}.ld-logo-icon{width:30px;height:30px;border-radius:8px;background:var(--l-accent);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 0 18px #7c6cff73}.ld-logo-text{font-weight:700;font-size:17px;letter-spacing:-.01em}.ld-header-actions{display:flex;align-items:center;gap:8px}.ld-btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:10px;background:var(--l-accent);color:#fff;font-size:14px;font-weight:600;padding:9px 18px;cursor:pointer;transition:background .2s,box-shadow .25s,transform .2s}.ld-btn:hover{background:var(--l-accent-bright);box-shadow:0 6px 28px -6px #7c6cffa6;transform:translateY(-1px)}.ld-btn:active{transform:translateY(0) scale(.98)}.ld-btn-arrow{display:inline-block;transition:transform .25s cubic-bezier(.22,1,.36,1)}.ld-btn:hover .ld-btn-arrow{transform:translate(4px)}.ld-btn-ghost{border:1px solid var(--l-line-strong);border-radius:10px;background:transparent;color:var(--l-text);font-size:14px;font-weight:600;padding:8px 18px;cursor:pointer;transition:border-color .2s,background .2s}.ld-btn-ghost:hover{border-color:var(--l-accent);background:var(--l-accent-soft)}.ld-btn--lg{padding:13px 28px;font-size:15px;border-radius:12px}.ld-btn--xl{padding:17px 36px;font-size:17px;border-radius:14px}.ld-icon-btn{border:none;background:transparent;color:var(--l-dim);font-size:13px;font-weight:600;width:34px;height:34px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.ld-icon-btn:hover{background:var(--l-card);color:var(--l-text)}.ld-hero{text-align:center;padding-top:84px}.ld-clock{display:inline-flex;align-items:center;gap:9px;font-family:var(--l-mono);font-size:12.5px;letter-spacing:.08em;color:var(--l-dim);border:1px solid var(--l-line-strong);border-radius:999px;padding:7px 16px;margin-bottom:34px;animation:ld-fade .8s ease both;font-variant-numeric:tabular-nums}.ld-clock-dot{width:6px;height:6px;border-radius:50%;background:var(--l-teal);animation:ld-blink 2s ease-in-out infinite}@keyframes ld-blink{0%,to{opacity:1;box-shadow:0 0 8px var(--l-teal)}50%{opacity:.35;box-shadow:none}}@keyframes ld-fade{0%{opacity:0}to{opacity:1}}.ld-h1{margin:0 auto;max-width:880px;font-size:clamp(40px,7vw,78px);line-height:1.04;font-weight:800;letter-spacing:-.035em}.ld-h1-em{font-family:var(--l-serif);font-style:italic;font-weight:500;letter-spacing:-.01em;color:var(--l-accent-bright)}.ld-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.ld-mask-in{display:inline-block;transform:translateY(110%);animation:ld-mask-up .9s .05s cubic-bezier(.22,1,.36,1) forwards}.ld-mask-in--2{animation-delay:.17s}@keyframes ld-mask-up{to{transform:translateY(0)}}.ld-sub{margin:26px auto 0;max-width:620px;font-size:17px;line-height:1.6;color:var(--l-dim);animation:ld-rise .7s .35s cubic-bezier(.22,1,.36,1) both}.ld-hero-actions{display:flex;justify-content:center;gap:12px;margin-top:34px;animation:ld-rise .7s .45s cubic-bezier(.22,1,.36,1) both}.ld-hero-note{margin:16px 0 0;font-size:13px;color:var(--l-faint);animation:ld-rise .7s .52s cubic-bezier(.22,1,.36,1) both}@keyframes ld-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.ld-stage{--mx: 0;--my: 0;position:relative;margin-top:72px;animation:ld-rise 1s .6s cubic-bezier(.22,1,.36,1) both}.ld-shot{border:1px solid var(--l-line-strong);border-radius:16px;overflow:hidden;background:var(--l-card);box-shadow:0 40px 120px -40px #000c}.ld-shot img{display:block;width:100%;height:auto}.ld-shot--hero{border-color:#7c6cff47;box-shadow:0 0 0 1px #7c6cff14,0 30px 100px -20px #7c6cff40,0 50px 140px -40px #000000e6}.ld-float{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;white-space:nowrap;color:var(--l-text);background:#13131cd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--l-line-strong);border-radius:12px;padding:10px 14px;box-shadow:0 18px 48px -16px #000000b3}.ld-float b{font-family:var(--l-mono);font-weight:600;font-size:11.5px;color:var(--l-dim)}.ld-float-dot{width:8px;height:8px;border-radius:3px;background:var(--l-accent);flex-shrink:0}.ld-float-dot--warm{background:var(--l-warm)}.ld-float-dot--teal{background:var(--l-teal)}.ld-float--1{top:-26px;left:6%;transform:translate(calc(var(--mx) * 18px),calc(var(--my) * 12px));animation:ld-bob 7s ease-in-out infinite}.ld-float--2{top:18%;right:-14px;transform:translate(calc(var(--mx) * -26px),calc(var(--my) * -16px));animation:ld-bob 8.5s .8s ease-in-out infinite}.ld-float--3{bottom:14%;left:-20px;transform:translate(calc(var(--mx) * 24px),calc(var(--my) * -14px));animation:ld-bob 9.5s 1.6s ease-in-out infinite}@keyframes ld-bob{0%,to{margin-top:0}50%{margin-top:-10px}}.ld-marquee{margin-top:110px;border-top:1px solid var(--l-line);border-bottom:1px solid var(--l-line);padding:17px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.ld-marquee-track{display:flex;width:max-content;animation:ld-mq 36s linear infinite}.ld-marquee:hover .ld-marquee-track{animation-play-state:paused}.ld-marquee-half{display:flex}.ld-marquee-item{display:inline-flex;align-items:center;font-family:var(--l-mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--l-dim)}.ld-marquee-item i{font-style:normal;color:var(--l-accent);margin:0 28px}@keyframes ld-mq{0%{transform:translate(0)}to{transform:translate(-50%)}}.ld-section{padding-top:150px}.ld-eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--l-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--l-faint);margin-bottom:18px}.ld-eyebrow span{color:var(--l-accent)}.ld-eyebrow:after{content:"";flex:1;height:1px;background:var(--l-line)}.ld-h2{margin:0;font-size:clamp(28px,4vw,44px);font-weight:750;letter-spacing:-.025em;line-height:1.1}.ld-section-sub{margin:14px 0 0;max-width:540px;font-size:15.5px;line-height:1.6;color:var(--l-dim)}.ld-desc{margin:16px 0 0;font-size:15.5px;line-height:1.65;color:var(--l-dim)}.ld-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}.ld-reveal.is-in{opacity:1;transform:none}.ld-wipe.ld-reveal{transform:none;opacity:1;clip-path:inset(0 100% 0 0 round 16px);transition:clip-path 1s cubic-bezier(.65,0,.25,1)}.ld-wipe.ld-reveal.is-in{clip-path:inset(0 0 0 0 round 16px)}.ld-ai{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:center}.ld-ai-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--l-mono);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--l-accent-bright);background:var(--l-accent-soft);border:1px solid rgba(124,108,255,.3);padding:6px 13px;border-radius:999px;margin-bottom:18px}.ld-ai-demo{position:relative;border:1px solid rgba(124,108,255,.25);border-radius:18px;background:var(--l-card);box-shadow:0 0 0 1px #7c6cff0f,0 36px 90px -36px #7c6cff59,0 30px 80px -30px #000c;overflow:hidden}.ld-ai-winbar{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--l-line);background:var(--l-bg2)}.ld-ai-dots{display:flex;gap:6px}.ld-ai-dots i{width:10px;height:10px;border-radius:50%;background:var(--l-line-strong)}.ld-ai-wintitle{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;margin-right:42px;font-size:12.5px;font-weight:600;color:var(--l-dim)}.ld-ai-wintitle svg{color:var(--l-accent-bright)}.ld-ai-cal{padding:14px 16px 6px}.ld-ai-cal-head,.ld-ai-cal-row{display:grid;grid-template-columns:44px repeat(5,1fr)}.ld-ai-cal-day{text-align:center;font-family:var(--l-mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--l-faint);padding-bottom:8px;transition:color .3s}.ld-ai-demo--placed .ld-ai-cal-day.is-target{color:var(--l-accent-bright)}.ld-ai-cal-gutter{font-family:var(--l-mono);font-size:10px;color:var(--l-faint);transform:translateY(-6px);padding-right:8px;text-align:right}.ld-ai-cal-row{height:46px}.ld-ai-cal-slot{position:relative;border-top:1px solid var(--l-line);border-left:1px solid var(--l-line)}.ld-ai-cal-row:last-child .ld-ai-cal-slot{border-bottom:1px solid var(--l-line)}.ld-ai-cal-slot.is-target-col{background:#7c6cff0d}.ld-ai-ghost{position:absolute;inset:3px 4px;border:1.5px dashed rgba(148,138,255,.6);border-radius:8px;opacity:0}.ld-ai-demo--thinking .ld-ai-ghost{animation:ld-ai-ghost-pulse .9s ease-in-out infinite}@keyframes ld-ai-ghost-pulse{0%,to{opacity:.35;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}.ld-ai-card{position:absolute;inset:3px 4px auto;min-height:64px;display:flex;flex-direction:column;gap:2px;padding:7px 9px;border-radius:8px;border-left:3px solid var(--l-accent);background:#7c6cff2e;opacity:0;transform:translateY(-14px) scale(.85);z-index:2}.ld-ai-demo--placed .ld-ai-card{opacity:1;transform:none;transition:transform .55s cubic-bezier(.34,1.56,.64,1),opacity .25s ease}.ld-ai-demo--placed .ld-ai-card:after{content:"";position:absolute;inset:-3px;border-radius:10px;border:2px solid var(--l-accent);animation:ld-ai-ring .9s .25s ease-out both;pointer-events:none}@keyframes ld-ai-ring{0%{opacity:.8;transform:scale(.96)}to{opacity:0;transform:scale(1.12)}}.ld-ai-card-time{font-family:var(--l-mono);font-size:9.5px;font-weight:700;color:var(--l-accent-bright);white-space:nowrap}.ld-ai-card-title{font-size:11.5px;font-weight:600;line-height:1.25}.ld-ai-input{display:flex;align-items:center;gap:10px;margin:12px 16px 16px;padding:11px 14px;border:1px solid var(--l-line-strong);border-radius:12px;background:var(--l-bg2);transition:border-color .3s,box-shadow .3s}.ld-ai-demo--typing .ld-ai-input,.ld-ai-demo--thinking .ld-ai-input{border-color:#7c6cff8c;box-shadow:0 0 0 3px #7c6cff1f}.ld-ai-input>svg{color:var(--l-accent-bright);flex-shrink:0}.ld-ai-input-text{flex:1;font-size:13.5px;line-height:1.3;min-height:18px;display:flex;align-items:center;white-space:nowrap;overflow:hidden}.ld-ai-ph{color:var(--l-faint)}.ld-ai-caret{width:1.5px;height:15px;margin-left:2px;background:var(--l-accent-bright);opacity:0}.ld-ai-demo--typing .ld-ai-caret,.ld-ai-demo--thinking .ld-ai-caret{animation:ld-ai-caret .85s steps(1) infinite}@keyframes ld-ai-caret{0%,60%{opacity:1}61%,to{opacity:0}}.ld-ai-send{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--l-accent);color:#fff;flex-shrink:0;opacity:.4;transition:opacity .3s,transform .3s}.ld-ai-demo--thinking .ld-ai-send{opacity:1;animation:ld-ai-send-pulse .9s ease-in-out infinite}@keyframes ld-ai-send-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.ld-bento{margin-top:52px;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.ld-tile{position:relative;border:1px solid var(--l-line);border-radius:18px;padding:24px;background:var(--l-card);display:flex;flex-direction:column;overflow:hidden;transition:border-color .25s,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}.ld-tile:hover{border-color:#7c6cff66;transform:translateY(-4px);box-shadow:0 24px 60px -28px #7c6cff59}.ld-tile--0{grid-column:span 4}.ld-tile--1,.ld-tile--2{grid-column:span 2}.ld-tile--3{grid-column:span 4}.ld-tile--4,.ld-tile--5{grid-column:span 3}.ld-reveal .ld-tile{opacity:0;transform:translateY(22px)}.ld-reveal.is-in .ld-tile{opacity:1;transform:none;transition:opacity .65s ease,transform .65s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .35s ease}.ld-reveal.is-in .ld-tile:nth-child(2){transition-delay:.08s,.08s,0s,0s}.ld-reveal.is-in .ld-tile:nth-child(3){transition-delay:.16s,.16s,0s,0s}.ld-reveal.is-in .ld-tile:nth-child(4){transition-delay:.24s,.24s,0s,0s}.ld-reveal.is-in .ld-tile:nth-child(5){transition-delay:.32s,.32s,0s,0s}.ld-reveal.is-in .ld-tile:nth-child(6){transition-delay:.4s,.4s,0s,0s}.ld-tile-title{margin:18px 0 0;font-size:16px;font-weight:650}.ld-tile-desc{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--l-dim)}.bv{position:relative;height:130px;border-radius:12px;background:var(--l-bg2);border:1px solid var(--l-line);overflow:hidden;flex-shrink:0}.bv-cal{background-image:linear-gradient(to right,var(--l-line) 1px,transparent 1px);background-size:19% 100%;background-position:2% 0}.bv-cal b{position:absolute;border-radius:5px;background:#7c6cff61;border-left:2px solid var(--l-accent)}.bv-cal b.bv-c2{background:#ffb86b42;border-left-color:var(--l-warm)}.bv-cal b.bv-c3{background:#5fd4b03d;border-left-color:var(--l-teal)}.bv-cal-now{position:absolute;left:0;right:0;height:1.5px;background:#ff6b6b;box-shadow:0 0 10px #ff6b6bb3;animation:bv-now 9s linear infinite;z-index:2}.bv-cal-now:before{content:"";position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#ff6b6b}@keyframes bv-now{0%{top:8%}to{top:92%}}.bv-buf{display:flex;flex-direction:column;justify-content:center;gap:9px;padding:0 22%}.bv-buf-card{height:22px;border-radius:6px;background:var(--l-card);border:1px solid var(--l-line-strong);border-left:3px solid var(--l-accent)}.bv-buf-card:nth-child(2){border-left-color:var(--l-warm);width:88%}.bv-buf-card:nth-child(3){border-left-color:var(--l-teal);width:72%}.bv-buf-fly{animation:bv-fly 4.5s cubic-bezier(.5,0,.6,1) infinite}@keyframes bv-fly{0%,55%{transform:none;opacity:1}75%{transform:translate(120%) translateY(-14px) rotate(4deg);opacity:0}76%{transform:translate(-40%) translateY(6px);opacity:0}92%,to{transform:none;opacity:1}}.bv-spark{display:flex;align-items:center;justify-content:center;color:var(--l-accent-bright)}.bv-spark svg{animation:bv-spark 2.6s ease-in-out infinite}.bv-spark:before{content:"";position:absolute;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,rgba(124,108,255,.35),transparent 70%);animation:bv-spark-glow 2.6s ease-in-out infinite}@keyframes bv-spark{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.18) rotate(12deg)}}@keyframes bv-spark-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.bv-kan{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}.bv-kan-col{border:1px dashed var(--l-line-strong);border-radius:8px;padding:7px;display:flex;flex-direction:column;gap:6px}.bv-kan-col i{height:14px;border-radius:4px;background:var(--l-line)}.bv-kan-hop{position:absolute;top:21px;left:21px;width:calc((100% - 28px - 20px) / 3 - 14px);height:14px;border-radius:4px;background:var(--l-accent);box-shadow:0 4px 14px #7c6cff80;animation:bv-hop 6s ease-in-out infinite}@keyframes bv-hop{0%,22%{transform:translate(0) translateY(46px)}33%,55%{transform:translate(calc(100% + 24px)) translateY(23px)}66%,88%{transform:translate(calc(200% + 48px)) translateY(0)}to{transform:translate(0) translateY(46px)}}.bv-timer{display:flex;align-items:center;justify-content:center}.bv-timer-ring{position:absolute;width:86px;height:86px;border-radius:50%;background:conic-gradient(var(--l-accent) 0deg 270deg,var(--l-line) 270deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));animation:bv-ring 8s linear infinite}@keyframes bv-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bv-timer-label{font-family:var(--l-mono);font-size:17px;font-weight:600;letter-spacing:.04em;color:var(--l-text);font-variant-numeric:tabular-nums}.bv-sync{display:flex;align-items:center;justify-content:center}.bv-sync-core{width:12px;height:12px;border-radius:50%;background:var(--l-accent-bright);box-shadow:0 0 16px #7c6cffcc;z-index:1}.bv-sync-ring{position:absolute;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--l-accent);animation:bv-radar 3s ease-out infinite}.bv-sync-ring--late{animation-delay:1.5s}@keyframes bv-radar{0%{transform:scale(1);opacity:.9}to{transform:scale(9);opacity:0}}.ld-show{margin-top:56px;display:flex;flex-direction:column;gap:120px}.ld-show-item{display:grid;grid-template-columns:4fr 7fr;gap:56px;align-items:center}.ld-show-item:nth-child(2n){grid-template-columns:7fr 4fr}.ld-show-item:nth-child(2n) .ld-show-text{order:2}.ld-show-item:nth-child(2n) .ld-shot{order:1}.ld-pricing{margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:860px}.ld-plan{border:1px solid var(--l-line);border-radius:18px;padding:30px;background:var(--l-card);display:flex;flex-direction:column;transition:border-color .25s}.ld-plan:hover{border-color:var(--l-line-strong)}.ld-plan--pro{position:relative;overflow:hidden;border-color:#7c6cff73;box-shadow:0 24px 70px -30px #7c6cff66}.ld-plan--pro:hover{border-color:var(--l-accent)}.ld-plan--pro:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--l-accent),transparent)}.ld-plan-name{font-family:var(--l-mono);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--l-dim)}.ld-plan--pro .ld-plan-name{color:var(--l-accent-bright)}.ld-plan-price{margin-top:12px;display:flex;align-items:baseline;gap:8px}.ld-plan-amount{font-size:40px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ld-plan-period{font-size:14px;color:var(--l-dim)}.ld-plan-features{list-style:none;margin:24px 0 28px;padding:0;display:flex;flex-direction:column;gap:11px;flex:1}.ld-plan-features li{display:flex;align-items:baseline;gap:10px;font-size:14px;line-height:1.45;color:var(--l-dim)}.ld-plan--pro .ld-plan-features li{color:var(--l-text)}.ld-plan-features svg{flex-shrink:0;color:var(--l-accent-bright);transform:translateY(1px)}.ld-plan-cta{width:100%;padding:12px;font-size:14px;justify-content:center}.ld-plan-note{margin:13px 0 0;font-size:12.5px;line-height:1.5;color:var(--l-faint);text-align:center}.ld-section--faq{max-width:820px}.ld-faq{list-style:none;margin:44px 0 0;padding:0}.ld-faq-item{border-bottom:1px solid var(--l-line)}.ld-faq-item:first-child{border-top:1px solid var(--l-line)}.ld-faq-q{width:100%;display:flex;align-items:baseline;gap:18px;background:none;border:none;text-align:left;font-size:15.5px;font-weight:600;color:var(--l-text);padding:20px 2px;cursor:pointer;transition:color .2s}.ld-faq-q:hover{color:var(--l-accent-bright)}.ld-faq-num{font-family:var(--l-mono);font-size:12px;color:var(--l-faint);flex-shrink:0}.ld-faq-qtext{flex:1}.ld-faq-icon{font-size:20px;font-weight:400;color:var(--l-faint);transition:transform .25s,color .2s;flex-shrink:0}.ld-faq-item.is-open .ld-faq-icon{transform:rotate(45deg);color:var(--l-accent-bright)}.ld-faq-a-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease}.ld-faq-item.is-open .ld-faq-a-wrap{grid-template-rows:1fr}.ld-faq-a-wrap>.ld-faq-a{overflow:hidden}.ld-faq-a{margin:0;padding:0 40px 0 42px;font-size:14.5px;line-height:1.65;color:var(--l-dim);opacity:0;transition:opacity .28s ease,padding-bottom .32s ease}.ld-faq-item.is-open .ld-faq-a{opacity:1;padding-bottom:20px}.ld-final{position:relative;text-align:center;padding-top:170px;padding-bottom:60px}.ld-final:before{content:"FlexPlan";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);font-size:clamp(90px,16vw,230px);font-weight:800;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);pointer-events:none;white-space:nowrap;z-index:-1}.ld-final-title{margin:0 auto 34px;max-width:640px;font-size:clamp(30px,4.6vw,52px);font-weight:780;letter-spacing:-.03em;line-height:1.08}.ld-footer{margin-top:130px;padding-top:30px;padding-bottom:38px;border-top:1px solid var(--l-line);display:flex;align-items:center;gap:22px;font-size:13px;color:var(--l-faint)}.ld-footer-link{background:none;border:none;padding:0;font-size:13px;color:var(--l-faint);cursor:pointer;transition:color .2s}.ld-footer-link:hover{color:var(--l-text)}.ld-footer-inn{margin-left:auto}@media(prefers-reduced-motion:reduce){.ld *,.ld *:before,.ld *:after{animation:none!important;transition:none!important}.ld-mask-in{transform:none}.ld-reveal,.ld-reveal .ld-tile{opacity:1;transform:none}.ld-wipe.ld-reveal{clip-path:none}}@media(max-width:980px){.ld-tile--0,.ld-tile--3{grid-column:span 6}.ld-tile--1,.ld-tile--2,.ld-tile--4,.ld-tile--5{grid-column:span 3}.ld-ai{grid-template-columns:1fr;gap:32px}.ld-ai-demo{max-width:520px}.ld-show-item,.ld-show-item:nth-child(2n){grid-template-columns:1fr;gap:28px}.ld-show-item:nth-child(2n) .ld-show-text{order:1}.ld-show-item:nth-child(2n) .ld-shot{order:2}.ld-pricing{max-width:560px}}@media(max-width:640px){.ld-section{padding-top:96px}.ld-hero{padding-top:52px}.ld-bento{gap:10px}.ld-tile--1,.ld-tile--2,.ld-tile--4,.ld-tile--5{grid-column:span 6}.ld-pricing{grid-template-columns:1fr}.ld-btn-ghost.ld-btn--lg,.ld-header .ld-btn-ghost{display:none}.ld-stage{margin-top:48px}.ld-float{display:none}.ld-marquee{margin-top:72px}.ld-show{gap:72px}.ld-faq-a{padding-left:30px;padding-right:16px}.ld-footer{flex-wrap:wrap;gap:10px 22px}.ld-footer-inn{margin-left:0;width:100%}}
