:root{color-scheme:light dark;--bg: #f6f6f6;--surface: #ffffff;--hover: #efefef;--border: #e3e3e3;--divider: #eaeaea;--fg: #1a1a1a;--fg-muted: #909090;--accent: #2563eb;--accent-dim: rgba(37, 99, 235, .11);--danger: #dc2626;--warn: #d97706;--success: #16a34a;--info: #0891b2;--mono: "DM Mono", "Courier New", monospace;--detail-field-size: .85rem}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg: #0a0a0e;--surface: #111118;--hover: #1a1a24;--border: #202030;--divider: #181824;--fg: #e6e6f4;--fg-muted: #4e4e6a;--accent: #60a5fa;--accent-dim: rgba(96, 165, 250, .12);--danger: #f87171;--warn: #fbbf24;--success: #4ade80;--info: #22d3ee}}[data-theme=dark]{color-scheme:dark;--bg: #0a0a0e;--surface: #111118;--hover: #1a1a24;--border: #202030;--divider: #181824;--fg: #e6e6f4;--fg-muted: #4e4e6a;--accent: #60a5fa;--accent-dim: rgba(96, 165, 250, .12);--danger: #f87171;--warn: #fbbf24;--success: #4ade80;--info: #22d3ee}[data-theme=light]{color-scheme:light;--bg: #f6f6f6;--surface: #ffffff;--hover: #efefef;--border: #e3e3e3;--divider: #eaeaea;--fg: #1a1a1a;--fg-muted: #909090;--danger: #dc2626;--warn: #d97706;--success: #16a34a;--info: #0891b2}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}@media(min-width:768px){html{font-size:17px}}@media(min-width:1280px){html{font-size:18px}}@media(min-width:1600px){html{font-size:19px}}body{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:1rem;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fg-muted);border-radius:4px;opacity:.5}::-webkit-scrollbar-thumb:hover{background:var(--fg);opacity:.7}*{scrollbar-width:thin;scrollbar-color:var(--fg-muted) transparent}.app-shell{display:flex;flex-direction:column;height:100dvh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;height:3.25rem;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.app-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}.app-logo__mark{display:flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border-radius:.4375rem;background:var(--accent-dim);flex-shrink:0}.app-logo__mark svg{display:block}.app-title{font-size:.875rem;font-weight:800;letter-spacing:.06em}.app-body{display:flex;flex:1;overflow:hidden;position:relative}.app-main{flex:1;overflow-y:auto;padding:1.75rem 1.5rem}.sidebar{border-right:1px solid var(--border);flex-shrink:0;background:var(--surface);overflow:hidden;display:flex;flex-direction:column}.sidebar__inner{display:flex;flex-direction:column;flex:1;padding:.875rem .625rem;overflow-y:auto;min-width:208px}.sidebar--collapsed{display:flex;flex-direction:column;flex:1;padding:.5rem .375rem;align-items:center;min-width:40px}.sidebar-toolbar{display:flex;flex-direction:column;gap:2px;padding:0 2px 6px;margin-bottom:4px;border-bottom:1px solid var(--border)}.sidebar-toolbar>.view-title-actions{align-self:flex-end}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;padding:7px;border-radius:6px;background:none;border:none;cursor:pointer;color:var(--fg-muted);transition:color .15s,background .15s;flex-shrink:0}.sidebar-collapse-btn:hover{color:var(--fg)}.sidebar-collapse-btn--toggle{background:var(--accent-dim);color:var(--accent);filter:brightness(1.1)}.sidebar-collapse-btn--toggle:hover{background:var(--accent-dim);color:var(--accent);filter:brightness(.92)}.sidebar-collapse-btn--dark{background:#00000026;color:var(--accent);filter:none;border:none}.sidebar-collapse-btn--dark:hover{background:#00000040;color:var(--accent);filter:none;border:none}.nav-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:none;border:none;cursor:pointer;color:var(--fg-muted);text-decoration:none;transition:color .15s,background .15s;flex-shrink:0}.nav-icon-btn:hover{color:var(--fg);background:var(--hover)}.nav-icon-btn--active{color:var(--accent);background:var(--accent-dim)}.nav-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--surface-raised, var(--surface));border:1px solid var(--border);color:var(--fg);font-size:.75rem;white-space:nowrap;padding:4px 8px;border-radius:5px;pointer-events:none;opacity:0;transition:opacity .15s;transition-delay:0s;z-index:100}[data-tooltip]:hover:after{opacity:1;transition-delay:.5s}.nav-item{display:flex;align-items:center;gap:.5rem;padding:9px 10px;border-radius:6px;text-decoration:none;color:var(--fg-muted);font-size:.875rem;font-weight:400;transition:color .15s,background .15s;touch-action:manipulation}.nav-btn{background:none;border:none;cursor:pointer;width:100%;text-align:left;font-family:inherit}.nav-item--signout{border:1px solid var(--border);background:var(--surface)}.nav-item--signout:hover{border-color:var(--fg-muted);color:var(--fg);background:var(--surface)}.nav-add-list-btn{color:var(--fg-muted)}.nav-add-list-btn:hover,.nav-item:hover{color:var(--fg);background:var(--hover)}.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.nav-item--active{color:var(--accent);background:var(--accent-dim);font-weight:500}.nav-section-label{display:flex;align-items:center;justify-content:space-between;padding:14px 10px 5px;font-size:.68rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--fg-muted)}button.nav-section-label--button{background:none;border:none;cursor:pointer;width:100%;text-align:left;transition:color .15s}button.nav-section-label--button:hover{color:var(--fg)}.nav-add-btn{background:none;border:none;cursor:pointer;color:var(--fg-muted);padding:6px 8px;border-radius:4px;display:flex;align-items:center;transition:color .15s;line-height:1;touch-action:manipulation}.nav-add-btn:hover{color:var(--fg);background:none}.nav-label-actions{display:flex;align-items:center;gap:0}.nav-reorder-group{display:flex;flex-direction:column;min-width:0}.nav-item-row{display:flex;align-items:center;border-radius:6px;transition:background .15s;-webkit-user-select:none;user-select:none;min-width:0}.nav-item-row:hover{background:var(--hover)}.nav-item-row .nav-item{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item-row .nav-item:hover{background:none;color:var(--fg)}.nav-item-row .nav-item[draggable=true]:active{background:transparent;color:var(--fg-muted)}.nav-item__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item-row:hover .nav-item{color:var(--fg)}.nav-item-row .nav-item--active{color:var(--accent);background:none}.nav-item-row:hover .nav-item--active{color:var(--accent)}.nav-action-btn{background:none;border:none;cursor:pointer;color:var(--fg-muted);padding:6px;border-radius:3px;display:flex;align-items:center;line-height:1;transition:color .15s;touch-action:manipulation}.nav-action-btn:hover{color:var(--fg)}.nav-drag-icon{display:flex;align-items:center;padding:4px;color:var(--fg-muted);flex-shrink:0;cursor:grab;touch-action:none;background:var(--hover);border-radius:6px}.nav-item-row--editing,.nav-item-row--editing:active{cursor:default}.nav-item-delete-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--hover);border:none;border-radius:6px;padding:4px;color:var(--danger);cursor:pointer;overflow:hidden}.nav-item-delete-btn:hover{color:var(--danger);filter:brightness(1.15)}.nav-inline-input{flex:1;background:none;border:none;border-bottom:1px solid var(--accent);outline:none;font-size:.875rem;font-family:inherit;color:var(--fg);padding:2px 0;min-width:0}.nav-item--editing{display:flex;align-items:center;gap:4px;padding:5px 8px}.nav-section-header{display:flex;align-items:center;padding:14px 6px 5px 10px}.nav-section-toggle{flex:1;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:.68rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--fg-muted);padding:0;text-align:left;transition:color .15s}.nav-section-toggle:hover{color:var(--fg)}.nav-folder{border-radius:6px;outline:2px solid transparent;outline-offset:-2px;transition:background .15s,outline .15s}.nav-folder-header{display:flex;align-items:center;gap:4px;padding:7px 6px 7px 8px;border-radius:6px;transition:background .15s;cursor:default;-webkit-user-select:none;user-select:none}.nav-folder-header:hover{background:var(--hover)}.nav-folder--drag-over .nav-folder-header:hover{background:transparent}.nav-folder-header.nav-item-row--editing{cursor:default}.nav-folder-header.nav-item-row--editing .nav-folder-icon{color:var(--fg)}.nav-folder-chevron{background:none;border:none;cursor:pointer;color:var(--fg-muted);display:flex;align-items:center;padding:2px;border-radius:3px;flex-shrink:0;transition:color .15s}.nav-folder-chevron:hover{color:var(--fg)}.nav-folder-chevron:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:3px}.nav-folder-icon{color:var(--fg-muted);flex-shrink:0}.nav-folder-name{flex:1;font-size:.8125rem;color:var(--fg-muted);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;text-decoration:none;background:none;border:none;padding:0;cursor:pointer;transition:color .12s}.nav-folder-name:hover{color:var(--fg);opacity:1}.nav-folder-name--active{color:var(--accent)!important;opacity:1}.nav-folder-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.nav-folder-lists{padding-left:14px;min-width:0;overflow:hidden}.nav-divider{height:1px;background:var(--border);margin:4px 8px;flex-shrink:0}.nav-add-options{display:flex;flex-direction:column;gap:1px;padding:2px 4px 6px;background:var(--hover);border-radius:6px;margin:2px 0 4px}.nav-add-option{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;cursor:pointer;padding:6px 8px;border-radius:5px;font-size:.8125rem;color:var(--fg-muted);transition:background .12s,color .12s;text-align:left}.nav-add-option:hover{background:var(--hover);color:var(--fg)}.folder-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.folder-picker{position:absolute;right:0;top:calc(100% + 2px);background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:0 6px 18px #0000001f;min-width:150px;max-width:200px;z-index:100;overflow:hidden}.folder-picker button{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;background:none;border:none;cursor:pointer;font-size:.8rem;font-family:inherit;color:var(--fg);text-align:left}.folder-picker button:hover{background:var(--hover)}.folder-picker-empty{display:block;padding:8px 10px;font-size:.8rem;color:var(--fg-muted)}.folder-picker-danger{color:var(--danger)!important}.folder-picker-label{display:block;padding:7px 10px 4px;font-size:.8rem;color:var(--fg-muted)}.nav-folder-menu-btn{display:flex;align-items:center;justify-content:center;margin-left:auto;padding:2px 3px;background:none;border:none;border-radius:4px;color:var(--fg-muted);cursor:pointer;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.nav-folder-header:hover .nav-folder-menu-btn,.nav-folder-menu-btn:focus-visible{opacity:1}.nav-folder-menu-btn:hover{color:var(--fg);background:var(--hover)}.nav-add-menu{right:auto;left:0}.nav-tooltip{position:fixed;transform:translateY(-50%);background:var(--surface);border:1px solid var(--border);color:var(--fg);font-size:.75rem;white-space:nowrap;padding:4px 8px;border-radius:5px;pointer-events:none;z-index:9999;box-shadow:0 2px 8px #0000001a}.nav-action-btn--danger,.nav-action-btn--danger:hover{color:var(--danger)}.nav-action-btn--success,.nav-action-btn--success:hover{color:var(--success)}.nav-drop-zone{border-radius:6px;padding:2px;outline:2px solid transparent;outline-offset:-2px;transition:background .15s,outline .15s}.nav-drop-zone--empty{min-height:48px;display:flex;align-items:center;margin-bottom:8px;justify-content:center;border:1.5px dashed var(--border);border-radius:6px}.nav-drop-zone--dragging{background:color-mix(in srgb,var(--accent) 5%,transparent)}.nav-drop-zone--active{background:var(--accent-dim);outline-color:var(--accent)}.nav-remove-zone__label{font-size:11px;color:var(--fg-muted);pointer-events:none;-webkit-user-select:none;user-select:none}.nav-folder--drag-over{background:var(--accent-dim);outline-color:var(--accent)}.folder-view-lists{display:flex;flex-direction:column;gap:3px;margin-top:.25rem}.folder-view-list-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;color:var(--fg);text-decoration:none;transition:background .12s,color .12s}.folder-view-list-item:hover{background:var(--hover)}.folder-view-list-item.active{background:var(--accent-dim);color:var(--accent)}.folder-view-list-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:7px}.folder-view-list-icon{display:flex;align-items:center;flex-shrink:0;color:var(--fg-muted)}.folder-view-list-item.active .folder-view-list-icon{color:var(--accent)}.folder-view-list-name{font-size:.875rem;font-weight:500}.bottom-nav{display:none}.header-icon-btn{display:inline-flex;align-items:center;justify-content:center;color:var(--fg-muted);opacity:.7;transition:opacity .15s;padding:2px}.header-icon-btn:hover{opacity:1}.sync-indicator{display:inline-flex;align-items:center;gap:4px}.sync-cloud-icon{color:var(--fg-muted);flex-shrink:0}.sync-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.sync-dot--synced{background:#4ade80}.sync-dot--pending{background:var(--warn)}.sync-dot--syncing{background:#facc15;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .75s linear infinite;display:block}.auth-tabs{display:flex;background:var(--hover);border-radius:8px;padding:3px;gap:2px}.auth-tab{flex:1;padding:8px 12px;border:none;border-radius:6px;background:none;font-family:inherit;font-size:.9rem;color:var(--fg-muted);cursor:pointer;transition:background .15s,color .15s}.auth-tab--active{background:var(--surface);color:var(--fg);font-weight:500}.auth-field{position:relative;display:flex;align-items:center}.auth-field__icon{position:absolute;left:14px;color:var(--fg-muted);pointer-events:none;flex-shrink:0}.auth-input{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:10px;font-size:1rem;font-family:inherit;color:var(--fg);background:var(--surface);outline:none;transition:border-color .15s}.auth-input--icon{padding-left:2.625rem}.auth-input:focus{border-color:var(--accent)}.auth-input::placeholder{color:var(--fg-muted)}.btn-auth{display:flex;align-items:center;justify-content:center;width:100%;height:52px;padding:0 18px;font-size:1rem;border-radius:10px}.btn-primary.auth-submit{gap:.5rem;margin-top:.375rem}.auth-error{font-size:.825rem;color:var(--danger);margin-top:.125rem}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--fg-muted);font-size:.78rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.btn-google{gap:.625rem;border:1px solid var(--border);font-family:inherit;cursor:pointer;background:var(--surface);color:var(--fg);transition:background .15s,border-color .15s}.btn-google:hover{background:var(--hover);border-color:var(--fg-muted)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.pwa-accordion{border:1px solid var(--border);border-radius:10px;overflow:hidden}.pwa-accordion__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 14px;background:none;border:none;cursor:pointer;font-size:.85rem;font-family:inherit;color:var(--fg-muted);transition:color .15s,background .15s}.pwa-accordion__toggle:hover{color:var(--fg);background:var(--hover)}.pwa-accordion__body{padding:12px 14px 14px;font-size:.82rem;color:var(--fg-muted);border-top:1px solid var(--border)}.install-steps{padding-left:1.125rem;display:flex;flex-direction:column;gap:.375rem;line-height:1.5}.install-steps strong{color:var(--fg)}.install-inline-icon{display:inline-flex;align-items:center;vertical-align:middle;color:var(--fg);margin:0 .1rem}.task-row{display:flex;align-items:center}.task-edit-drag{display:flex;align-items:center;color:var(--fg-muted);cursor:grab;touch-action:none;flex-shrink:0;background:var(--hover);border-radius:6px;padding:2px}.task-edit-drag:active{cursor:grabbing}.task-edit-delete{display:flex;align-items:center;background:var(--hover);border:none;border-radius:6px;padding:4px;color:var(--danger);cursor:pointer;flex-shrink:0}.task-edit-delete:hover{color:var(--danger);filter:brightness(1.15)}.task-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--divider);-webkit-user-select:none;user-select:none}.task-drag-ghost{position:fixed;top:-9999px;left:-9999px;padding:6px 12px;background:var(--surface);color:var(--fg);border-radius:6px;font-size:.875rem;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #0000001f}.task-item--selectable{cursor:pointer}.task-item--selected{background:var(--hover);border-radius:8px}.task-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.task-item--no-toggle .animated-checkbox{opacity:.3;pointer-events:none}.task-item__title{flex:1;position:relative;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-item__title:after{content:"";position:absolute;left:0;top:50%;height:1.5px;background:var(--fg-muted);width:0;transition:width .12s ease;transform:translateY(-50%);border-radius:1px;pointer-events:none}.task-item__title--completed{color:var(--fg-muted)}.task-item__title--completed:after{width:100%}@keyframes task-flash{0%{background:transparent}12%{background:color-mix(in srgb,var(--accent) 18%,transparent)}to{background:transparent}}.task-item--flash{animation:task-flash .35s ease}.animated-checkbox{position:relative;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:11px;margin:-11px;cursor:pointer;flex-shrink:0;border-radius:50%;transition:opacity .1s;overflow:visible}.animated-checkbox:active{opacity:.65}@keyframes particle-fly{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(0);opacity:0}}.animated-checkbox__particle{position:absolute;top:50%;left:50%;border-radius:50%;background:var(--accent);pointer-events:none;animation:particle-fly .28s ease-out forwards}@keyframes ring-expand{0%{r:7;opacity:.7}to{r:14;opacity:0}}.animated-checkbox__ring{fill:none;stroke:var(--accent);stroke-width:1;animation:ring-expand .3s ease-out forwards}.animated-checkbox__circle{fill:transparent;stroke:var(--fg-muted);stroke-width:1.5;transition:fill .15s ease,stroke .15s ease}.animated-checkbox--checked .animated-checkbox__circle{fill:var(--accent);stroke:var(--accent)}@keyframes checkbox-pop{0%{transform:scale(1)}28%{transform:scale(1.35)}60%{transform:scale(.88)}to{transform:scale(1)}}.animated-checkbox--pop svg{animation:checkbox-pop .2s cubic-bezier(.34,1.56,.64,1)}.task-item__date{font-size:.73rem;font-family:var(--mono);color:var(--fg-muted)}.task-item__date--overdue{color:var(--danger)}.task-item__actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s}.task-item:hover .task-item__actions{opacity:1}.task-item__action-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--fg-muted);cursor:pointer;padding:3px;border-radius:3px;transition:color .15s,background .15s}.task-item__action-btn:hover{color:var(--fg);background:var(--hover)}.task-item__action-btn--danger:hover{color:var(--danger);background:var(--hover)}.task-item__edit-input{flex:1;background:none;border:none;border-bottom:1px solid var(--accent);color:var(--fg);font-size:inherit;font-family:inherit;outline:none;padding:0 0 1px}.habit-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--divider);-webkit-user-select:none;user-select:none}@keyframes habit-flash{0%{background:transparent}12%{background:color-mix(in srgb,var(--accent) 12%,transparent)}to{background:transparent}}.habit-item--flash{animation:habit-flash .65s ease;border-radius:8px}.habit-item--selectable{cursor:pointer}.habit-item--selected{background:var(--hover);border-radius:8px}.habit-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.habit-item__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-item__title--completed{opacity:.45;text-decoration:line-through}.habit-item__streak{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;font-family:var(--mono);font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:999px;padding:2px 7px 2px 5px;margin-left:auto;flex-shrink:0;line-height:1}.habit-item__streak-flame{width:18px;height:18px;flex-shrink:0}.habit-item__streak--hot{color:#f97316;background:color-mix(in srgb,#f97316 15%,transparent);border-color:color-mix(in srgb,#f97316 30%,transparent);animation:streak-pulse 2s ease-in-out infinite}@keyframes streak-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,#f97316 0%,transparent)}50%{box-shadow:0 0 6px 1px color-mix(in srgb,#f97316 40%,transparent)}}.animated-checkbox--habit .animated-checkbox__circle{stroke-dasharray:2 2.5}.animated-checkbox--habit.animated-checkbox--checked .animated-checkbox__circle{stroke-dasharray:none}.animated-checkbox__particle--streak{background:color-mix(in srgb,var(--accent) 70%,#f97316)}.animated-checkbox__ring--delayed{animation:ring-expand .3s ease-out .08s forwards;opacity:0}.section-heading{display:flex;align-items:center;gap:.375rem;font-size:.68rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);margin:1.5rem 0 .625rem}.view-title-row{display:flex;align-items:center;gap:6px;margin-bottom:.25rem;min-width:0;min-height:36px}.view-title-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.view-title{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin-bottom:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-subtitle{font-size:.7rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);margin:.1rem 0 .75rem;-webkit-user-select:none;user-select:none}.view-title-actions{display:flex;align-items:center;gap:1px;background:var(--hover);border-radius:6px;padding:2px}.view-title-action-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--fg-muted);cursor:pointer;padding:4px;border-radius:4px;transition:color .15s,background .15s}.view-title-action-btn:hover{color:var(--accent);background:var(--hover)}.view-title-action-btn--danger:hover{color:var(--danger);background:var(--hover)}.view-title-icon-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;padding:4px;border-radius:6px;color:var(--fg-muted);cursor:pointer;transition:color .15s,background .15s;min-width:28px;min-height:28px;line-height:1}.view-title-icon-btn:hover{color:var(--accent);background:var(--hover)}.view-title-icon-btn--open{color:var(--accent);background:var(--accent-dim)}.icon-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199}.icon-picker{position:fixed;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 20px #0000001f;width:248px;overflow:hidden}.icon-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:6px}.icon-picker-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;width:32px;height:32px;border-radius:6px;color:var(--fg-muted);cursor:pointer;transition:color .12s,background .12s}.icon-picker-btn:hover{color:var(--accent);background:var(--hover)}.icon-picker-btn--active{color:var(--accent);background:var(--accent-dim)}.view-title-input{flex:1;font-size:1.25rem;font-weight:600;letter-spacing:-.01em;background:none;border:none;border-bottom:2px solid var(--accent);color:var(--fg);font-family:inherit;outline:none;padding:0 0 2px}.add-task{display:block;padding:8px 0;color:var(--fg-muted);font-size:.875rem;font-family:inherit;background:none;border:none;cursor:pointer;width:100%;text-align:left;transition:color .15s}.add-task:hover{color:var(--fg)}.empty-state{color:var(--fg-muted);margin-top:2rem;font-size:.9rem}.add-task-input{width:100%;padding:8px 0;border:none;border-bottom:1px solid var(--border);font-size:.9rem;font-family:inherit;color:var(--fg-muted);background:transparent;outline:none;margin-top:4px;transition:color .15s,border-color .15s;-webkit-user-select:none;user-select:none}.add-task-input:focus{color:var(--fg);border-bottom-color:var(--accent)}.add-task-input::placeholder{color:var(--fg-muted)}.btn-duplicate{padding:7px 16px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-family:inherit;font-weight:500;cursor:pointer;transition:opacity .15s}.btn-duplicate:hover{opacity:.82}.color-swatches{display:flex;gap:10px;flex-wrap:wrap}.color-swatch{width:30px;height:30px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s;outline:2px solid transparent;outline-offset:3px}.color-swatch:hover{transform:scale(1.12)}.color-swatch--selected{outline-color:var(--swatch-hex, var(--accent))}.btn-primary{padding:8px 18px;background:var(--accent);color:#fff;border:none;border-radius:7px;font-size:.875rem;font-family:inherit;font-weight:500;cursor:pointer;transition:opacity .15s}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{padding:8px 18px;background:none;color:var(--fg-muted);border:1px solid var(--border);border-radius:7px;font-size:.875rem;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s}.btn-ghost:hover{color:var(--fg);border-color:var(--fg-muted)}.btn-signout{padding:8px 16px;background:none;color:var(--fg);border:1px solid var(--fg-muted);border-radius:7px;font-size:.875rem;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s,background .15s;width:fit-content}.btn-signout:hover{background:var(--hover)}.btn-signout:disabled{opacity:.5;cursor:not-allowed}.btn-danger{display:flex;align-items:center;gap:.4rem;padding:8px 16px;background:none;color:var(--danger);border:1px solid var(--danger);border-radius:7px;font-size:.875rem;font-family:inherit;cursor:pointer;transition:background .15s;width:100%;justify-content:center}.btn-danger:hover{background:#dc262614}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.wizard-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100dvh;padding:2rem;background:var(--bg)}.wizard-step{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:2.5rem;width:min(420px,100%)}.wizard-step__content{display:flex;flex-direction:column;align-items:center;gap:2rem;width:100%}.wizard-step__controls{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:100%}.wizard-step__header{display:flex;align-items:center;justify-content:center;gap:1rem}.wizard-step__icon{width:54px;height:54px;flex-shrink:0;border-radius:14px;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center}.wizard-title{font-size:1.75rem;font-weight:650;letter-spacing:-.02em}.wizard-callout{display:flex;align-items:flex-start;gap:.625rem;width:100%;padding:.75rem 1rem;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);font-size:.9rem;color:var(--fg);line-height:1.5}.wizard-callout__icon{color:var(--accent);flex-shrink:0;margin-top:1px}.wizard-body{font-size:1rem;color:var(--fg-muted);line-height:1.65;text-align:center}.wizard-list-options{display:flex;flex-direction:column;gap:.625rem;width:100%}.wizard-list-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1.125rem;border-radius:12px;background:var(--surface);border:none;cursor:pointer;font-size:1rem;text-align:left}.wizard-list-option__label{display:flex;align-items:center;gap:.625rem;color:var(--fg)}.wizard-skip{width:100%;text-align:center;font-size:1.0625rem;padding:13px 18px;opacity:.6}.wizard-skip:hover{opacity:1}.wizard-actions{display:flex;gap:.625rem;width:100%}.wizard-actions .btn-primary{flex:1;padding:13px 20px;font-size:1.0625rem}.wizard-actions .btn-ghost{padding:13px 18px;font-size:1.0625rem}.wizard-dots{display:flex;gap:9px;justify-content:center}.wizard-dot{width:10px;height:10px;border-radius:50%;background:var(--border);transition:background .2s}.wizard-dot--active{background:var(--accent)}@media(min-width:640px){.wizard-step{width:min(520px,100%);gap:3rem;min-height:min(640px,80dvh);justify-content:space-between}.wizard-step__icon{width:64px;height:64px;border-radius:16px}.wizard-title{font-size:2.25rem}.wizard-body{font-size:1.0625rem}.wizard-list-option{padding:1rem 1.25rem;font-size:1.0625rem}.color-swatch{width:44px;height:44px}}.docs-shortcut-list{display:flex;flex-direction:column;gap:.125rem}.docs-shortcut-row{display:flex;align-items:center;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.docs-shortcut-row:last-child{border-bottom:none}.docs-shortcut-keys{display:flex;align-items:center;gap:.3rem;min-width:160px;flex-shrink:0}.docs-kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;background:var(--surface);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;font-family:var(--mono);font-size:.75rem;color:var(--fg);white-space:nowrap}.docs-kbd-sep{font-size:.75rem;color:var(--fg-muted)}.docs-shortcut-desc{font-size:.875rem;color:var(--fg-muted)}.settings-docs-link{display:inline-flex;align-items:center;font-size:.875rem;color:var(--accent);padding:.25rem 0;transition:opacity .15s}.settings-docs-link:hover{opacity:.75}.settings-section{margin-bottom:2.25rem}.settings-section-title{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--fg);padding-bottom:.5rem;margin-bottom:.25rem;border-bottom:1px solid var(--border)}.settings-subsection-title{font-size:.7rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);margin:.75rem 0 .25rem}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;-webkit-user-select:none;user-select:none}.settings-row-sortable{display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.settings-row-sortable .settings-row{flex:1;min-width:0}.settings-drag-handle{display:flex;align-items:center;padding:4px;color:var(--fg-muted);cursor:grab;flex-shrink:0;touch-action:none;background:var(--hover);border-radius:6px}.settings-drag-handle:active{cursor:grabbing}.toggle-btn{width:36px;height:20px;border-radius:10px;border:none;cursor:pointer;background:var(--border);position:relative;transition:background .2s;flex-shrink:0}.toggle-btn--on{background:var(--accent)}.toggle-btn:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}.toggle-btn--on:after{transform:translate(16px)}.settings-section-title--danger{color:var(--danger);border-bottom-color:color-mix(in srgb,var(--danger) 30%,transparent)}.settings-email{font-size:.875rem;font-family:var(--mono);color:var(--fg-muted);padding:.5rem 0}.danger-zone{border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:8px;padding:1rem;background:color-mix(in srgb,var(--danger) 4%,transparent)}.sidebar-spacer{flex:1;min-height:1rem}.sidebar-collapsed-divider{width:20px;height:1px;background:var(--border);margin:4px auto;flex-shrink:0}@media(min-width:1024px){.sidebar__inner{min-width:256px}}@media(max-width:640px){.app-main{padding:1.25rem 1rem}.sidebar__inner{min-width:160px;padding:.75rem .5rem}}.nav-action-btn,.task-item__action-btn,.view-title-action-btn{min-width:36px;min-height:36px}.task-detail-panel{position:absolute;right:0;top:0;bottom:0;width:335px;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}@media(max-width:640px){.task-detail-panel{top:0;right:0;bottom:0;left:40px;width:auto;border-left:none;z-index:10}}.task-detail-panel__header{display:flex;align-items:center;justify-content:flex-end;padding:.75rem .75rem 0}.task-detail-close{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--fg-muted);cursor:pointer;padding:6px;border-radius:6px;min-width:36px;min-height:36px;font-size:1.1rem;transition:color .15s,background .15s}.task-detail-close:hover{color:var(--danger);background:var(--hover)}.task-detail-panel__body{padding:.75rem 1.25rem 1rem;flex:1}.task-detail-title-input{width:100%;font-size:1rem;font-weight:600;font-family:inherit;background:none;border:none;border-bottom:2px solid transparent;color:var(--fg);outline:none;padding:2px 0 4px;transition:border-color .15s}.task-detail-title-input:focus{border-bottom-color:var(--accent)}.task-detail-panel__footer{padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--divider)}.task-detail-delete-btn{display:flex;align-items:center;gap:7px;background:none;border:none;color:var(--fg-muted);font-size:.875rem;font-family:inherit;cursor:pointer;padding:8px 10px;border-radius:6px;min-height:36px;width:100%;transition:color .15s,background .15s}.task-detail-delete-btn:hover{color:var(--danger);background:var(--hover)}.task-detail-delete-confirm p{font-size:.875rem;color:var(--fg-muted);margin-bottom:.625rem}.task-detail-delete-confirm__actions{display:flex;gap:.5rem}.section-collapse-btn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;color:var(--fg-muted);padding:.625rem 0;width:100%;text-align:left;font-family:inherit;min-height:36px;-webkit-user-select:none;user-select:none}.section-collapse-btn:hover{color:var(--fg)}.ungrouped-drop-zone{border-radius:6px;transition:background .15s,outline .15s;outline:2px solid transparent}.ungrouped-drop-zone--dragging{background:color-mix(in srgb,var(--accent) 5%,transparent)}.ungrouped-drop-zone--active{background:var(--accent-dim);outline-color:var(--accent)}.group-section{margin-top:.75rem;border-radius:6px;transition:background .15s,outline .15s;outline:2px solid transparent}.group-section--dragging{background:color-mix(in srgb,var(--accent) 5%,transparent)}.group-section--drag-over{background:var(--accent-dim);outline-color:var(--accent)}.group-section__body{padding-left:12px}.group-header{display:flex;align-items:center;gap:5px;padding:2px 0;margin-bottom:2px}.group-header-collapse{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--fg-muted);padding:2px;border-radius:4px;flex-shrink:0;transition:color .15s}.group-header-collapse:hover{color:var(--fg)}.group-header-name{font-size:.72rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);font-weight:600;flex:1;cursor:pointer;-webkit-user-select:none;user-select:none}.group-header-name-input{font-size:.72rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg);background:none;border:none;border-bottom:1px solid var(--accent);outline:none;flex:1;padding:0}.group-header-count{color:var(--fg-muted);opacity:.7}.group-header-menu{position:relative}.group-header-menu-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--fg-muted);cursor:pointer;padding:3px;border-radius:4px;opacity:0;transition:opacity .15s,color .15s,background .15s}.group-header:hover .group-header-menu-btn{opacity:1}.group-header-menu-btn:hover{color:var(--fg);background:var(--hover)}.group-header-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:140px;z-index:50;padding:4px;display:flex;flex-direction:column;gap:1px}.group-header-dropdown-item{display:flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;color:var(--fg);font-size:.82rem;padding:6px 8px;border-radius:5px;text-align:left;transition:background .1s,color .1s}.group-header-dropdown-item:hover{background:var(--hover)}.group-header-dropdown-item--danger{color:var(--danger)}.group-header-dropdown-item--danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.group-add-row{margin-top:.75rem}.group-add-group-btn{display:flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;color:var(--fg-muted);font-size:.8rem;padding:4px 2px;border-radius:4px;transition:color .15s}.group-add-group-btn:hover{color:var(--accent)}.group-add-form{display:flex}.group-add-input{flex:1;padding:5px 2px;border:none;border-bottom:1px solid var(--accent);font-size:.88rem;background:transparent;color:var(--fg);outline:none}.group-add-input::placeholder{color:var(--fg-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal-popup{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.5rem;max-width:360px;width:calc(100% - 2rem);box-shadow:0 8px 32px #0000002e}.modal-popup__title{font-size:1rem;font-weight:600;margin-bottom:.5rem}.modal-popup__body{font-size:.875rem;color:var(--fg-muted);margin-bottom:1.25rem;line-height:1.5}.modal-popup__actions{display:flex;gap:.5rem}.btn-danger-sm{padding:7px 14px;background:var(--danger);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-family:inherit;font-weight:500;cursor:pointer;transition:opacity .15s}.btn-danger-sm:hover{opacity:.85}.btn-ghost-sm{padding:7px 14px;background:none;color:var(--fg-muted);border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s}.btn-ghost-sm:hover{color:var(--fg);border-color:var(--fg-muted)}.theme-btn-group{display:flex;gap:6px}.theme-btn-group--vertical{flex-direction:column}.wizard-field-label{font-size:.8rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg)}.theme-btn{flex:1;padding:7px 12px;background:none;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:inherit;color:var(--fg-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.theme-btn:hover{color:var(--fg);border-color:var(--fg-muted)}.theme-btn--active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.settings-appearance-fields{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.25rem}.settings-appearance-field{display:flex;flex-direction:column;gap:.625rem}.settings-field-label{font-size:.75rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted)}.task-detail-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--divider)}.task-detail-section__heading{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-muted);margin-bottom:8px}.task-detail-section__fields{display:flex;flex-direction:column;gap:12px}.task-detail-field-btn{display:flex;align-items:center;gap:6px;width:100%;background:none;border:1px solid var(--border);border-radius:6px;color:var(--fg-muted);font-size:var(--detail-field-size);font-family:inherit;padding:8px 12px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.task-detail-field-btn:hover{color:var(--fg);border-color:var(--fg-muted);background:var(--hover)}.task-detail-field-btn--set{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.task-detail-group-wrap{position:relative;width:100%}.task-detail-group-edit{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--accent);border-radius:6px;background:var(--accent-dim)}.task-detail-group-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px;margin:0;list-style:none;z-index:50;box-shadow:0 4px 12px #00000026;max-height:160px;overflow-y:auto}.task-detail-group-suggestion{padding:5px 8px;font-size:.82rem;color:var(--fg);border-radius:4px;cursor:pointer}.task-detail-group-suggestion:hover,.task-detail-group-suggestion--active{background:var(--accent-dim);color:var(--accent)}.task-detail-group-input{flex:1;border:none;background:transparent;font-size:var(--detail-field-size);color:var(--fg);outline:none;min-width:0}.task-detail-group-input::placeholder{color:var(--fg-muted)}.task-detail-group-clear{display:flex;align-items:center;background:none;border:none;cursor:pointer;color:var(--fg-muted);padding:2px;border-radius:3px;flex-shrink:0;transition:color .1s}.task-detail-group-clear:hover{color:var(--danger)}.task-detail-calendar{margin-top:8px}.task-detail-recurrence{display:flex;align-items:flex-start;gap:8px;color:var(--fg-muted)}.task-detail-recurrence__icon{margin-top:3px;flex-shrink:0}.task-detail-recurrence--disabled{opacity:.35;pointer-events:none}.cal{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px;-webkit-user-select:none;user-select:none}.cal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal__heading-btn{font-size:.8rem;font-weight:600;color:var(--fg);background:none;border:none;border-radius:4px;padding:3px 6px;cursor:pointer;font-family:inherit;transition:background .15s}.cal__heading-btn:hover{background:var(--hover)}.cal__heading-btn--static{cursor:default}.cal__heading-btn--static:hover{background:none}.cal__nav{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--fg-muted);cursor:pointer;padding:3px;border-radius:4px;transition:color .15s,background .15s}.cal__nav:hover{color:var(--fg);background:var(--hover)}.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal__day-header{font-size:.65rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);text-align:center;padding:3px 0 5px}.cal__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.75rem;background:none;border:none;border-radius:4px;color:var(--fg);cursor:pointer;transition:background .1s,color .1s}.cal__day:hover{background:var(--hover)}.cal__day--today{color:var(--accent);font-weight:600}.cal__day--selected{background:var(--accent);color:#fff;font-weight:600}.cal__day--selected:hover{background:var(--accent)}.cal__month-grid,.cal__year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:4px}.cal__month-cell,.cal__year-cell{padding:7px 4px;background:none;border:none;border-radius:4px;color:var(--fg);font-size:.78rem;font-family:inherit;cursor:pointer;text-align:center;transition:background .1s,color .1s}.cal__month-cell:hover,.cal__year-cell:hover{background:var(--hover)}.cal__month-cell--today,.cal__year-cell--today{color:var(--accent);font-weight:600}.cal__month-cell--selected,.cal__year-cell--selected{background:var(--accent);color:#fff;font-weight:600}.cal__month-cell--selected:hover,.cal__year-cell--selected:hover{background:var(--accent)}.cal__year-cell--disabled{opacity:.25;cursor:not-allowed}.cal__nav:disabled{opacity:.25;cursor:not-allowed}.rrule-picker{flex:1;font-size:var(--detail-field-size);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.rrule-picker--disabled{opacity:.35;pointer-events:none}.rrule-picker--on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.rrule-toggle-row{display:flex;align-items:center;justify-content:space-between}.rrule-label{color:var(--fg);font-size:var(--detail-field-size)}.rrule-picker--on .rrule-label{color:var(--accent)}.rrule-muted{color:var(--fg-muted);flex-shrink:0}.rrule-toggle{position:relative;width:32px;height:18px;background:var(--border);border:none;border-radius:9px;cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.rrule-toggle:disabled{opacity:.4;cursor:not-allowed}.rrule-toggle--on{background:var(--accent)}.rrule-toggle__thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s}.rrule-toggle--on .rrule-toggle__thumb{transform:translate(14px)}.rrule-controls{margin-top:14px;display:flex;flex-direction:column;gap:14px}.rrule-interval-row{display:flex;align-items:center;justify-content:space-between}.rrule-stepper{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface);transition:border-color .15s}.rrule-stepper:focus-within{border-color:var(--accent)}.rrule-stepper__btn{padding:6px 10px;background:none;border:none;color:var(--fg-muted);font-size:1rem;line-height:1;cursor:pointer;transition:color .12s,background .12s}.rrule-stepper__btn:hover{color:var(--fg);background:var(--hover)}.rrule-interval-input{width:40px;padding:7px 4px;background:none;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);color:var(--fg);font-size:.9rem;font-family:inherit;text-align:center;outline:none}.rrule-interval-input::-webkit-outer-spin-button,.rrule-interval-input::-webkit-inner-spin-button{-webkit-appearance:none}.rrule-interval-input[type=number]{-moz-appearance:textfield}.rrule-pill{padding:6px 10px;background:none;border:1px solid var(--border);border-radius:6px;color:var(--fg-muted);font-size:.78rem;font-family:inherit;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.rrule-pill:hover{color:var(--fg);border-color:var(--fg-muted)}.rrule-pill--on{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.rrule-freq-pills{display:flex;min-width:0;gap:3px;background:var(--hover);border:1px solid var(--border);border-radius:8px;padding:3px}.rrule-freq-pills .rrule-pill{flex:1;text-align:center;padding:7px 4px;border:none;border-radius:5px}.rrule-freq-pills .rrule-pill:hover{border-color:transparent;background:var(--surface)}.rrule-freq-pills .rrule-pill--on{background:var(--surface);border-color:transparent;box-shadow:0 1px 3px #00000014}.rrule-day-chips{display:flex;gap:4px}.rrule-chip{flex:1;aspect-ratio:1;min-width:0;padding:0;background:none;border:1px solid var(--border);border-radius:50%;color:var(--fg-muted);font-size:.66rem;font-family:var(--mono);text-align:center;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.rrule-chip:hover{color:var(--fg);border-color:var(--fg-muted)}.rrule-chip--on{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.rrule-monthly{display:flex;flex-direction:column;gap:14px}.rrule-mode-tabs{display:flex;gap:3px;background:var(--hover);border:1px solid var(--border);border-radius:8px;padding:3px}.rrule-mode-tab{flex:1;padding:7px 8px;background:none;border:none;border-radius:5px;color:var(--fg-muted);font-size:.72rem;font-family:inherit;cursor:pointer;text-align:center;transition:color .12s,background .12s,box-shadow .12s}.rrule-mode-tab:hover{color:var(--fg);background:var(--surface)}.rrule-mode-tab--on{color:var(--accent);background:var(--surface);box-shadow:0 1px 3px #00000014}.rrule-dom-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.rrule-dom-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:5px;color:var(--fg);font-size:.7rem;font-family:inherit;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.rrule-dom-btn:hover{background:var(--hover);border-color:var(--border)}.rrule-dom-btn--on{background:var(--accent);border-color:var(--accent);color:#fff}.rrule-dom-btn--on:hover{background:var(--accent)}.rrule-dom-btn--last{grid-column:span 2;aspect-ratio:unset;padding:5px 4px;font-size:.68rem;color:var(--fg-muted)}.rrule-dom-btn--last:hover{color:var(--fg)}.rrule-dom-btn--last.rrule-dom-btn--on{color:#fff}.rrule-nth-section{display:flex;flex-direction:column;gap:10px}.rrule-nth-pills{display:flex;gap:4px}.rrule-nth-pills .rrule-pill{flex:1;text-align:center;padding-left:4px;padding-right:4px}
