:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:3rem;--text-5xl:4rem;--text-6xl:5rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--z-base:0;--z-widget:10;--z-popover:100;--z-modal:1000;--transition-fast:.15s cubic-bezier(.2, 0, 0, 1);--transition-base:.2s cubic-bezier(.2, 0, 0, 1);--transition-slow:.4s cubic-bezier(.2, 0, 0, 1);--shadow-sm:0 1px 3px #00000005, 0 1px 2px #00000008;--shadow-md:0 2px 8px #0000000a, 0 1px 3px #00000008;--shadow-lg:0 8px 16px #0000000f, 0 2px 6px #0000000a;--shadow-xl:0 16px 32px #00000014, 0 4px 12px #0000000d}[data-lum=dark],:root{--fg:#fffffffa;--fg-dim:#ffffffbf;--fg-dimmer:#ffffff8c;--surface:#ffffff14;--surface-strong:#ffffff1f;--border:#ffffff1f;--accent:#4a90ff;--accent-hover:#6ba3ff;--prio-low:#10b981;--prio-med:#f59e0b;--prio-high:#ef4444;--due-soon:#f59e0b;--due-over:#ef4444;--focus-ring:0 0 0 2px #fffc, 0 0 0 4px #3b82f680}[data-lum=light]{--fg:#000000eb;--fg-dim:#000000a6;--fg-dimmer:#00000073;--surface:#0000000a;--surface-strong:#00000014;--border:#0000001a;--accent:#1d4ed8;--accent-hover:#2563eb;--prio-low:#059669;--prio-med:#d97706;--prio-high:#dc2626;--due-soon:#d97706;--due-over:#dc2626;--focus-ring:0 0 0 2px #0009, 0 0 0 4px #2563eb80}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-base:0s;--transition-slow:0s}}[data-reduced-motion=true]{--transition-fast:0s!important;--transition-base:0s!important;--transition-slow:0s!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;font-size:var(--text-base);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}:focus{outline:none}:focus-visible{box-shadow:var(--focus-ring);outline:none}.background{z-index:-1;background-color:#1a1a1a;background-position:50%;background-size:cover;position:fixed;inset:0}.background:before{content:"";pointer-events:none;background:radial-gradient(#0000 0%,#00000026 100%),linear-gradient(#0000001a 0%,#0000 20% 80%,#0003 100%);position:absolute;inset:0}#app{width:100%;height:100%;padding:var(--space-6);flex-direction:column;display:flex;position:relative}@media (width>=600px){#app{padding:var(--space-8)}}.header{top:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-6);z-index:var(--z-widget);padding:0 var(--space-6);pointer-events:none;flex-direction:row;display:flex;position:fixed;left:0;right:0}.header>*{pointer-events:auto}.header-left{align-items:center;gap:var(--space-4);flex-direction:row;display:flex}.header-right{flex-direction:row;flex:1;justify-content:flex-end;align-items:center;max-width:50%;display:flex}@media (width>=600px){.header{top:var(--space-6);padding:0 var(--space-8)}.header-left{gap:var(--space-6)}}@media (width<=1024px){.header{align-items:center;gap:var(--space-2);flex-direction:column}.header-left{justify-content:center}.header-right{justify-content:center;max-width:100%}}.clock{font-size:1.125rem;font-weight:var(--font-medium);letter-spacing:-.02em;color:var(--fg);font-variant-numeric:tabular-nums;margin:0;line-height:1}@media (width>=600px){.clock{font-size:1.25rem}}.date{font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--fg-dim);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);letter-spacing:.01em;background:0 0;border:none}.date:hover{background:var(--surface);color:var(--fg)}.date[aria-expanded=true]{background:var(--surface-strong)}.greeting{display:none}.main{width:100%;max-width:100%;padding:60px var(--space-4) 120px var(--space-4);flex:1;justify-content:center;align-items:flex-start;margin:0 auto;display:flex;overflow:hidden}@media (width>=600px){.main{padding:70px var(--space-8) 120px var(--space-8)}}@media (width>=1200px){.main{padding:70px var(--space-12) 120px var(--space-12)}}.footer{justify-content:center;align-items:center;display:flex}.widget{background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(32px)saturate(1.3);backdrop-filter:blur(32px)saturate(1.3);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md);border:none}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.widget{background:var(--surface-strong)}}button{font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg);background:var(--surface);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;transition:all var(--transition-fast);border:none}button:hover{background:var(--surface-strong);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}input,textarea{font-family:inherit;font-size:var(--text-base);color:var(--fg);border:none;border-bottom:1.5px solid var(--border);padding:var(--space-3) var(--space-1);transition:all var(--transition-fast);background:0 0;border-radius:0}input:focus,textarea:focus{border-bottom-color:var(--accent);background:0 0;outline:none}input::placeholder,textarea::placeholder{color:var(--fg-dimmer);font-weight:var(--font-light)}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.popover{background:color-mix(in srgb, var(--surface-strong) 98%, transparent);-webkit-backdrop-filter:blur(48px)saturate(1.4);backdrop-filter:blur(48px)saturate(1.4);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:90vw;max-height:90vh;z-index:var(--z-popover);border:none;animation:.2s cubic-bezier(.2,0,0,1) popoverIn;position:fixed;overflow:visible}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.popover{background:var(--surface-strong)}}@keyframes popoverIn{0%{opacity:0;transform:scale(.96)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.context-menu{min-width:180px;padding:var(--space-2)}.context-menu-items{gap:var(--space-1);flex-direction:column;display:flex}.context-menu-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--fg);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;width:100%;display:flex}.context-menu-item:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.context-menu-item:disabled{opacity:.4;cursor:not-allowed}.context-menu-item:focus{background:color-mix(in srgb, var(--accent) 15%, transparent);box-shadow:inset 0 0 0 1px var(--accent);outline:none}.context-menu-icon{font-size:var(--text-base);text-align:center;flex-shrink:0;width:20px}.context-menu-label{flex:1}.context-menu-divider{background:var(--border);height:1px;margin:var(--space-1) 0}.datepicker-popover{padding:var(--space-4)}.datepicker{gap:var(--space-3);flex-direction:column;min-width:280px;display:flex}.datepicker-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.datepicker-month{text-align:center;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--fg);flex:1}.datepicker-nav{border-radius:var(--radius-md);width:32px;height:32px;color:var(--fg-dim);font-size:var(--text-xl);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.datepicker-nav:hover{background:var(--surface);color:var(--fg);transform:scale(1.1)}.datepicker-nav:focus{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.datepicker-weekdays{gap:var(--space-1);margin-bottom:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.datepicker-weekday{text-align:center;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--fg-dim);padding:var(--space-1)}.datepicker-grid{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.datepicker-day{aspect-ratio:1;border-radius:var(--radius-md);color:var(--fg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.datepicker-day:hover:not(:disabled){background:var(--surface);transform:scale(1.05)}.datepicker-day:focus{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.datepicker-day:disabled{opacity:.3;cursor:not-allowed}.datepicker-day-other{color:var(--fg-dimmer);opacity:.5}.datepicker-day-today{font-weight:var(--font-bold);color:var(--accent)}.datepicker-day-selected{background:var(--accent);color:#fff}.datepicker-day-selected:hover{background:var(--accent-hover);transform:scale(1.05)}.datepicker-time{align-items:center;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex}.datepicker-time-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg)}.datepicker-time-input{width:48px;padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg);font-size:var(--text-sm);font-weight:var(--font-medium);text-align:center;transition:all var(--transition-fast)}.datepicker-time-input:focus{border-color:var(--accent);background:var(--surface-strong);outline:none}.datepicker-time-input::placeholder{color:var(--fg-dimmer)}.datepicker-time-separator{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg-dim)}.datepicker-actions{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);display:flex}.datepicker-action{padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);color:var(--fg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);border:none;flex:1}.datepicker-action:hover{background:var(--surface-strong);color:var(--accent);transform:translateY(-1px)}.datepicker-action:focus{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.tasks-wrapper{width:100%;max-width:1800px;height:100%;padding:0 var(--space-4);flex-direction:column;margin:0 auto;display:flex}@media (width<=599px){.tasks-wrapper{padding-top:var(--space-3)}}.tasks-header{margin-bottom:var(--space-4);padding:0 var(--space-4) var(--space-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}@media (width<=599px){.tasks-header{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column}}.tasks-title-group{align-items:center;gap:var(--space-3);display:flex}.tasks-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--fg);margin:0}.pending-count{min-width:28px;height:28px;padding:0 var(--space-2);background:var(--surface);color:var(--fg-dim);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-full);justify-content:center;align-items:center;display:flex}.pending-count-inline{font-size:var(--text-lg);font-weight:var(--font-light);color:var(--fg-dim);margin-left:var(--space-1)}.view-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--fg);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex}.view-toggle:hover{background:var(--surface-strong);border-color:var(--accent);color:var(--accent)}.tasks-controls{gap:var(--space-2);align-items:center;display:flex}@media (width<=599px){.tasks-controls{justify-content:flex-start;width:100%}}.calendar-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--fg);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex}.calendar-toggle:hover{background:var(--surface-strong);border-color:var(--accent);color:var(--accent)}.sort-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--fg);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex}.sort-toggle:hover{background:var(--surface-strong);border-color:var(--accent);color:var(--accent)}.drag-handle{color:var(--fg-dimmer);cursor:grab;opacity:.4;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;margin-left:-4px;display:flex}.task-item:hover .drag-handle{opacity:1;color:var(--fg-dim)}.task-item.dragging{opacity:.5;background:var(--surface);box-shadow:var(--shadow-lg);transform:scale(1.02)}.task-item.dragging .drag-handle{cursor:grabbing;opacity:1}.task-item[draggable=true]{cursor:grab;-webkit-user-select:none;user-select:none}.task-item[draggable=true]:active{cursor:grabbing}.tasks-list{flex-direction:column;flex:1;width:100%;max-width:100%;margin:0 auto;display:flex}.task-input-wrapper{margin-bottom:var(--space-4)}.task-input{width:100%;font-size:1.375rem;font-weight:var(--font-light);padding:var(--space-4) var(--space-2);border:none;border-bottom:2px solid var(--border);color:var(--fg);transition:all var(--transition-fast);letter-spacing:-.01em;background:0 0;border-radius:0}.task-input:focus{border-bottom-color:var(--accent);background:0 0;border-bottom-width:2px;outline:none}.task-input::placeholder{color:var(--fg-dimmer);font-weight:var(--font-light)}.task-list{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.empty-state{text-align:center;color:var(--fg-dim);padding:var(--space-8) var(--space-4);font-size:var(--text-sm)}.task-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--border);transition:all var(--transition-fast);background:0 0;border-radius:0;display:flex}.task-item:hover{background:var(--surface);padding-left:var(--space-4);padding-right:var(--space-4)}.task-item:focus-within{background:var(--surface);box-shadow:none;border-bottom-color:var(--accent)}.task-checkbox{appearance:none;aspect-ratio:1;border:2px solid color-mix(in srgb, var(--border) 80%, transparent);cursor:pointer;background:var(--bg);box-sizing:border-box;border-radius:6px;flex-grow:0;flex-shrink:0;align-self:center;width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;max-height:20px;margin:0;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.task-checkbox:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--bg))}.task-checkbox:checked{background:var(--accent);border-color:var(--accent)}.task-checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.task-checkbox:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent);outline:none}.task-checkbox:checked:hover{background:color-mix(in srgb, var(--accent) 90%, #fff);border-color:color-mix(in srgb, var(--accent) 90%, #fff)}.task-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.task-text{color:var(--fg);word-break:break-word;font-size:.9375rem;font-weight:var(--font-normal);letter-spacing:-.005em;text-align:left;cursor:pointer;width:100%;transition:color var(--transition-fast);background:0 0;border:none;padding:0;font-family:inherit;line-height:1.4}.task-text:hover{color:var(--accent)}.task-edit-input{color:var(--fg);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);width:100%;font-family:inherit;font-size:1.0625rem;font-weight:var(--font-normal);letter-spacing:-.005em;line-height:1.5}.task-edit-input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent);outline:none}.task-item.task-done{align-items:center}.task-done .task-text{color:var(--fg-dim);text-decoration:line-through}.task-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.task-meta-right{align-items:center;gap:var(--space-2);margin-left:auto;margin-right:var(--space-2);flex-shrink:0;display:flex}.task-deadline,.task-priority-badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);background:color-mix(in srgb, var(--surface-strong) 80%, transparent);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);display:inline-flex}.task-deadline:hover,.task-priority-badge:hover{filter:brightness(1.1);transform:scale(1.05)}.task-deadline{color:var(--fg-dim);border:1px solid var(--border)}.task-due-soon .task-deadline{color:var(--due-soon);border-color:var(--due-soon);background:color-mix(in srgb, var(--due-soon) 15%, transparent)}.task-due-today .task-deadline{color:var(--due-soon);border-color:var(--due-soon);background:color-mix(in srgb, var(--due-soon) 20%, transparent);font-weight:var(--font-semibold)}.task-overdue .task-deadline{color:var(--due-over);border-color:var(--due-over);background:color-mix(in srgb, var(--due-over) 20%, transparent);font-weight:var(--font-semibold)}.task-priority-badge{border:1px solid #0000}.task-priority-badge.task-priority-low{color:var(--prio-low);border-color:var(--prio-low);background:color-mix(in srgb, var(--prio-low) 15%, transparent)}.task-priority-badge.task-priority-medium{color:var(--prio-med);border-color:var(--prio-med);background:color-mix(in srgb, var(--prio-med) 15%, transparent)}.task-priority-badge.task-priority-high{color:var(--prio-high);border-color:var(--prio-high);background:color-mix(in srgb, var(--prio-high) 15%, transparent)}.task-edit-input{width:100%;font-size:var(--text-base);padding:var(--space-1) var(--space-2);background:var(--surface-strong);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--fg)}.task-actions{gap:var(--space-2);opacity:0;transition:opacity var(--transition-fast);display:flex}.task-item:hover .task-actions,.task-item:focus-within .task-actions{opacity:1}.task-menu,.task-edit,.task-delete{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--fg-dim);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-lg);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:flex}.task-menu:hover,.task-edit:hover{background:var(--surface-strong);border-color:var(--border);color:var(--fg)}.task-delete:hover{background:color-mix(in srgb, var(--due-over) 20%, transparent);border-color:var(--due-over);color:var(--due-over)}.completed-section{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.completed-toggle{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--fg-dim);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;display:flex}.completed-toggle:hover{background:var(--surface);color:var(--fg)}.toggle-icon{font-size:var(--text-xs);transition:transform var(--transition-fast)}.completed-list{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.completed-list.collapsed{display:none}.undo-toast{bottom:var(--space-8);align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:color-mix(in srgb, var(--surface-strong) 98%, transparent);-webkit-backdrop-filter:blur(48px)saturate(1.4);backdrop-filter:blur(48px)saturate(1.4);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-modal);border:none;min-width:300px;max-width:90vw;animation:.3s cubic-bezier(.2,0,0,1) slideUp;display:flex;position:fixed;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(24px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.undo-toast span{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.undo-btn{padding:var(--space-2) var(--space-4);background:var(--accent);color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;flex-shrink:0}.undo-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (width<=600px){.tasks-list{max-width:100%}.task-item{padding:var(--space-1) var(--space-2)}.task-actions{opacity:1}}.view-switcher{top:var(--space-4);right:var(--space-4);align-items:center;gap:var(--space-2);z-index:10;display:flex;position:absolute}.view-btn{background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(32px)saturate(1.3);backdrop-filter:blur(32px)saturate(1.3);width:40px;height:40px;color:var(--fg-dim);font-size:var(--text-lg);cursor:pointer;transition:all var(--transition-fast);opacity:.7;box-shadow:var(--shadow-sm);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.view-btn{background:var(--surface-strong)}}.view-btn:hover{color:var(--fg);background:color-mix(in srgb, var(--surface-strong) 95%, transparent);opacity:1;box-shadow:var(--shadow-md);transform:scale(1.05)}.view-btn.active{opacity:1}.view-btn:focus{box-shadow:var(--focus-ring);outline:none}.view-btn:not(.active){display:none}.tasks-kanban{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.kanban-header{padding:var(--space-2) var(--space-4) var(--space-1);flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.add-column-btn-top{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg-dim);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);display:inline-flex}.add-column-btn-top:hover{background:var(--surface);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.kanban-board{gap:var(--space-4);padding:0 var(--space-2) var(--space-2);flex:1;display:flex;overflow-x:auto}.kanban-column{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:280px;padding:var(--space-3);flex-direction:column;flex:1 1 0;height:100%;display:flex}.column-header{margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.column-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;flex:1;width:100%;margin:0;font-family:inherit}.column-title:hover{background:var(--surface-strong)}.column-title-input{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg);padding:var(--space-1) var(--space-2);background:var(--surface-strong);border:1px solid var(--accent);border-radius:var(--radius-sm);outline:none;flex:1;margin:0}.column-header-actions{align-items:center;gap:var(--space-2);display:flex}.column-rename-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--fg-dim);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);opacity:0;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.column-header:hover .column-rename-btn{opacity:1}.column-rename-btn:hover{background:var(--surface-strong);color:var(--fg)}.column-count{min-width:24px;height:24px;padding:0 var(--space-2);background:var(--surface-strong);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--fg-dim);border-radius:12px;justify-content:center;align-items:center;display:flex}.column-menu-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--fg-dim);cursor:pointer;font-size:var(--text-lg);transition:all var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.column-menu-btn:hover{background:var(--surface-strong);border-color:var(--border);color:var(--fg)}.column-add-task{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.column-task-input{width:100%;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);background:var(--surface);border:none;border-bottom:1.5px solid var(--border);color:var(--fg);transition:all var(--transition-fast);border-radius:0}.column-task-input:focus{background:var(--surface-strong);border-bottom-color:var(--accent);outline:none}.column-task-input::placeholder{color:var(--fg-dimmer);font-weight:var(--font-light)}.column-cards,.column-tasks{gap:var(--space-3);min-height:60px;padding:var(--space-1);margin:calc(var(--space-1) * -1);flex-direction:column;flex:0 auto;display:flex;overflow-y:auto}.column-empty{height:100px;color:var(--fg-dimmer);font-size:var(--text-sm);border:2px dashed var(--border);border-radius:var(--radius-sm);text-align:center;justify-content:center;align-items:center;display:flex}.kanban-card,.task-card{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-md);cursor:grab;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;display:flex;position:relative}.kanban-card:hover,.task-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kanban-card:focus,.task-card:focus{box-shadow:var(--focus-ring);outline:none}.kanban-card.dragging,.task-card.dragging{opacity:.5;cursor:grabbing}.kanban-card.card-done,.task-card.card-done{opacity:.7}.kanban-card.card-done .card-text,.task-card.card-done .task-card-text{color:var(--fg-dim);text-decoration:line-through}.card-content,.task-card-content{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.card-text,.task-card-text{font-size:var(--text-sm);color:var(--fg);word-break:break-word;line-height:1.6;font-weight:var(--font-normal);cursor:pointer;transition:color var(--transition-fast);text-align:left;background:0 0;border:none;width:100%;margin:0;padding:0;font-family:inherit}.task-card-text:hover{color:var(--accent)}.task-card-edit-input{width:100%;font-size:var(--text-sm);padding:var(--space-1) var(--space-2);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--fg);line-height:1.6}.task-card-edit-input:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.task-card-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.task-card-priority,.task-card-deadline{padding:2px var(--space-2);background:color-mix(in srgb, var(--surface) 80%, transparent);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;border:1px solid var(--border);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:4px;display:inline-flex}.task-card-priority:hover,.task-card-deadline:hover{filter:brightness(1.1);transform:scale(1.05)}.task-card-deadline{color:var(--fg-dim)}.task-card.task-priority-high{border-left:3px solid var(--priority-high)}.task-card.task-priority-medium{border-left:3px solid var(--priority-medium)}.task-card.task-priority-low{border-left:3px solid var(--priority-low)}.task-card-priority.task-priority-high{color:var(--priority-high);border-color:var(--priority-high);background:color-mix(in srgb, var(--priority-high) 15%, transparent)}.task-card-priority.task-priority-medium{color:var(--priority-medium);border-color:var(--priority-medium);background:color-mix(in srgb, var(--priority-medium) 15%, transparent)}.task-card-priority.task-priority-low{color:var(--priority-low);border-color:var(--priority-low);background:color-mix(in srgb, var(--priority-low) 15%, transparent)}.task-card.task-due-soon .task-card-deadline{color:var(--due-soon);border-color:var(--due-soon);background:color-mix(in srgb, var(--due-soon) 15%, transparent)}.task-card.task-due-today .task-card-deadline{color:var(--due-soon);border-color:var(--due-soon);background:color-mix(in srgb, var(--due-soon) 20%, transparent);font-weight:var(--font-semibold)}.task-card.task-overdue .task-card-deadline{color:var(--overdue);border-color:var(--overdue);background:color-mix(in srgb, var(--overdue) 20%, transparent);font-weight:var(--font-semibold)}.card-edit-input{width:100%;font-size:var(--text-sm);padding:var(--space-1) var(--space-2);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--fg)}.card-actions,.task-card-actions{gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;display:flex}.kanban-card:hover .card-actions,.kanban-card:focus .card-actions,.task-card:hover .task-card-actions,.task-card:focus .task-card-actions{opacity:1}.card-edit,.card-delete,.task-card-delete{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--fg-dim);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-base);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.card-edit:hover,.task-card-delete:hover{background:var(--surface);border-color:var(--border);color:var(--fg)}.card-delete:hover,.task-card-delete:hover{background:color-mix(in srgb, var(--due-over) 20%, transparent);border-color:var(--due-over);color:var(--due-over)}@media (width<=720px){.kanban-board{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.kanban-column,.add-column{scroll-snap-align:start;flex:0 0 calc(100vw - var(--space-8))}.card-actions{opacity:1}}.quick-links{bottom:var(--space-6);z-index:var(--z-widget);max-width:calc(100vw - 48px);position:fixed;left:50%;transform:translate(-50%)}.links-list{gap:var(--space-2);padding:var(--space-2);background:color-mix(in srgb, var(--surface) 50%, transparent);-webkit-backdrop-filter:blur(40px)saturate(1.4);backdrop-filter:blur(40px)saturate(1.4);border-radius:var(--radius-lg);box-shadow:none;scrollbar-width:none;flex-direction:row;display:flex;overflow-x:auto}.links-list::-webkit-scrollbar{display:none}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.links-list{background:color-mix(in srgb, var(--surface) 60%, transparent)}}.links-empty{font-size:var(--text-xs);color:var(--fg-dimmer);margin:0}.link-item{align-items:center;gap:var(--space-1);padding:var(--space-2);background:color-mix(in srgb, var(--surface) 40%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);color:var(--fg);cursor:pointer;transition:all var(--transition-fast);opacity:.7;border:none;flex-direction:column;width:52px;text-decoration:none;display:flex;position:relative}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.link-item{background:color-mix(in srgb, var(--surface) 60%, transparent)}}.link-item:hover{background:color-mix(in srgb, var(--surface-strong) 70%, transparent);opacity:1;box-shadow:none;transform:translateY(-2px)}.link-item:focus{box-shadow:var(--focus-ring);outline:none}.link-item.dragging{opacity:.5}.link-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative;overflow:hidden}.link-letter{font-size:var(--text-lg);font-weight:var(--font-medium);color:#fff;z-index:1}.link-favicon{object-fit:cover;z-index:2;width:100%;height:100%;position:absolute;inset:0}.link-label{font-size:var(--text-xs);color:var(--fg);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.link-delete{background:var(--due-over);color:#fff;width:20px;height:20px;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;opacity:0;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);border:1.5px solid #fff3;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.link-item:hover .link-delete,.link-item:focus .link-delete{opacity:1}.link-delete:hover{box-shadow:var(--shadow-md);transform:scale(1.15)}.link-add{-webkit-backdrop-filter:none;backdrop-filter:none;border:1.5px dashed var(--border);border-radius:var(--radius-md);width:52px;height:52px;color:var(--fg-dimmer);cursor:pointer;transition:all var(--transition-fast);opacity:.6;background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.link-add:hover{background:color-mix(in srgb, var(--surface) 60%, transparent);border-color:var(--accent);color:var(--fg);opacity:1;border-style:solid;transform:translateY(-4px)}.link-add-icon{font-size:var(--text-2xl);font-weight:var(--font-light)}@media (width<=600px){.quick-links{bottom:var(--space-4);max-width:calc(100vw - 32px)}.links-list{padding:var(--space-2);gap:var(--space-2)}}.settings-toggle{bottom:var(--space-6);left:var(--space-6);z-index:var(--z-widget);background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(32px)saturate(1.3);backdrop-filter:blur(32px)saturate(1.3);width:52px;height:52px;color:var(--fg);font-size:var(--text-2xl);cursor:pointer;transition:all var(--transition-fast);opacity:.7;box-shadow:var(--shadow-md);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed}@media (width>=600px){.settings-toggle{bottom:var(--space-8);left:var(--space-8)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.settings-toggle{background:var(--surface-strong)}}.settings-toggle:hover{opacity:1;background:color-mix(in srgb, var(--surface-strong) 95%, transparent);box-shadow:var(--shadow-lg);transform:rotate(90deg)scale(1.05)}.settings-toggle:focus{box-shadow:var(--focus-ring);outline:none}.settings-sheet{width:100%;max-width:420px;z-index:var(--z-modal);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(48px)saturate(1.4);backdrop-filter:blur(48px)saturate(1.4);box-shadow:var(--shadow-xl);border-left:none;animation:.3s cubic-bezier(.2,0,0,1) slideInRight;position:fixed;top:0;bottom:0;right:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.settings-sheet{background:var(--bg)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.settings-content{flex-direction:column;height:100%;display:flex;overflow:hidden}.settings-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.settings-header h2{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--fg);margin:0}.settings-close{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--fg-dim);font-size:var(--text-3xl);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.settings-close:hover{background:var(--surface-strong);border-color:var(--border);color:var(--fg)}.settings-body{padding:var(--space-6);flex:1;overflow-y:auto}.settings-section{margin-bottom:var(--space-6)}.settings-section:last-child{margin-bottom:0}.settings-section h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg);margin:0 0 var(--space-3) 0}.settings-section label{margin-bottom:var(--space-3);display:block}.settings-section label:last-child{margin-bottom:0}.settings-section label>span{font-size:var(--text-sm);color:var(--fg-dim);margin-bottom:var(--space-2);display:block}.settings-section select,.settings-section input[type=text]{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);font-size:var(--text-sm);transition:all var(--transition-fast)}.settings-section select:focus,.settings-section input[type=text]:focus{border-color:var(--accent);background:var(--surface-strong);outline:none}.settings-section input[type=text]::placeholder{color:var(--fg-dimmer)}.checkbox-label{align-items:center;gap:var(--space-2);cursor:pointer;flex-direction:row!important;display:flex!important}.checkbox-label input[type=checkbox]{appearance:none;aspect-ratio:1;border:2px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg);box-sizing:border-box;flex-grow:0;flex-shrink:0;width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;max-height:20px;margin:0;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.checkbox-label input[type=checkbox]:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--bg))}.checkbox-label input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checkbox-label input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.checkbox-label input[type=checkbox]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent);outline:none}.checkbox-label input[type=checkbox]:checked:hover{background:color-mix(in srgb, var(--accent) 90%, #fff);border-color:color-mix(in srgb, var(--accent) 90%, #fff)}.checkbox-label span{font-size:var(--text-sm)!important;color:var(--fg)!important;margin:0!important}.settings-actions{gap:var(--space-2);flex-direction:column;display:flex}.btn-secondary,.btn-danger{width:100%;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary{background:var(--surface);color:var(--fg)}.btn-secondary:hover{background:var(--surface-strong);border-color:var(--accent)}.btn-danger{color:#ef4444;background:0 0;border-color:#ef4444}.btn-danger:hover{color:#fff;background:#ef4444}.about-text{font-size:var(--text-sm);color:var(--fg);margin:0 0 var(--space-3) 0;line-height:1.6}.about-text strong{font-weight:var(--font-semibold)}.settings-about{font-size:var(--text-sm);color:var(--fg);margin:0;line-height:1.8}.settings-about strong{font-weight:var(--font-semibold);color:var(--fg)}.about-link{color:#0074e8;font-weight:var(--font-medium);transition:all var(--transition-fast);text-decoration:none}.about-link:hover{color:#0056b3;text-decoration:underline}.about-credits{font-size:var(--text-xs);color:var(--fg-dim);margin:0;line-height:1.6}.about-credits a{color:#0074e8;transition:color var(--transition-fast);font-weight:var(--font-medium);text-decoration:none}.about-credits a:hover{color:#0056b3;text-decoration:underline}.donate-btn{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);margin-top:var(--space-4);color:#000;font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-md);transition:all var(--transition-fast);background:linear-gradient(135deg,#fd0 0%,#fbb034 100%);text-decoration:none;display:inline-flex;box-shadow:0 2px 8px #ffbb344d}.donate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffbb3466}.donate-btn svg{flex-shrink:0}@media (width<=600px){.settings-sheet{border-left:none;max-width:100%}.settings-toggle{bottom:var(--space-4);right:var(--space-4);width:44px;height:44px}.settings-header{padding:var(--space-4) var(--space-5)}.settings-body{padding:var(--space-5)}}@media (prefers-color-scheme:dark){.weather-card{background:color-mix(in srgb, var(--surface) 95%, transparent);border-color:color-mix(in srgb, var(--text) 15%, transparent)}}@media (width<=768px){.weather-widget{margin:0 auto var(--space-4);position:static;transform:none}.weather-compact{justify-content:center}.weather-card{left:50%;transform:translate(-50%)translateY(-8px)}.weather-compact:hover .weather-card{transform:translate(-50%)translateY(0)}}@media (width<=480px){.weather-card{min-width:200px;padding:var(--space-3)}.weather-card-stats{gap:var(--space-2)}}.quote-oneliner{text-align:right;width:100%;margin:0;padding:0}.quote-text-inline{font-size:var(--text-xs);color:var(--fg-dimmer);font-style:italic;font-weight:var(--font-light);opacity:.5;white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.4;overflow:hidden}.quote-text-inline:before,.quote-text-inline:after{content:"\""}@media (width<=1024px){.quote-oneliner{text-align:center;padding:0 var(--space-2)}.quote-text-inline{font-size:var(--text-xs)}}.weather-widget{z-index:var(--z-widget);position:relative}.weather-compact{align-items:center;gap:var(--space-2);padding:var(--space-2);color:var(--text);font-size:var(--text-sm);cursor:default;border-radius:var(--radius-md);background:0 0;border:none;font-weight:400;transition:background .2s;display:flex;position:relative}.weather-compact:hover{background:color-mix(in srgb, var(--surface) 50%, transparent)}.weather-compact.weather-error{cursor:pointer;opacity:.6}.weather-compact.weather-error:hover{opacity:1}.weather-temp{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.weather-card{top:calc(100% + var(--space-2));min-width:220px;padding:var(--space-4);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;border:1px solid color-mix(in srgb, var(--text) 10%, transparent);transition:all .2s;position:absolute;left:0;transform:translateY(-8px)}.weather-compact:hover .weather-card{opacity:1;visibility:visible;transform:translateY(0)}.weather-card-header{font-size:var(--font-size-xs);letter-spacing:.05em;color:var(--text-dim);margin-bottom:var(--space-2);font-weight:600}.weather-card-condition{font-size:var(--font-size-xl);color:var(--text);margin-bottom:var(--space-4);font-weight:500}.weather-card-stats{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid color-mix(in srgb, var(--text) 10%, transparent);grid-template-columns:repeat(3,1fr);display:grid}.weather-stat{text-align:center}.weather-stat-label{font-size:var(--font-size-xs);color:var(--text-dim);margin-bottom:var(--space-1)}.weather-stat-value{font-size:var(--font-size-lg);color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}@media (prefers-color-scheme:dark){.weather-card{background:color-mix(in srgb, var(--surface) 95%, transparent);border-color:color-mix(in srgb, var(--text) 15%, transparent)}}@media (width<=768px){.weather-widget{margin:0 auto var(--space-4);position:static;transform:none}.weather-compact{justify-content:center}.weather-card{left:50%;transform:translate(-50%)translateY(-8px)}.weather-compact:hover .weather-card{transform:translate(-50%)translateY(0)}}@media (width<=480px){.weather-card{min-width:200px;padding:var(--space-3)}.weather-card-stats{gap:var(--space-2)}}.weather-forecast{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb, var(--text) 10%, transparent);gap:var(--space-2);flex-direction:column;display:flex}.forecast-day{align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);grid-template-columns:40px 24px 1fr 40px;transition:background .2s;display:grid}.forecast-day:hover{background:color-mix(in srgb, var(--surface) 50%, transparent)}.forecast-day-name{font-size:var(--font-size-sm);color:var(--text-dim);font-weight:500}.forecast-temps{gap:var(--space-2);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;display:flex}.forecast-high{color:var(--text);font-weight:600}.forecast-low{color:var(--text-dim);font-weight:400}.forecast-rain{font-size:var(--font-size-xs);color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums}.modal-overlay.svelte-ta60gp{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.15s ease-out svelte-ta60gp-fadeIn;display:flex;position:fixed;inset:0}@keyframes svelte-ta60gp-fadeIn{0%{opacity:0}to{opacity:1}}.modal-content.svelte-ta60gp{background:var(--surface-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:480px;max-height:90vh;animation:.2s ease-out svelte-ta60gp-slideUp;overflow:hidden}@keyframes svelte-ta60gp-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header.svelte-ta60gp{padding:var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-header.svelte-ta60gp h3:where(.svelte-ta60gp){font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--fg);margin:0}.modal-close.svelte-ta60gp{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--fg-dim);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.modal-close.svelte-ta60gp:hover{background:var(--surface);color:var(--fg)}.modal-body.svelte-ta60gp{padding:var(--space-5)}.modal-field.svelte-ta60gp{margin-bottom:var(--space-4)}.modal-field.svelte-ta60gp:last-of-type{margin-bottom:var(--space-5)}.modal-field.svelte-ta60gp label:where(.svelte-ta60gp){font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg);margin-bottom:var(--space-2);display:block}.modal-field.svelte-ta60gp input:where(.svelte-ta60gp){width:100%;font-size:var(--text-base);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg);transition:all var(--transition-fast)}.modal-field.svelte-ta60gp input:where(.svelte-ta60gp):focus{border-color:var(--accent);background:var(--surface-strong);outline:none}.modal-field.svelte-ta60gp input:where(.svelte-ta60gp)::placeholder{color:var(--fg-dimmer)}.modal-actions.svelte-ta60gp{gap:var(--space-3);display:flex}.btn-primary.svelte-ta60gp{padding:var(--space-3);font-size:var(--text-base);font-weight:var(--font-semibold);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:var(--accent);color:#fff;border:none}.btn-primary.btn-full.svelte-ta60gp{width:100%}.btn-primary.svelte-ta60gp:hover{opacity:.9;transform:translateY(-1px)}.btn-primary.svelte-ta60gp:active{transform:translateY(0)}.mini-calendar.svelte-92frux{top:180px;right:var(--space-6);background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(32px)saturate(1.3);backdrop-filter:blur(32px)saturate(1.3);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-md);width:280px;max-width:280px;z-index:var(--z-widget);display:none;position:fixed}@media (width>=600px){.mini-calendar.svelte-92frux{top:200px;right:var(--space-8)}}@media (width>=1200px){.mini-calendar.svelte-92frux{width:320px;max-width:320px;padding:var(--space-5)}}@media (width>=1401px){.mini-calendar.svelte-92frux{width:360px;max-width:360px}}@media (width<=768px){.mini-calendar.svelte-92frux{display:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.mini-calendar.svelte-92frux{background:var(--surface-strong)}}.calendar-toggle.svelte-92frux{cursor:pointer;width:100%;padding:var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast);margin-bottom:var(--space-2);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.calendar-toggle.svelte-92frux:hover{background:var(--surface)}.calendar-month-label.svelte-92frux{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--fg)}.calendar-nav-row.svelte-92frux{justify-content:center;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.calendar-nav.svelte-92frux{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--fg-dim);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.calendar-nav.svelte-92frux:hover{background:var(--surface);color:var(--fg)}.calendar-weekdays.svelte-92frux{margin-bottom:var(--space-2);grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekday.svelte-92frux{text-align:center;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--fg-dim);padding:var(--space-1)}.calendar-grid.svelte-92frux{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day.svelte-92frux{aspect-ratio:1;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg);border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:default;justify-content:center;align-items:center;display:flex}.calendar-day.svelte-92frux:hover{background:var(--surface)}.calendar-day.other-month.svelte-92frux{color:var(--fg-dimmer);opacity:.3}.calendar-day.today.svelte-92frux{background:var(--accent);color:#fff;font-weight:var(--font-bold)}.calendar-day.today.svelte-92frux:hover{background:var(--accent-hover)}.calendar-today-btn.svelte-92frux{width:100%;margin-top:var(--space-3);padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.calendar-today-btn.svelte-92frux:hover{background:var(--surface-strong);border-color:var(--accent);color:var(--accent)}.mobile-menu-btn.svelte-r1tfyb{top:var(--space-4);right:var(--space-4);background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(32px)saturate(1.3);backdrop-filter:blur(32px)saturate(1.3);border-radius:var(--radius-lg);width:44px;height:44px;color:var(--fg);cursor:pointer;transition:all var(--transition-fast);z-index:calc(var(--z-widget) + 2);box-shadow:var(--shadow-md);border:none;justify-content:center;align-items:center;display:none;position:fixed}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.mobile-menu-btn.svelte-r1tfyb{background:var(--surface-strong)}}.mobile-menu-btn.svelte-r1tfyb:hover{background:color-mix(in srgb, var(--surface-strong) 95%, transparent);transform:scale(1.05)}.mobile-menu-btn.svelte-r1tfyb:active{transform:scale(.95)}@media (width<=900px){.mobile-menu-btn.svelte-r1tfyb{display:flex}}.mobile-menu-overlay.svelte-r1tfyb{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:calc(var(--z-widget) + 1);background:#0009;animation:.2s ease-out svelte-r1tfyb-fadeIn;position:fixed;inset:0}@keyframes svelte-r1tfyb-fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu-drawer.svelte-r1tfyb{background:var(--surface-strong);width:280px;height:100%;box-shadow:var(--shadow-xl);flex-direction:column;animation:.3s cubic-bezier(.2,0,0,1) svelte-r1tfyb-slideIn;display:flex;position:fixed;top:0;left:0}@keyframes svelte-r1tfyb-slideIn{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.mobile-menu-header.svelte-r1tfyb{padding:var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.mobile-menu-header.svelte-r1tfyb h2:where(.svelte-r1tfyb){font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--fg);margin:0}.mobile-menu-close.svelte-r1tfyb{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--fg-dim);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.mobile-menu-close.svelte-r1tfyb:hover{background:var(--surface);color:var(--fg)}.mobile-menu-content.svelte-r1tfyb{padding:var(--space-5);flex:1;overflow-y:auto}.mobile-menu-section.svelte-r1tfyb{margin-bottom:var(--space-6)}.mobile-menu-section-title.svelte-r1tfyb{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg);margin:0 0 var(--space-3) 0}.mobile-menu-info.svelte-r1tfyb{font-size:var(--text-sm);color:var(--fg-dim);margin:0 0 var(--space-3) 0;line-height:1.5}.mobile-menu-list.svelte-r1tfyb{margin:0;padding:0;list-style:none}.mobile-menu-list.svelte-r1tfyb li:where(.svelte-r1tfyb){padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--fg);border-bottom:1px solid var(--border)}.mobile-menu-list.svelte-r1tfyb li:where(.svelte-r1tfyb):last-child{border-bottom:none}
