: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 rgba(0, 0, 0, .02), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .03);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .06), 0 2px 6px rgba(0, 0, 0, .04);--shadow-xl: 0 16px 32px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .05)}[data-lum=dark],:root{--fg: rgba(255, 255, 255, .98);--fg-dim: rgba(255, 255, 255, .75);--fg-dimmer: rgba(255, 255, 255, .55);--surface: rgba(255, 255, 255, .08);--surface-strong: rgba(255, 255, 255, .12);--border: rgba(255, 255, 255, .12);--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 rgba(255, 255, 255, .8), 0 0 0 4px rgba(59, 130, 246, .5)}[data-lum=light]{--fg: rgba(0, 0, 0, .92);--fg-dim: rgba(0, 0, 0, .65);--fg-dimmer: rgba(0, 0, 0, .45);--surface: rgba(0, 0, 0, .04);--surface-strong: rgba(0, 0, 0, .08);--border: rgba(0, 0, 0, .1);--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 rgba(0, 0, 0, .6), 0 0 0 4px rgba(37, 99, 235, .5)}@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);line-height:1.5;color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;background-color:#1a1a1a;background-size:cover;background-position:center}.background:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.15) 100%),linear-gradient(to bottom,rgba(0,0,0,.1) 0%,transparent 20%,transparent 80%,rgba(0,0,0,.2) 100%);pointer-events:none}#app{position:relative;width:100%;height:100%;display:flex;flex-direction:column;padding:var(--space-6)}@media (min-width: 600px){#app{padding:var(--space-8)}}.header{position:fixed;top:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);z-index:var(--z-widget);text-align:right;pointer-events:none}.header>*{pointer-events:auto}@media (min-width: 600px){.header{top:var(--space-8);right:var(--space-8)}}@media (max-width: 1400px){.header{display:none}}.clock{font-size:2.25rem;font-weight:var(--font-light);letter-spacing:-.03em;line-height:1;margin:0;color:var(--fg);font-variant-numeric:tabular-nums}@media (min-width: 600px){.clock{font-size:4.5rem}}.date{font-size:.9375rem;font-weight:var(--font-medium);color:var(--fg-dim);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-fast);border:none;background:transparent;letter-spacing:.01em}@media (min-width: 600px){.date{font-size:1.0625rem}}.date:hover{background:var(--surface);color:var(--fg)}.date[aria-expanded=true]{background:var(--surface-strong)}.greeting{font-size:var(--text-xs);font-weight:var(--font-light);color:var(--fg-dimmer);margin-top:var(--space-1)}@media (min-width: 600px){.greeting{font-size:var(--text-sm)}}.main{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;max-width:100%;margin:0 auto;padding:0 var(--space-4)}@media (min-width: 1401px){.main{max-width:calc(100% - 800px);padding:0 var(--space-8)}}@media (max-width: 1400px){.main{max-width:100%;padding:0 var(--space-6)}}.footer{display:flex;justify-content:center;align-items:center}.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:none;border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md)}@supports not (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:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;transition:all var(--transition-fast)}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);background:transparent;border:none;border-bottom:1.5px solid var(--border);border-radius:0;padding:var(--space-3) var(--space-1);transition:all var(--transition-fast)}input:focus,textarea:focus{outline:none;background:transparent;border-bottom-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--fg-dimmer);font-weight:var(--font-light)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.popover{position:fixed;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:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:popoverIn .2s cubic-bezier(.2,0,0,1);max-width:90vw;max-height:90vh;overflow:visible;z-index:var(--z-popover)}@supports not (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{display:flex;flex-direction:column;gap:var(--space-1)}.context-menu-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--fg);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:all var(--transition-fast);width:100%}.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{outline:none;background:color-mix(in srgb,var(--accent) 15%,transparent);box-shadow:inset 0 0 0 1px var(--accent)}.context-menu-icon{font-size:var(--text-base);width:20px;text-align:center;flex-shrink:0}.context-menu-label{flex:1}.context-menu-divider{height:1px;background:var(--border);margin:var(--space-1) 0}.datepicker-popover{padding:var(--space-4)}.datepicker{display:flex;flex-direction:column;gap:var(--space-3);min-width:280px}.datepicker-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.datepicker-month{flex:1;text-align:center;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--fg)}.datepicker-nav{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--fg-dim);font-size:var(--text-xl);cursor:pointer;transition:all var(--transition-fast);padding:0}.datepicker-nav:hover{background:var(--surface);color:var(--fg);transform:scale(1.1)}.datepicker-nav:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1);margin-bottom:var(--space-1)}.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{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.datepicker-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;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);padding:0}.datepicker-day:hover:not(:disabled){background:var(--surface);transform:scale(1.05)}.datepicker-day:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.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{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.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{outline:none;border-color:var(--accent);background:var(--surface-strong)}.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{display:flex;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.datepicker-action{flex:1;padding:var(--space-2) var(--space-3);background:var(--surface);border:none;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)}.datepicker-action:hover{background:var(--surface-strong);color:var(--accent);transform:translateY(-1px)}.datepicker-action:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.tasks-wrapper{width:100%;max-width:1600px;margin:0 auto;display:flex;flex-direction:column;height:100%;padding:0 var(--space-4)}@media (max-width: 599px){.tasks-wrapper{padding-top:var(--space-3)}}.tasks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);padding:0 var(--space-4) var(--space-3);border-bottom:1px solid var(--border)}@media (max-width: 599px){.tasks-header{flex-direction:column;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}}.tasks-title-group{display:flex;align-items:center;gap:var(--space-3)}.tasks-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--fg);margin:0}.pending-count{display:flex;align-items:center;justify-content:center;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)}.pending-count-inline{font-size:var(--text-lg);font-weight:var(--font-light);color:var(--fg-dim);margin-left:var(--space-1)}.view-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);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)}.view-toggle:hover{background:var(--surface-strong);border-color:var(--accent);color:var(--accent)}.view-icon{display:flex;align-items:center;justify-content:center}.tasks-controls{display:flex;gap:var(--space-2);align-items:center}@media (max-width: 599px){.tasks-controls{width:100%;justify-content:flex-start}}.sort-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);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)}.sort-toggle:hover{background:var(--surface-strong);border-color:var(--accent);color:var(--accent)}.sort-label{display:flex;align-items:center;justify-content:center}.drag-handle{display:flex;align-items:center;justify-content:center;color:var(--fg-dimmer);cursor:grab;opacity:.4;transition:all var(--transition-fast);margin-left:-4px;flex-shrink:0}.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;user-select:none;-webkit-user-select:none}.task-item[draggable=true]:active{cursor:grabbing}.tasks-list{width:100%;max-width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column}.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);background:transparent;border:none;border-bottom:2px solid var(--border);border-radius:0;color:var(--fg);transition:all var(--transition-fast);letter-spacing:-.01em}.task-input:focus{outline:none;background:transparent;border-bottom-color:var(--accent);border-bottom-width:2px}.task-input::placeholder{color:var(--fg-dimmer);font-weight:var(--font-light)}.task-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.empty-state{text-align:center;color:var(--fg-dim);padding:var(--space-8) var(--space-4);font-size:var(--text-sm)}.task-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-3);background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;transition:all var(--transition-fast)}.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{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;max-width:20px;min-height:20px;max-height:20px;aspect-ratio:1 / 1;border:2px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:6px;cursor:pointer;flex-shrink:0;flex-grow:0;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);background:var(--bg);margin:0;padding:0;box-sizing:border-box;align-self:center}.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:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.task-checkbox:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.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:1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.task-text{font-size:1.0625rem;color:var(--fg);word-break:break-word;font-weight:var(--font-normal);letter-spacing:-.005em;line-height:1.5;background:none;border:none;font-family:inherit;text-align:left;width:100%;padding:0;cursor:pointer;transition:color var(--transition-fast)}.task-text:hover{color:var(--accent)}.task-edit-input{font-size:1.0625rem;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-weight:var(--font-normal);letter-spacing:-.005em;line-height:1.5}.task-edit-input:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.task-item.task-done{align-items:center}.task-done .task-text{text-decoration:line-through;color:var(--fg-dim)}.task-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.task-meta-right{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;margin-right:var(--space-2);flex-shrink:0}.task-deadline,.task-priority-badge{display:inline-flex;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)}.task-deadline:hover,.task-priority-badge:hover{transform:scale(1.05);filter:brightness(1.1)}.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 transparent}.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{display:flex;gap:var(--space-2);opacity:0;transition:opacity var(--transition-fast)}.task-item:hover .task-actions,.task-item:focus-within .task-actions{opacity:1}.task-menu,.task-edit,.task-delete{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--fg-dim);cursor:pointer;transition:all var(--transition-fast);padding:0;font-size:var(--text-lg)}.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-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.completed-toggle{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--fg-dim);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left}.completed-toggle:hover{background:var(--surface);color:var(--fg)}.toggle-icon{font-size:var(--text-xs);transition:transform var(--transition-fast)}.completed-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);overflow-y:auto}.completed-list.collapsed{display:none}.undo-toast{position:fixed;bottom:var(--space-8);left:50%;transform:translate(-50%);display:flex;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:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:slideUp .3s cubic-bezier(.2,0,0,1);min-width:300px;max-width:90vw}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(24px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.undo-toast span{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.undo-btn{flex-shrink:0;padding:var(--space-2) var(--space-4);background:var(--accent);color:#fff;border:none;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}.undo-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}@media (max-width: 600px){.tasks-list{max-width:100%}.task-item{padding:var(--space-2) var(--space-3)}.task-actions{opacity:1}}.view-switcher{position:absolute;top:var(--space-4);right:var(--space-4);display:flex;align-items:center;gap:var(--space-2);z-index:10}.view-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;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:none;border-radius:50%;color:var(--fg-dim);font-size:var(--text-lg);cursor:pointer;transition:all var(--transition-fast);padding:0;opacity:.7;box-shadow:var(--shadow-sm)}@supports not (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;transform:scale(1.05);box-shadow:var(--shadow-md)}.view-btn.active{opacity:1}.view-btn:focus{outline:none;box-shadow:var(--focus-ring)}.view-btn:not(.active){display:none}.tasks-kanban{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.kanban-header{display:flex;align-items:center;justify-content:flex-end;padding:var(--space-2) var(--space-4) var(--space-1);flex-shrink:0}.add-column-btn-top{display:inline-flex;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)}.add-column-btn-top:hover{background:var(--surface);border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.kanban-board{display:flex;gap:var(--space-4);flex:1;overflow-x:auto;padding:0 var(--space-2) var(--space-2)}.kanban-column{flex:1 1 0;min-width:280px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);height:100%}.column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.column-title{flex:1;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg);margin:0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);background:none;border:none;font-family:inherit;text-align:left;width:100%}.column-title:hover{background:var(--surface-strong)}.column-title-input{flex:1;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg);margin:0;padding:var(--space-1) var(--space-2);background:var(--surface-strong);border:1px solid var(--accent);border-radius:var(--radius-sm);outline:none}.column-header-actions{display:flex;align-items:center;gap:var(--space-2)}.column-rename-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--fg-dim);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);padding:0;opacity:0}.column-header:hover .column-rename-btn{opacity:1}.column-rename-btn:hover{background:var(--surface-strong);color:var(--fg)}.column-count{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--space-2);background:var(--surface-strong);border-radius:12px;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--fg-dim)}.column-menu-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--fg-dim);cursor:pointer;font-size:var(--text-lg);line-height:1;transition:all var(--transition-fast);padding:0}.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);border-radius:0;color:var(--fg);transition:all var(--transition-fast)}.column-task-input:focus{outline:none;background:var(--surface-strong);border-bottom-color:var(--accent)}.column-task-input::placeholder{color:var(--fg-dimmer);font-weight:var(--font-light)}.column-cards,.column-tasks{flex:1;display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto;min-height:100px;padding:var(--space-1);margin:calc(var(--space-1) * -1)}.column-empty{display:flex;align-items:center;justify-content:center;height:100px;color:var(--fg-dimmer);font-size:var(--text-sm);border:2px dashed var(--border);border-radius:var(--radius-sm);text-align:center}.kanban-card,.task-card{display:flex;align-items:flex-start;justify-content:space-between;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;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{outline:none;box-shadow:var(--focus-ring)}.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{text-decoration:line-through;color:var(--fg-dim)}.card-content,.task-card-content{flex:1;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.card-text,.task-card-text{font-size:var(--text-sm);color:var(--fg);margin:0;word-break:break-word;line-height:1.6;font-weight:var(--font-normal);cursor:pointer;transition:color var(--transition-fast);background:none;border:none;font-family:inherit;text-align:left;width:100%;padding:0}.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{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.task-card-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.task-card-priority,.task-card-deadline{display:inline-flex;align-items:center;gap:4px;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)}.task-card-priority:hover,.task-card-deadline:hover{transform:scale(1.05);filter:brightness(1.1)}.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{display:flex;gap:var(--space-1);flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.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{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--fg-dim);cursor:pointer;transition:all var(--transition-fast);padding:0;font-size:var(--text-base);flex-shrink:0}.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 (max-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{position:fixed;left:var(--space-6);top:50%;transform:translateY(-50%);z-index:var(--z-widget)}.links-list{display:flex;flex-direction:column;gap:var(--space-3)}.links-empty{font-size:var(--text-xs);color:var(--fg-dimmer);margin:0}.link-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-2);background:color-mix(in srgb,var(--surface) 70%,transparent);-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);border:none;border-radius:var(--radius-md);text-decoration:none;color:var(--fg);cursor:pointer;transition:all var(--transition-fast);width:64px;opacity:.8}@supports not (backdrop-filter: blur(1px)){.link-item{background:var(--surface-strong)}}.link-item:hover{background:color-mix(in srgb,var(--surface-strong) 90%,transparent);transform:translate(6px);opacity:1;box-shadow:var(--shadow-sm)}.link-item:focus{outline:none;box-shadow:var(--focus-ring)}.link-item.dragging{opacity:.5}.link-icon{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);overflow:hidden}.link-letter{font-size:var(--text-lg);font-weight:var(--font-medium);color:#fff;z-index:1}.link-favicon{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:2}.link-label{font-size:var(--text-xs);color:var(--fg);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-delete{position:absolute;top:-6px;right:-6px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--due-over);color:#fff;border:1.5px solid rgba(255,255,255,.2);border-radius:50%;font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1;cursor:pointer;opacity:0;transition:all var(--transition-fast);padding:0;box-shadow:var(--shadow-sm)}.link-item:hover .link-delete,.link-item:focus .link-delete{opacity:1}.link-delete:hover{transform:scale(1.15);box-shadow:var(--shadow-md)}.link-add{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:1.5px dashed var(--border);border-radius:var(--radius-md);color:var(--fg-dimmer);cursor:pointer;transition:all var(--transition-fast);padding:0;opacity:.6}.link-add:hover{background:color-mix(in srgb,var(--surface) 60%,transparent);border-color:var(--accent);border-style:solid;color:var(--fg);transform:translate(6px);opacity:1}.link-add-icon{font-size:var(--text-2xl);font-weight:var(--font-light)}@media (max-width: 1400px){.quick-links{display:none}}.settings-toggle{position:fixed;bottom:var(--space-6);left:var(--space-6);z-index:var(--z-widget);width:52px;height:52px;display:flex;align-items:center;justify-content:center;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:none;border-radius:50%;color:var(--fg);font-size:var(--text-2xl);cursor:pointer;transition:all var(--transition-fast);padding:0;opacity:.7;box-shadow:var(--shadow-md)}@media (min-width: 600px){.settings-toggle{bottom:var(--space-8);left:var(--space-8)}}@supports not (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);transform:rotate(90deg) scale(1.05);box-shadow:var(--shadow-lg)}.settings-toggle:focus{outline:none;box-shadow:var(--focus-ring)}.settings-sheet{position:fixed;top:0;right:0;bottom:0;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);border-left:none;box-shadow:var(--shadow-xl);animation:slideInRight .3s cubic-bezier(.2,0,0,1)}@supports not (backdrop-filter: blur(1px)){.settings-sheet{background:var(--bg)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.settings-content{height:100%;display:flex;flex-direction:column;overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);flex-shrink:0}.settings-header h2{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--fg);margin:0}.settings-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--fg-dim);font-size:var(--text-3xl);line-height:1;cursor:pointer;transition:all var(--transition-fast);padding:0}.settings-close:hover{background:var(--surface-strong);border-color:var(--border);color:var(--fg)}.settings-body{flex:1;overflow-y:auto;padding:var(--space-6)}.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{display:block;margin-bottom:var(--space-3)}.settings-section label:last-child{margin-bottom:0}.settings-section label>span{display:block;font-size:var(--text-sm);color:var(--fg-dim);margin-bottom:var(--space-2)}.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{outline:none;border-color:var(--accent);background:var(--surface-strong)}.settings-section input[type=text]::placeholder{color:var(--fg-dimmer)}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:var(--space-2);cursor:pointer}.checkbox-label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;max-width:20px;min-height:20px;max-height:20px;aspect-ratio:1 / 1;border:2px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;flex-grow:0;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);background:var(--bg);margin:0;padding:0;box-sizing:border-box}.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:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.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{margin:0!important;font-size:var(--text-sm)!important;color:var(--fg)!important}.settings-actions{display:flex;flex-direction:column;gap:var(--space-2)}.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{background:transparent;color:#ef4444;border-color:#ef4444}.btn-danger:hover{background:#ef4444;color:#fff}.about-text{font-size:var(--text-sm);color:var(--fg);line-height:1.6;margin:0 0 var(--space-3) 0}.about-text strong{font-weight:var(--font-semibold)}.settings-about{font-size:var(--text-sm);color:var(--fg);line-height:1.8;margin:0}.settings-about strong{font-weight:var(--font-semibold);color:var(--fg)}.about-link{color:#0074e8;text-decoration:none;font-weight:var(--font-medium);transition:all var(--transition-fast)}.about-link:hover{color:#0056b3;text-decoration:underline}.about-credits{font-size:var(--text-xs);color:var(--fg-dim);line-height:1.6;margin:0}.about-credits a{color:#0074e8;text-decoration:none;transition:color var(--transition-fast);font-weight:var(--font-medium)}.about-credits a:hover{color:#0056b3;text-decoration:underline}.donate-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);margin-top:var(--space-4);background:linear-gradient(135deg,#fd0,#fbb034);color:#000;font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast);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 (max-width: 600px){.settings-sheet{max-width:100%;border-left:none}.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)}}.quote-widget{position:fixed;bottom:var(--space-6);right:var(--space-6);max-width:360px;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);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md)}@supports not (backdrop-filter: blur(1px)){.quote-widget{background:var(--surface-strong)}}.quote-text{font-size:var(--text-base);font-weight:var(--font-normal);font-style:normal;color:var(--fg);line-height:1.8;margin:0 0 var(--space-3) 0;letter-spacing:.01em}.quote-author{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--fg-dimmer);margin:0;text-align:right;letter-spacing:.02em}@media (max-width: 1400px){.quote-widget{display:none}}@media (min-width: 600px) and (min-width: 1401px){.quote-widget{bottom:var(--space-8);right:var(--space-8)}}.modal-overlay.svelte-ta60gp{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:svelte-ta60gp-fadeIn .15s ease-out}@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;overflow:hidden;animation:svelte-ta60gp-slideUp .2s ease-out}@keyframes svelte-ta60gp-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header.svelte-ta60gp{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--border)}.modal-header.svelte-ta60gp h3:where(.svelte-ta60gp){margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--fg)}.modal-close.svelte-ta60gp{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--fg-dim);cursor:pointer;transition:all var(--transition-fast);padding:0}.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){display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--fg);margin-bottom:var(--space-2)}.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{outline:none;border-color:var(--accent);background:var(--surface-strong)}.modal-field.svelte-ta60gp input:where(.svelte-ta60gp)::placeholder{color:var(--fg-dimmer)}.modal-actions.svelte-ta60gp{display:flex;gap:var(--space-3)}.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);border:none;background:var(--accent);color:#fff}.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)}.weather-widget{position:fixed;top:var(--space-6);left:var(--space-6);z-index:var(--z-widget)}.weather-compact{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:none;color:var(--text);font-size:var(--font-size-lg);font-weight:500;cursor:default;position:relative;border-radius:var(--radius-md);transition:background .2s ease}.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{position:absolute;top:calc(100% + var(--space-2));left:0;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;transform:translateY(-8px);transition:all .2s ease;pointer-events:none;border:1px solid color-mix(in srgb,var(--text) 10%,transparent)}.weather-compact:hover .weather-card{opacity:1;visibility:visible;transform:translateY(0)}.weather-card-header{font-size:var(--font-size-xs);font-weight:600;letter-spacing:.05em;color:var(--text-dim);margin-bottom:var(--space-2)}.weather-card-condition{font-size:var(--font-size-xl);font-weight:500;color:var(--text);margin-bottom:var(--space-4)}.weather-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid color-mix(in srgb,var(--text) 10%,transparent)}.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);font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}@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 (max-width: 1400px){.weather-widget{top:var(--space-6);left:50%;transform:translate(-50%)}}@media (max-width: 768px){.weather-widget{position:static;margin:0 auto var(--space-4);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 (max-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);display:flex;flex-direction:column;gap:var(--space-2)}.forecast-day{display:grid;grid-template-columns:40px 24px 1fr 40px;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);transition:background .2s ease}.forecast-day:hover{background:color-mix(in srgb,var(--surface) 50%,transparent)}.forecast-day-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-dim)}.forecast-temps{display:flex;gap:var(--space-2);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.forecast-high{font-weight:600;color:var(--text)}.forecast-low{font-weight:400;color:var(--text-dim)}.forecast-rain{font-size:var(--font-size-xs);color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums}.mini-calendar.svelte-92frux{position:fixed;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-5);box-shadow:var(--shadow-md);max-width:360px;width:360px;z-index:var(--z-widget)}@media (min-width: 600px){.mini-calendar.svelte-92frux{top:200px;right:var(--space-8)}}@media (max-width: 1200px){.mini-calendar.svelte-92frux{display:none}}@supports not (backdrop-filter: blur(1px)){.mini-calendar.svelte-92frux{background:var(--surface-strong)}}.calendar-header.svelte-92frux{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.calendar-nav.svelte-92frux{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--fg-dim);cursor:pointer;transition:all var(--transition-fast);padding:0}.calendar-nav.svelte-92frux:hover{background:var(--surface);color:var(--fg)}.calendar-month.svelte-92frux{flex:1;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--fg);background:transparent;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.calendar-month.svelte-92frux:hover{background:var(--surface)}.calendar-weekdays.svelte-92frux{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--space-2)}.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{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day.svelte-92frux{aspect-ratio:1;display:flex;align-items:center;justify-content:center;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}.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{position:fixed;top:var(--space-4);right:var(--space-4);width:44px;height:44px;display:none;align-items:center;justify-content:center;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:none;border-radius:var(--radius-lg);color:var(--fg);cursor:pointer;transition:all var(--transition-fast);z-index:calc(var(--z-widget) + 2);box-shadow:var(--shadow-md)}@supports not (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 (max-width: 900px){.mobile-menu-btn.svelte-r1tfyb{display:flex}}.mobile-menu-overlay.svelte-r1tfyb{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:calc(var(--z-widget) + 1);animation:svelte-r1tfyb-fadeIn .2s ease-out}@keyframes svelte-r1tfyb-fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu-drawer.svelte-r1tfyb{position:fixed;top:0;left:0;width:280px;height:100%;background:var(--surface-strong);box-shadow:var(--shadow-xl);animation:svelte-r1tfyb-slideIn .3s cubic-bezier(.2,0,0,1);display:flex;flex-direction:column}@keyframes svelte-r1tfyb-slideIn{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.mobile-menu-header.svelte-r1tfyb{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--border)}.mobile-menu-header.svelte-r1tfyb h2:where(.svelte-r1tfyb){margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--fg)}.mobile-menu-close.svelte-r1tfyb{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--fg-dim);cursor:pointer;transition:all var(--transition-fast);padding:0}.mobile-menu-close.svelte-r1tfyb:hover{background:var(--surface);color:var(--fg)}.mobile-menu-content.svelte-r1tfyb{flex:1;padding:var(--space-5);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{list-style:none;padding:0;margin:0}.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}
