@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--bg: #f8f5ff;--surface: #f3eefa;--surface-strong: #ffffff;--ink: #2d1b4e;--ink-muted: #7c6a94;--line: #dcd0ee;--accent: #7c3aed;--accent-light: #ede5ff;--accent-hover: #6d28d9;--danger: #dc2667;--danger-light: #fde8f0;--radius: 14px;--radius-sm: 10px;--shadow: 0 10px 28px rgba(124, 58, 237, .1);--shadow-hover: 0 14px 36px rgba(124, 58, 237, .16)}*{box-sizing:border-box}html{touch-action:manipulation;-webkit-text-size-adjust:100%;overflow-x:hidden}body{overflow-x:hidden;margin:0;color:var(--ink);font-family:Inter,Avenir Next,Segoe UI,system-ui,sans-serif;background:radial-gradient(circle at 20% 12%,rgba(124,58,237,.07),transparent 30%),radial-gradient(circle at 80% 90%,rgba(219,39,119,.05),transparent 34%),var(--bg);min-height:100vh}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);border-radius:var(--radius-sm);padding:.45rem .75rem;cursor:pointer;transition:all .15s ease}button:hover{border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px);box-shadow:0 2px 8px #7c3aed1f}button:active{transform:translateY(0) scale(.97);box-shadow:none;opacity:.85}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.complete-button{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.complete-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;background:transparent;border:1px solid transparent;color:var(--ink-muted)}.icon-button:hover{background:var(--accent-light);color:var(--accent);border-color:var(--line);transform:none;box-shadow:none}.filter-button{position:relative}.filter-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;border-radius:999px;background:var(--danger);color:#fff;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;padding:0 3px}.danger-button{color:var(--danger)}.danger-button:hover{background:var(--danger-light);border-color:var(--danger)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .55rem;background:var(--surface-strong);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed1a}.search-inline{width:180px;max-width:40vw;border-radius:999px;padding:.4rem .8rem;font-size:.88rem;background:var(--surface)}.search-inline::placeholder{color:color-mix(in srgb,var(--ink-muted) 88%,var(--surface-strong) 12%);opacity:1}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:1.25rem;position:relative;overflow:hidden}.auth-stars{position:absolute;inset:0;background-image:radial-gradient(2px 2px at 20% 30%,rgba(124,58,237,.3),transparent),radial-gradient(2px 2px at 40% 70%,rgba(168,85,247,.25),transparent),radial-gradient(1px 1px at 60% 20%,rgba(219,39,119,.2),transparent),radial-gradient(2px 2px at 80% 50%,rgba(124,58,237,.2),transparent),radial-gradient(1px 1px at 10% 80%,rgba(168,85,247,.3),transparent),radial-gradient(1px 1px at 70% 85%,rgba(124,58,237,.25),transparent),radial-gradient(2px 2px at 50% 10%,rgba(219,39,119,.15),transparent),radial-gradient(1px 1px at 90% 15%,rgba(168,85,247,.2),transparent);animation:twinkle 4s ease-in-out infinite alternate;pointer-events:none}@keyframes twinkle{0%{opacity:.5}to{opacity:1}}.auth-card{width:min(420px,100%);background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:2rem;position:relative;z-index:1;animation:fade-in .4s ease-out}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-icon{font-size:2rem;display:block;margin-bottom:.5rem}.auth-header h1{margin:0;font-size:1.6rem;color:var(--ink)}.auth-subtitle{margin:.25rem 0 0;color:var(--ink-muted);font-size:.95rem}.auth-card form{display:grid;gap:.85rem}.auth-card label{display:grid;gap:.3rem;font-size:.88rem;font-weight:500;color:var(--ink-muted)}.auth-submit{margin-top:.5rem;padding:.6rem 1rem;font-size:1rem;border-radius:var(--radius)}.center-stage{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.app-shell{max-width:1200px;margin:0 auto;min-height:100vh;display:grid;gap:1rem;padding:1rem;align-content:start;animation:fade-in .4s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.topbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem;flex-wrap:wrap;overflow:visible;position:relative;z-index:20}.greeting h1{margin:0;font-size:1.3rem;line-height:1.2}.topbar-subtitle{margin:.15rem 0 0;color:color-mix(in srgb,var(--ink) 72%,var(--ink-muted) 28%);font-size:.9rem;font-weight:500;line-height:1.35}.topbar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.view-mode-toggle{display:inline-flex;align-items:center;background:var(--surface-strong);border:1px solid var(--line);border-radius:999px;padding:2px}.view-mode-toggle button{border:none;border-radius:999px;background:transparent;box-shadow:none;transform:none;padding:.3rem .7rem;font-size:.82rem;color:var(--ink-muted);display:inline-flex;align-items:center;gap:.3rem}.view-icon{flex-shrink:0}.view-mode-toggle button:hover{background:var(--accent-light);color:var(--accent);box-shadow:none}.view-mode-toggle button.active{background:var(--accent);color:#fff}.settings-menu-wrapper{position:relative}.settings-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.4rem;display:grid;gap:2px;min-width:180px;z-index:50;animation:fade-in .15s ease-out}.settings-dropdown button,.settings-dropdown .import-label-compact{display:block;width:100%;text-align:left;border:none;border-radius:8px;padding:.5rem .65rem;font-size:.88rem;background:transparent;cursor:pointer}.settings-dropdown button:hover,.settings-dropdown .import-label-compact:hover{background:var(--accent-light);color:var(--accent);transform:none;box-shadow:none}.import-label-compact input[type=file]{display:none}.settings-dropdown-label{display:grid;gap:.25rem;padding:.5rem .65rem;font-size:.83rem;color:var(--ink-muted);font-weight:500}.settings-theme-select{font-size:.85rem;padding:.35rem .5rem;border-radius:8px;cursor:pointer}.theme-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;margin-top:.4rem}.theme-card{display:flex;flex-direction:column;align-items:center;gap:.28rem;padding:.6rem .4rem;border-radius:12px;border:2px solid var(--line);background:var(--surface);cursor:pointer;transition:all .15s ease;min-height:72px;width:100%}.theme-card:hover{border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.theme-card.active{border-color:var(--accent);background:var(--accent-light);box-shadow:0 0 0 2px var(--accent)}.theme-card:active{transform:scale(.94);opacity:.8}.theme-card-swatch{width:26px;height:26px;border-radius:50%;display:block;box-shadow:0 2px 6px #0000002e;flex-shrink:0}.theme-card-emoji{font-size:1.05rem;line-height:1}.theme-card-label{font-size:.65rem;font-weight:600;color:var(--ink);text-align:center;line-height:1.2;word-break:break-word}.anim-picker{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.anim-pill{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem .5rem;border-radius:10px;border:2px solid var(--line);background:var(--surface);min-width:52px;font-size:1.25rem;line-height:1;cursor:pointer;transition:all .15s ease}.anim-pill:hover{border-color:var(--accent);background:var(--accent-light)}.anim-pill.active{border-color:var(--accent);background:var(--accent-light);box-shadow:0 0 0 2px var(--accent)}.anim-pill:active{transform:scale(.92);opacity:.8}.anim-pill-label{font-size:.57rem;font-weight:600;color:var(--ink-muted);text-align:center;line-height:1.15;max-width:56px;word-break:break-word}.settings-inline-file{display:inline-flex!important;align-items:center;width:auto!important}.filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem;animation:fade-in .2s ease-out}.recurrence-composer{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem;align-items:end;animation:fade-in .2s ease-out}.google-calendar-settings{display:grid;gap:.65rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem;animation:fade-in .2s ease-out}.google-calendar-settings h2{margin:0}.google-calendar-help{margin:0;color:var(--ink-muted)}.google-calendar-connection-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.google-calendar-connection-row p{margin:0;color:var(--ink-muted)}.google-calendar-actions{display:inline-flex;gap:.4rem;flex-wrap:wrap}.google-calendar-list{display:grid;gap:.35rem}.google-calendar-feed-form{display:grid;gap:.65rem}.google-calendar-item{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink)}.google-calendar-item input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--accent)}.google-calendar-feed-item{display:grid;gap:.45rem;padding:.55rem .6rem;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface-strong) 92%,transparent)}.google-calendar-feed-head{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.google-calendar-feed-badges{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.google-calendar-feed-metadata{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.google-calendar-feed-actions{display:inline-flex;gap:.45rem;flex-wrap:wrap}.google-calendar-feed-actions .danger-button{justify-self:start}.google-calendar-feed-sync{margin:0;font-size:.85rem;color:var(--ink-muted)}.google-calendar-feed-error{margin:0;font-size:.85rem;color:#ff7da0}.google-calendar-owner-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.14rem .5rem;font-size:.72rem;font-weight:700;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,white 12%);color:var(--ink-muted)}.google-calendar-feed-kind-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.14rem .5rem;font-size:.72rem;font-weight:700;border:1px solid rgba(217,119,6,.25);background:#f59e0b1a;color:#b45309;text-transform:capitalize}.recurrence-composer h2{grid-column:1 / -1;margin:0}.weekday-picker{display:grid;gap:.35rem}.weekday-options{display:flex;flex-wrap:wrap;gap:.35rem}.weekday-chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem;background:var(--surface-strong);font-size:.86rem}.weekday-chip input{width:auto}.weekday-chip.active{border-color:var(--accent);background:var(--accent-light)}.layout-grid{display:grid;gap:1rem}.task-list{display:grid;gap:.5rem}.task-list-container{min-width:0}.empty-state{text-align:center;padding:3rem 1rem;color:var(--ink-muted);font-size:1.1rem}.task-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:all .15s ease;animation:card-enter .25s ease-out;overflow:hidden;position:relative;touch-action:pan-y}.task-card-foreground{position:relative;z-index:1;padding:.65rem .8rem;background:var(--surface-strong);transition:transform .12s ease;will-change:transform}@keyframes card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.task-card:hover{border-color:var(--accent);box-shadow:0 2px 12px #7c3aed1a}.task-card.is-complete{opacity:.6}.task-card.is-complete:hover{opacity:.8}.task-card.is-expanded{box-shadow:var(--shadow);border-color:var(--accent)}.task-card-editing{border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed1a;cursor:default;padding:.65rem .8rem}.swipe-reveal{position:absolute;left:0;top:0;bottom:0;background:#22c55e;border-radius:12px 0 0 12px;display:flex;align-items:center;justify-content:center;z-index:0;transition:width .12s ease}.swipe-check{color:#fff;font-size:1.4rem;font-weight:700}.task-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.task-row-left{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1 1 0}.task-row-left h4{margin:0;font-size:.95rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-row-left h4.title-done{text-decoration:line-through;color:var(--ink-muted)}.task-row-right{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;flex-shrink:1;min-width:0}.check-icon{font-size:1.1rem;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;color:var(--ink-muted);transition:all .15s ease}.check-icon:hover{color:var(--accent);background:var(--accent-light)}.check-icon:active{transform:scale(.88);opacity:.7}.check-icon.done{color:var(--accent);font-weight:700}.task-detail{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--line);display:grid;gap:.5rem;cursor:default}.task-detail-title{margin:0;font-size:.95rem;font-weight:600;line-height:1.35;color:var(--ink);white-space:normal;overflow-wrap:anywhere}.task-description{margin:0;font-size:.88rem;color:var(--ink-muted);line-height:1.4}.task-extra-info{margin:0;font-size:.85rem;color:var(--ink);white-space:pre-wrap;line-height:1.4;padding:.45rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-strong)}.task-linked-list-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.task-linked-list-row button{font-size:.78rem;padding:.2rem .45rem;border-radius:var(--radius-sm)}.priority-chip{font-size:.65rem;border-radius:999px;padding:.12rem .4rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.priority-high{background:var(--danger-light);color:var(--danger);border:1px solid rgba(220,38,103,.3)}.priority-low{background:var(--accent-light);color:var(--accent);border:1px solid rgba(124,58,237,.3)}.category-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;border-radius:999px;border:1px solid;padding:.1rem .45rem;font-weight:500}.category-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.due-chip{font-size:.7rem;font-weight:500;white-space:nowrap}.subtask-count-chip{display:inline-flex;align-items:center;justify-content:center;min-width:2.1rem;padding:.12rem .45rem;border-radius:999px;border:1px solid var(--accent);background:var(--accent-light);color:var(--accent);font-size:.7rem;font-weight:700;line-height:1;white-space:nowrap;flex-shrink:0}.subtask-count-chip.is-complete{border-color:#10b981;background:#10b98124;color:#0f766e}.assignee-avatars{display:inline-flex;align-items:center;flex-shrink:0}.assignee-avatars .owner-avatar-chip+.owner-avatar-chip{margin-left:-6px}.owner-avatar-chip{display:inline-flex;align-items:center;flex-shrink:0}.owner-chip,.recurrence-chip{font-size:.72rem;border-radius:999px;border:1px solid var(--line);padding:.15rem .5rem;color:var(--ink-muted)}.avatar{border-radius:50%;flex-shrink:0}.assignee-fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem .65rem .4rem;margin:0}.assignee-fieldset legend{font-size:.83rem;color:var(--ink-muted);padding:0 .3rem}.assignee-checks{display:flex;gap:.75rem;flex-wrap:wrap}.assignee-check-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem;cursor:pointer;min-height:24px}.assignee-check-label input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px;margin:0;flex-shrink:0}.task-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.83rem;color:var(--ink-muted);align-items:center}.subtask-progress-wrapper{display:inline-flex;align-items:center;gap:.25rem}.progress-bar{display:inline-block;width:40px;height:5px;background:var(--line);border-radius:3px;overflow:hidden}.progress-fill{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.progress-count{font-size:.68rem;color:var(--ink-muted)}.task-actions{display:flex;gap:.4rem;flex-wrap:wrap}.edit-form{display:grid;gap:.5rem}.edit-form textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .55rem;background:var(--surface-strong);color:var(--ink);resize:vertical}.edit-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed1a}.edit-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.edit-row label{display:grid;gap:.2rem;font-size:.83rem;color:var(--ink-muted)}.modal-form input[type=datetime-local],.edit-form input[type=datetime-local]{min-width:260px}.calendar-shell{display:grid;gap:.65rem}.calendar-filter-bar{display:grid;gap:.55rem;border:1px solid var(--line);background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent-light) 60%,transparent) 0%,transparent 58%),var(--surface);border-radius:16px;padding:.7rem .8rem}.calendar-ownership-toggle,.calendar-source-chip-row,.view-mode-toggle{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.calendar-ownership-toggle,.view-mode-toggle{padding:.22rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 90%,transparent)}.calendar-ownership-toggle button,.view-mode-toggle button,.calendar-source-chip{border-radius:999px;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.calendar-ownership-toggle button.active,.view-mode-toggle button.active{background:var(--accent);color:#fff;border-color:transparent;transform:translateY(-1px)}.calendar-source-chip{border:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 90%,transparent);color:var(--ink-muted);padding:.3rem .7rem;font-size:.78rem;font-weight:700}.calendar-source-chip.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent-deep)}.calendar-layer-controls{display:grid;gap:.6rem;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:.7rem .8rem}.calendar-layer-group{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.calendar-layer-group-label{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.calendar-layer-chip{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.24rem .62rem;font-size:.78rem;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink-muted);box-shadow:none;transform:none}.calendar-layer-chip.is-active{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.calendar-layer-chip:hover{transform:none;box-shadow:none}.calendar-layer-chip-source{border-color:var(--calendar-source-border, var(--line));background:var(--calendar-source-bg, var(--surface-strong));color:var(--calendar-source-ink, var(--ink-muted))}.calendar-layer-chip-source.is-active{border-color:var(--calendar-source-border, var(--accent));background:var(--calendar-source-bg, var(--accent-light));color:var(--calendar-source-ink, var(--accent))}.calendar-layer-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;border-radius:999px;padding:0 .32rem;font-size:.7rem;font-weight:700;background:color-mix(in srgb,currentColor 10%,white 90%)}.calendar-toolbar{display:flex;gap:.5rem;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:.65rem .75rem;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius)}.calendar-nav{display:inline-flex;align-items:center;gap:.4rem}.calendar-nav h3{margin:0 .3rem;font-size:.96rem}.calendar-weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;padding:0 .1rem}.calendar-weekday-row span{text-align:center;font-size:.78rem;color:var(--ink-muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.calendar-day-cell{border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);min-height:124px;padding:.4rem .45rem;display:grid;align-content:start;gap:.35rem;cursor:pointer}.calendar-day-cell:hover{border-color:var(--accent);box-shadow:0 2px 10px #7c3aed1a}.calendar-day-cell.is-outside{opacity:.55}.calendar-day-cell.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px #7c3aed24}.calendar-day-number{font-size:.82rem;font-weight:700;color:var(--ink-muted)}.calendar-day-pills{display:grid;gap:.25rem}.calendar-source-pill{width:100%;display:grid;gap:.18rem;padding:.3rem .38rem;border:1px solid var(--calendar-source-border, var(--line));background:var(--calendar-source-bg, var(--surface));color:var(--calendar-source-ink, var(--ink));border-radius:10px;box-shadow:none;transform:none;text-align:left}.calendar-source-pill:hover{border-color:var(--calendar-source-border, var(--accent));background:var(--calendar-source-bg, var(--surface));box-shadow:none;transform:none}.calendar-pill-topline{display:inline-flex;align-items:center;gap:.24rem;min-width:0;flex-wrap:wrap}.calendar-pill-main{display:inline-flex;align-items:center;gap:.28rem;min-width:0}.calendar-pill-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.calendar-source-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--calendar-source-border, var(--line));background:var(--calendar-source-bg, var(--surface));color:var(--calendar-source-ink, var(--ink));padding:.12rem .42rem;font-size:.68rem;font-weight:700;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-source-badge.is-compact{font-size:.62rem;padding:.1rem .34rem}.calendar-source-badge-more{border-color:var(--line);background:color-mix(in srgb,var(--surface) 88%,white 12%);color:var(--ink-muted)}.calendar-owner-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.14rem .46rem;font-size:.66rem;font-weight:700;border:1px solid var(--line)}.calendar-owner-badge.is-mine{background:color-mix(in srgb,var(--accent-light) 80%,white 20%);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 25%,white 75%)}.calendar-owner-badge.is-household{background:color-mix(in srgb,#f59e0b 14%,white 86%);color:#b45309;border-color:#d9770640}.calendar-layer-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.calendar-layer-badges{display:inline-flex;align-items:center;gap:.3rem;flex-wrap:wrap}.calendar-layer-time{font-size:.74rem;font-weight:600;color:var(--ink-muted)}.calendar-task-layer-card{display:grid;gap:.35rem}.calendar-task-pill{font-size:.72rem;line-height:1.2}.calendar-task-pill em{font-style:normal;color:var(--ink-muted);flex-shrink:0}.calendar-task-pill.is-complete{opacity:.65}.calendar-google-pill{width:100%;border:1px solid var(--calendar-source-accent, #2563eb);background:var(--calendar-source-soft, rgba(59, 130, 246, .15));color:var(--calendar-source-accent, #1d4ed8);border-radius:8px;padding:.18rem .32rem;display:flex;align-items:center;justify-content:space-between;gap:.25rem;font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-google-pill span,.calendar-google-pill em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-google-pill em{font-style:normal;opacity:.8;flex-shrink:0}.calendar-more-pill{font-size:.72rem;color:var(--ink-muted);padding:0 .2rem}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.6rem}.calendar-week-column{border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);padding:.45rem;min-width:0;display:grid;gap:.45rem;align-content:start}.calendar-week-header{display:grid;gap:.1rem;justify-items:start;width:100%;border:1px dashed var(--line);border-radius:10px;background:var(--surface);padding:.35rem .45rem;text-align:left;box-shadow:none}.calendar-week-header span{color:var(--ink-muted);font-size:.72rem}.calendar-week-header strong{font-size:.82rem}.calendar-week-tasks{display:grid;gap:.4rem}.calendar-week-tasks .task-card{padding:.52rem .56rem}.google-event-card{border:1px solid var(--calendar-source-border, #60a5fa);background:var(--calendar-source-bg, rgba(96, 165, 250, .08));border-radius:var(--radius-sm);padding:.45rem .55rem;display:grid;gap:.3rem}.google-event-head{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.google-event-head h5{margin:0;font-size:.9rem}.google-event-chip{display:inline-flex;border-radius:999px;padding:.1rem .4rem;font-size:.66rem;font-weight:700;background:var(--calendar-source-soft, #dbeafe);color:var(--calendar-source-accent, #1d4ed8)}.google-event-meta{margin:0;font-size:.8rem;color:var(--ink-muted)}.google-event-source-line{margin:0;font-size:.76rem;color:var(--ink);opacity:.78}.google-event-participants{display:inline-flex;gap:.25rem}.google-event-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.calendar-day-empty{margin:.35rem 0;color:var(--ink-muted);font-size:.78rem;text-align:center}.calendar-day-detail{border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);padding:.6rem;display:grid;gap:.5rem}.calendar-day-detail-head{display:flex;gap:.5rem;justify-content:space-between;align-items:center;flex-wrap:wrap}.calendar-day-detail-head h4{margin:0;font-size:.9rem}.calendar-day-detail-subtitle{margin:.2rem 0 0;font-size:.78rem;color:var(--ink-muted)}.calendar-day-detail-actions{display:inline-flex;gap:.35rem}.calendar-day-detail-tasks{display:grid;gap:.4rem}.calendar-empty{padding:1.4rem 1rem}.planner-panel,.reschedule-panel,.ritual-bundles-panel{border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at top right,rgba(124,58,237,.08),transparent 36%),linear-gradient(180deg,var(--surface),var(--surface-strong));padding:.8rem;display:grid;gap:.75rem}.planner-panel-head,.reschedule-panel-head,.ritual-bundles-head{display:flex;justify-content:space-between;align-items:start;gap:.75rem;flex-wrap:wrap}.planner-eyebrow{margin:0 0 .15rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.planner-panel-head h3,.reschedule-panel-head h3,.ritual-bundles-head h3{margin:0;font-size:1rem}.planner-summary{margin:.2rem 0 0;color:color-mix(in srgb,var(--ink) 70%,var(--ink-muted) 30%);font-size:.88rem;line-height:1.4}.collapsible-panel>.collapsible-head{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:start;gap:.75rem;flex-wrap:wrap}.collapsible-panel>.collapsible-head::-webkit-details-marker{display:none}.collapsible-head-copy{flex:1 1 auto;min-width:0}.collapsible-head-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.collapsible-chevron{display:inline-block;width:10px;height:10px;border-right:2px solid var(--ink-muted);border-bottom:2px solid var(--ink-muted);transform:rotate(45deg);transition:transform .2s ease;margin-top:.35rem;flex-shrink:0}details[open]>.collapsible-head>.collapsible-chevron,details[open]>.collapsible-head>.collapsible-head-meta>.collapsible-chevron{transform:rotate(-135deg);margin-top:.6rem}.planner-summary-detail{font-style:italic}.planner-load-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:700}.planner-load-chip.is-open{background:#10b9811f;color:#047857}.planner-load-chip.is-steady{background:#f59e0b1f;color:#b45309}.planner-load-chip.is-packed{background:#ef44441f;color:#b91c1c}.planner-events-row{display:flex;gap:.55rem;overflow-x:auto;padding-bottom:.1rem}.planner-event-pill{min-width:170px;border:1px solid rgba(96,165,250,.22);border-radius:12px;background:#60a5fa1a;padding:.5rem .65rem;display:grid;gap:.2rem}.planner-event-pill strong{font-size:.85rem}.planner-event-time{font-size:.72rem;color:var(--ink-muted)}.planner-bucket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.planner-bucket{border:1px solid var(--line);border-radius:14px;background:#ffffff59;padding:.65rem;display:grid;gap:.55rem;align-content:start}.planner-bucket-head{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.planner-bucket-head h4{margin:0;font-size:.88rem}.planner-bucket-head span{font-size:.74rem;color:var(--ink-muted)}.planner-empty{margin:0;font-size:.8rem;color:var(--ink-muted)}.planner-task-card{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:.55rem;display:grid;gap:.45rem}.planner-task-time{font-size:.72rem;font-weight:700;color:var(--ink-muted)}.planner-task-body{display:grid;gap:.4rem}.planner-task-topline{display:flex;align-items:center;gap:.4rem;justify-content:space-between;flex-wrap:wrap}.planner-task-topline strong{font-size:.9rem}.planner-task-meta{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.planner-reason-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.16rem .45rem;font-size:.7rem;font-weight:700;background:#0f172a0f;color:var(--ink-muted)}.planner-reason-chip.is-deadline{background:#3b82f61f;color:#1d4ed8}.planner-reason-chip.is-focus{background:#7c3aed1f;color:#6d28d9}.planner-reason-chip.is-catch_up{background:#ef44441f;color:#b91c1c}.planner-reason-chip.is-backlog{background:#10b9811f;color:#047857}.planner-note,.reschedule-current-due{font-size:.76rem;color:var(--ink-muted)}.planner-avatar-row{display:inline-flex;align-items:center;gap:.2rem;flex-wrap:wrap}.planner-avatar-chip{display:inline-flex;align-items:center}.planner-carryover{border-top:1px dashed var(--line);padding-top:.55rem}.planner-carryover strong{display:block;margin-bottom:.2rem;font-size:.82rem}.planner-carryover p{margin:0;color:var(--ink-muted);font-size:.82rem}.reschedule-list{display:grid;gap:.6rem}.reschedule-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:.7rem;display:grid;gap:.6rem}.reschedule-card-main{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.reschedule-card-copy{display:grid;gap:.22rem}.reschedule-options{display:flex;gap:.45rem;flex-wrap:wrap}.reschedule-options button{border-radius:999px;border:1px solid rgba(124,58,237,.2);background:#7c3aed14;color:var(--accent);padding:.35rem .7rem;font-size:.78rem;font-weight:600}.reschedule-options button:hover:not(:disabled){border-color:#7c3aed59;background:#7c3aed24}.reschedule-options button:disabled{opacity:.6}.ritual-bundles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.ritual-bundle-card{border:1px solid var(--line);border-radius:14px;background:#ffffff80;padding:.75rem;display:grid;gap:.7rem}.ritual-bundle-copy{display:grid;gap:.25rem}.ritual-bundle-copy strong{font-size:1rem;line-height:1.3}.ritual-bundle-copy p{margin:0;font-size:.9rem;color:color-mix(in srgb,var(--ink) 68%,var(--ink-muted) 32%);line-height:1.45}.ritual-bundle-copy small{color:color-mix(in srgb,var(--ink) 62%,var(--ink-muted) 38%);font-size:.82rem;line-height:1.35}.lists-shell{display:grid;gap:.75rem}.lists-shell.is-collapsed{grid-template-columns:1fr}.lists-browser,.lists-detail{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.75rem}.lists-create-form{display:grid;gap:.5rem}.lists-create-form h3{margin:0}.lists-checkbox{display:inline-flex;align-items:center;gap:.35rem;font-size:.86rem;color:var(--ink-muted)}.lists-checkbox input{width:auto}.lists-browser-items{margin-top:.75rem;display:grid;gap:.45rem}.list-select-item{width:100%;border:1px solid var(--line);background:var(--surface-strong);border-radius:var(--radius-sm);padding:.5rem .6rem;text-align:left;display:grid;gap:.15rem}.list-select-item strong{font-size:.92rem}.list-select-item small{color:var(--ink-muted);font-size:.76rem}.list-select-item.is-active{border-color:var(--accent);box-shadow:0 0 0 2px #7c3aed1f}.list-type-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.12rem .42rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;width:fit-content}.list-theme-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.12rem .42rem;font-size:.68rem;font-weight:600;width:fit-content;margin-left:.3rem}.list-type-chip.shopping{background:#e0f2fe;color:#075985}.list-type-chip.planning{background:#ede9fe;color:#5b21b6}.list-type-chip.general{background:#e2e8f0;color:#334155}.list-theme-chip.default{background:#ede9fe;color:#5b21b6}.list-theme-chip.shopping{background:#dcfce7;color:#166534}.list-theme-chip.wish{background:#fce7f3;color:#9d174d}.list-theme-chip.stagecoach{background:#fef3c7;color:#92400e}.list-theme-chip.pirate{background:#1e293b;color:#f8fafc}.list-theme-chip.space{background:#0f172a;color:#a5f3fc}.list-theme-chip.garden{background:#dcfce7;color:#14532d}.list-theme-chip.snowfall{background:#e0f2fe;color:#0c4a6e}.list-theme-chip.fiesta{background:#fef3c7;color:#7c2d12}.lists-detail{display:grid;gap:.65rem;align-content:start}.lists-detail-head{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.lists-detail-head h3{margin:0}.lists-detail-head p{margin:.2rem 0 0;color:var(--ink-muted);font-size:.84rem;display:inline-flex;align-items:center;flex-wrap:wrap;gap:.3rem}.lists-detail-actions{display:inline-flex;gap:.35rem;flex-wrap:wrap}.lists-items-toolbar{display:flex;justify-content:flex-end}.lists-add-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr) auto;gap:.45rem;align-items:center}.lists-add-item input{min-width:0}.lists-items{display:grid;gap:.4rem}.list-item-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-strong);padding:.45rem .55rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:start}.list-item-row label{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.list-item-row label span{overflow:hidden;text-overflow:ellipsis}.list-item-row input[type=checkbox]{width:auto;accent-color:var(--accent)}.list-item-row.is-complete label span{text-decoration:line-through;color:var(--ink-muted)}.list-item-actions{display:inline-flex;gap:.3rem;flex-wrap:wrap;justify-content:flex-end}.list-item-meta{display:grid;gap:.2rem;margin-left:1.6rem}.list-item-meta small{color:var(--ink-muted);font-size:.77rem}.list-item-meta a{font-size:.78rem}.list-item-edit-form{display:grid;gap:.35rem;min-width:0}.brain-dump-shell{display:grid;gap:.75rem}.brain-dump-input,.brain-dump-preview{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.8rem;display:grid;gap:.55rem}.brain-dump-input h2{margin:0}.brain-dump-subtitle{margin:0;color:var(--ink-muted);font-size:.88rem}.brain-dump-input textarea{resize:vertical}.brain-dump-hint{color:var(--ink-muted)}.brain-dump-actions{display:flex;gap:.45rem;flex-wrap:wrap}.brain-dump-summary{margin:0;color:var(--ink)}.brain-dump-group{display:grid;gap:.35rem}.brain-dump-group h4,.brain-dump-group h3{margin:0}.brain-dump-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-strong);padding:.45rem .55rem;display:grid;gap:.2rem}.brain-dump-card p{margin:0}.subtask-panel{border-top:1px dashed var(--line);padding-top:.6rem;margin-top:.3rem;display:grid;gap:.4rem}.subtask-heading{margin:0 0 .2rem;font-size:.8rem;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em}.subtask-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:.25rem}.subtask-item{display:flex;align-items:center}.subtask-item label{display:flex;align-items:flex-start;gap:.4rem;font-size:.88rem;cursor:pointer}.subtask-extra-info{display:block;margin-top:.15rem;color:var(--ink-muted);font-size:.78rem;line-height:1.3;white-space:pre-wrap}.subtask-item input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.subtask-add-form{display:flex;gap:.35rem;margin-top:.15rem}.subtask-add-form input{flex:1;font-size:.85rem;padding:.3rem .5rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-strong);color:var(--ink)}.subtask-add-form input:focus{outline:none;border-color:var(--accent)}.subtask-add-form button{font-size:1rem;font-weight:700;padding:.2rem .55rem;border-radius:var(--radius-sm);background:var(--accent);color:#fff;border:none;cursor:pointer;line-height:1}.subtask-done{text-decoration:line-through;color:var(--ink-muted)}.weather-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;transition:opacity .6s ease;opacity:1}.weather-backdrop.is-dimmed{opacity:.2}.weather-gradient-layer{position:absolute;inset:0;transition:background 2s ease;will-change:background}.weather-particle-canvas{position:absolute;inset:0;width:100%;height:100%}@media(prefers-reduced-motion:reduce){.weather-gradient-layer{transition:none!important}.weather-particle-canvas{display:none}}.companion-badge{position:fixed;right:1rem;bottom:1rem;z-index:40;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;pointer-events:none}.companion-emoji{pointer-events:auto;width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);font-size:32px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.companion-emoji:hover{box-shadow:var(--shadow-hover)}.companion-emoji.is-mood-resting{animation:companion-breathe 4s ease-in-out infinite}.companion-emoji.is-mood-curious{animation:companion-tilt 2.4s ease-in-out infinite}.companion-emoji.is-mood-excited{animation:companion-bounce .6s ease-in-out 0s 4}.companion-emoji.is-mood-proud{animation:companion-breathe 3s ease-in-out infinite;box-shadow:0 0 0 2px #facc1559,var(--shadow)}@keyframes companion-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes companion-tilt{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes companion-bounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-8px) scale(1.08)}50%{transform:translateY(0) scale(.96)}75%{transform:translateY(-4px) scale(1.04)}}.companion-bubble{pointer-events:auto;max-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:.6rem .75rem;animation:companion-bubble-in .18s ease-out}.companion-bubble-heading{margin:0 0 .2rem;font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:.02em}.companion-bubble-body{margin:0;font-size:.82rem;color:var(--ink);line-height:1.3}.companion-bubble-body.is-muted{color:var(--ink-muted);font-size:.74rem;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.companion-chronicle-button{margin-top:.45rem;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);padding:.25rem .5rem;border-radius:999px;font-size:.72rem;cursor:pointer}@keyframes companion-bubble-in{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.companion-emoji,.companion-emoji.is-mood-resting,.companion-emoji.is-mood-curious,.companion-emoji.is-mood-excited,.companion-emoji.is-mood-proud,.companion-bubble{animation:none!important}}.chronicle-strip{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.75rem;margin-bottom:.75rem;display:grid;gap:.65rem}.chronicle-strip-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chronicle-strip-head h3{margin:0;font-size:.95rem}.chronicle-strip-open{font-size:.76rem;border:1px solid var(--line);background:var(--surface-strong);border-radius:999px;padding:.2rem .55rem;cursor:pointer}.chronicle-strip-empty{margin:0;color:var(--ink-muted);font-size:.86rem;font-style:italic}.chronicle-strip-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.chronicle-strip-item{border:1px solid var(--line);background:var(--surface-strong);border-radius:12px;padding:.45rem .55rem;min-height:56px}.chronicle-strip-title{margin:0;font-size:.84rem;font-weight:700;line-height:1.2}.chronicle-strip-body{margin:.22rem 0 0;font-size:.76rem;line-height:1.35;color:var(--ink-muted)}.chronicle-strip-meta{margin:.3rem 0 0;font-size:.68rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.chronicle-strip-mobile-summary{display:none}.chronicle-modal{width:min(640px,100%);max-height:min(86vh,900px);display:grid;gap:.7rem}.chronicle-modal-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.chronicle-modal-list{display:grid;gap:.55rem;overflow-y:auto;max-height:70vh}.chronicle-modal-entry{border:1px solid var(--line);border-radius:10px;padding:.5rem .6rem;background:var(--surface-strong)}.chronicle-modal-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.chronicle-modal-meta{margin:.25rem 0 0;color:var(--ink-muted);font-size:.72rem}.chronicle-modal-tags{margin:.25rem 0 0;font-size:.68rem;line-height:1.3;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.activity-feed{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem;max-height:70vh;overflow:auto}.activity-feed h2{margin-top:0}.activity-feed ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.activity-item{border-bottom:1px dashed var(--line);padding-bottom:.45rem}.activity-row{display:flex;align-items:center;gap:.45rem}.activity-row p{margin:0;font-size:.88rem;line-height:1.3}.activity-row em{font-style:normal;color:var(--ink);font-weight:500}.activity-feed time{color:var(--ink-muted);font-size:.75rem;margin-left:2.2rem}.empty-feed{color:var(--ink-muted);font-style:italic;text-align:center}.due-overdue{color:var(--danger);font-weight:600}.due-soon{color:#b45309;font-weight:600}.due-ok{color:var(--accent)}.warning-banner{color:#7c5e10;background:#fef3cd;border:1px solid #f0d86e;border-radius:var(--radius-sm);padding:.45rem .6rem;margin:0;text-align:center;font-size:.85rem}.error-text,.error-banner{color:#831f3d;background:#fde8f0;border:1px solid #f0a0c0;border-radius:var(--radius-sm);padding:.45rem .6rem;margin:0}.fab{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:1.8rem;font-weight:300;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #7c3aed59;cursor:pointer;z-index:100;transition:all .2s ease}.fab:hover{transform:scale(1.1);box-shadow:0 6px 28px #7c3aed73;background:var(--accent-hover);border:none}.modal-overlay{position:fixed;inset:0;background:#2d1b4e66;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;z-index:200;padding:1rem;animation:fade-in .2s ease-out}.modal-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-hover);padding:1.5rem;width:min(440px,100%);animation:modal-in .25s ease-out}.settings-modal-card{width:min(760px,100%);max-height:min(90vh,900px);overflow:auto}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.settings-modal-header h2{margin:0}.settings-section{display:grid;gap:.65rem;border:1px solid var(--line);border-radius:14px;padding:.85rem;margin-bottom:.85rem;background:color-mix(in srgb,var(--surface-strong) 96%,transparent)}.settings-section h3{margin:0}.settings-section h4{margin:0;font-size:.95rem}.settings-section p{margin:0;color:var(--ink-muted);font-size:.86rem}.settings-section label{display:grid;gap:.3rem;color:var(--ink-muted);font-size:.84rem}.settings-celebration-categories{display:grid;gap:.55rem}.settings-celebration-category{display:grid;gap:.45rem;border:1px solid var(--line);border-radius:12px;padding:.65rem;background:color-mix(in srgb,var(--surface) 90%,transparent)}.settings-celebration-actions{display:flex;flex-wrap:wrap;gap:.45rem}.settings-animation-catalog{display:grid;gap:.45rem}.settings-animation-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--line);border-radius:10px;padding:.5rem .6rem}.settings-modal-actions{margin-top:1rem}@keyframes modal-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-card h2{margin:0 0 1rem;font-size:1.2rem}.modal-form{display:grid;gap:.75rem}.modal-form label{display:grid;gap:.25rem;font-size:.85rem;color:var(--ink-muted)}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;width:100%;line-height:1.2;font-size:.85rem;color:var(--ink-muted)}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin:0;flex-shrink:0}.checkbox-label-text{color:var(--ink);font-weight:500}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.status-pill{position:fixed;right:1rem;bottom:5rem;background:var(--ink);color:#fff;padding:.4rem .7rem;border-radius:999px;font-size:.85rem;animation:fade-in .2s ease-out}.toast-container{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;gap:.5rem;z-index:1000;pointer-events:none}.toast{pointer-events:auto;padding:.6rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;box-shadow:var(--shadow);cursor:pointer;animation:toast-in .3s ease-out;white-space:nowrap}.toast-success{background:var(--accent);color:#fff}.toast-error{background:var(--danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.skeleton-card{pointer-events:none}.skeleton-line{background:var(--line);border-radius:6px;animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-title{height:1rem;width:60%}.skeleton-text{height:.8rem;width:80%}.skeleton-meta{height:.7rem;width:40%}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}@media(max-width:959px){.lists-shell,.lists-add-item,.list-item-row{grid-template-columns:1fr}.list-item-actions{justify-content:flex-start}.brain-dump-shell,.calendar-week-grid{grid-template-columns:1fr}.calendar-month-grid{gap:.3rem}.calendar-day-cell{min-height:96px;padding:.3rem}.calendar-layer-controls{padding:.6rem}.calendar-task-pill{font-size:.67rem}}@media(max-width:639px){.activity-feed{display:none}.layout-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:stretch;gap:.5rem;padding:.6rem .75rem}.greeting h1{font-size:1.16rem}.topbar-subtitle{font-size:.83rem}.topbar-actions{justify-content:space-between;gap:.4rem}.search-inline{width:100%;max-width:none;order:10;min-height:42px;font-size:.94rem}.view-mode-toggle{flex:1;justify-content:center}.view-mode-toggle button{flex:1;text-align:center;padding:.45rem .3rem;font-size:.78rem}.check-icon{width:44px;height:44px;font-size:1.3rem;border-right:1px solid var(--line);border-radius:50% 0 0 50%;margin-right:.25rem;margin-left:-.4rem}.icon-button{width:44px;height:44px}.task-card:not(.is-expanded) .priority-chip,.task-card:not(.is-expanded) .category-chip,.task-card:not(.is-expanded) .subtask-progress-wrapper{display:none}.task-row{flex-wrap:nowrap}.task-row-right{flex-wrap:nowrap;overflow:hidden}.task-card.is-expanded .task-row{flex-wrap:wrap;align-items:flex-start}.task-card.is-expanded .task-row-left{flex:1 1 100%}.task-card.is-expanded .task-row-left h4{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}.task-card.is-expanded .task-row-right{width:100%;overflow:visible;flex-wrap:wrap;padding-left:2.2rem}.task-row-left{min-width:0}.task-row-left h4{font-size:.88rem}.filters-row{grid-template-columns:1fr 1fr}.edit-row{grid-template-columns:1fr}.modal-form input[type=datetime-local],.edit-form input[type=datetime-local]{min-width:0}.modal-overlay{align-items:flex-end;padding:0}.modal-card{width:100%;border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto;animation:modal-slide-up .3s ease-out}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.fab{bottom:1rem;right:1rem}.view-label{display:none}.view-mode-toggle button{padding:.5rem .6rem;min-height:40px}.lists-add-item{grid-template-columns:1fr}.calendar-day-cell{min-height:72px;padding:.2rem}.calendar-layer-chip,.calendar-day-number{font-size:.72rem}.calendar-task-pill{font-size:.62rem;padding:.1rem .3rem}.list-item-row{min-height:52px;align-items:center}.list-item-row input[type=checkbox]{width:22px;height:22px;min-width:22px;min-height:22px;flex-shrink:0}.theme-picker-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr))}.theme-card{min-height:66px;padding:.5rem .3rem}.anim-pill{min-width:48px;font-size:1.1rem}.settings-animation-row{flex-direction:column;align-items:flex-start;gap:.4rem}.settings-animation-row>button{align-self:flex-end}.collapsible-panel{padding:.6rem .7rem;gap:.55rem}.collapsible-panel:not([open]){padding:.55rem .7rem}.collapsible-panel:not([open])>.collapsible-head{align-items:center}.collapsible-panel:not([open]) .planner-eyebrow{font-size:.62rem;margin:0}.collapsible-panel:not([open]) .collapsible-head h3{font-size:.96rem;margin:.1rem 0 0}.collapsible-panel:not([open]) .planner-summary{font-size:.8rem;color:color-mix(in srgb,var(--ink) 68%,var(--ink-muted) 32%)}.planner-bucket-grid{grid-template-columns:1fr;gap:.55rem}.planner-bucket{padding:.55rem .65rem}.ritual-bundles-grid{grid-template-columns:1fr;gap:.55rem}.ritual-bundle-card{padding:.6rem .7rem}.ritual-bundle-copy strong{font-size:1.02rem}.ritual-bundle-copy p{font-size:.92rem}.ritual-bundle-copy small{font-size:.84rem}.reschedule-card{padding:.6rem .7rem}.complete-button{min-height:44px;font-size:.92rem}.companion-badge{right:.6rem;bottom:5.5rem}.companion-emoji{width:44px;height:44px;font-size:24px}.companion-bubble{max-width:180px;font-size:.78rem}.chronicle-strip-pills{display:none}.chronicle-strip-mobile-summary{display:block;margin:0;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 90%,transparent);padding:.45rem .65rem}.chronicle-strip-mobile-summary summary{list-style:none;cursor:pointer;font-size:.82rem;color:var(--ink-muted)}.chronicle-strip-mobile-summary summary::-webkit-details-marker{display:none}.weather-backdrop{opacity:.7}.weather-backdrop.is-dimmed{opacity:.15}}@media(min-width:960px){.lists-shell{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.lists-shell.is-collapsed{grid-template-columns:1fr}.brain-dump-shell{grid-template-columns:minmax(320px,380px) minmax(0,1fr);align-items:start}.layout-grid{grid-template-columns:2fr minmax(280px,1fr);align-items:start}.search-inline{width:220px}}@media(prefers-color-scheme:dark){:root{--bg: #1a1025;--surface: #251a36;--surface-strong: #312148;--ink: #e8dff5;--ink-muted: #a190bd;--line: #3d2d5c;--accent: #a78bfa;--accent-light: #2a1a42;--accent-hover: #8b5cf6;--danger: #f472b6;--danger-light: #3d1a2e;--shadow: 0 10px 28px rgba(0, 0, 0, .4);--shadow-hover: 0 14px 36px rgba(0, 0, 0, .5)}body{background:radial-gradient(circle at 20% 12%,rgba(167,139,250,.06),transparent 30%),radial-gradient(circle at 80% 90%,rgba(244,114,182,.05),transparent 34%),var(--bg)}.auth-card{background:#251a36e6;border-color:var(--line)}.modal-overlay{background:#0a051499}.complete-button,.complete-button:hover{color:#1a1025}.priority-high{background:#3d1a2e;color:#f9a8d4;border-color:#7f1d4e}.priority-low{background:#2a1a42;color:#c4b5fd;border-color:#4c3579}.due-soon{color:#fbbf24}.error-text,.error-banner{color:#fca5c0;background:#3d1a2e;border-color:#7f1d4e}.warning-banner{color:#fde68a;background:#3b2e10;border-color:#78631a}.danger-button:hover{background:#3d1a2e}}:root{--witch-hat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 44'%3E%3Cpath d='M32 0 L26 20 Q24 26 18 30 L8 36 Q4 38 6 40 L10 42 Q12 44 16 43 L48 43 Q52 44 54 42 L58 40 Q60 38 56 36 L46 30 Q40 26 38 20 Z' fill='%239333ea'/%3E%3Cpath d='M6 38 Q4 36 10 35 L54 35 Q60 36 58 38 L56 40 Q54 42 48 41 L16 41 Q12 42 10 40 Z' fill='%237e22ce'/%3E%3Cellipse cx='32' cy='39' rx='28' ry='4' fill='%236b21a8' opacity='0.6'/%3E%3Cpath d='M28 8 Q30 7 31 10 Q32 14 30 16' stroke='%23fbbf24' fill='none' stroke-width='1.2' stroke-linecap='round'/%3E%3Ccircle cx='29' cy='13' r='1.5' fill='%23fbbf24' opacity='0.8'/%3E%3C/svg%3E")}[data-theme=witchy]{--accent: #9333ea;--accent-light: #f0e4ff;--accent-hover: #7e22ce}[data-theme=witchy] h1,[data-theme=witchy] h2,[data-theme=witchy] h3,[data-theme=witchy] h4{font-family:Inter,Avenir Next,Segoe UI,system-ui,sans-serif}[data-theme=witchy] .topbar{background:linear-gradient(135deg,var(--surface) 0%,rgba(147,51,234,.08) 100%);position:relative;overflow:visible}[data-theme=witchy] .greeting{position:relative;padding-left:52px}[data-theme=witchy] .greeting:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-60%);width:44px;height:32px;background:var(--witch-hat) no-repeat center / contain;filter:drop-shadow(0 2px 4px rgba(147,51,234,.3))}[data-theme=witchy] .activity-feed h2:before{content:"✨"}[data-theme=witchy] .activity-feed h2:after{content:" ✨"}[data-theme=witchy] .modal-card h2:before{content:"✨"}[data-theme=witchy] .topbar-subtitle:after{content:"  ✦☾✦";opacity:.5;letter-spacing:.2em}[data-theme=witchy] .task-card{border:2px solid rgba(147,51,234,.35);position:relative;background:linear-gradient(145deg,var(--surface-strong) 0%,rgba(147,51,234,.03) 100%)}[data-theme=witchy] .task-card:before{content:"";position:absolute;inset:4px;border:1px solid rgba(147,51,234,.2);border-radius:8px;pointer-events:none}[data-theme=witchy] .task-card:after{content:"✦";position:absolute;top:-1px;right:8px;font-size:.7rem;color:var(--accent);opacity:.5;pointer-events:none}[data-theme=witchy] .task-card:hover{border-color:#9333ea99;box-shadow:0 0 20px #9333ea33,0 0 40px #9333ea14,0 4px 12px #9333ea26}[data-theme=witchy] .task-card.is-expanded{border-color:#9333ea80;box-shadow:0 0 30px #9333ea40,0 0 60px #9333ea1a,var(--shadow)}[data-theme=witchy] .task-card.is-expanded:before{border-color:#9333ea4d}[data-theme=witchy] .auth-card{background:linear-gradient(145deg,#ffffffeb,#f0e4ffeb);border:2px solid rgba(147,51,234,.3);overflow:visible}[data-theme=witchy] .auth-card:before{content:"";position:absolute;inset:4px;border:1px solid rgba(147,51,234,.15);border-radius:16px;pointer-events:none}[data-theme=witchy] .auth-icon{font-size:1rem}[data-theme=witchy] .auth-icon:before{content:"";display:inline-block;width:64px;height:44px;background:var(--witch-hat) no-repeat center / contain;filter:drop-shadow(0 3px 6px rgba(147,51,234,.4));vertical-align:middle}[data-theme=witchy] .auth-icon:after{content:none}[data-theme=witchy] .auth-header h1:after{content:" ☾";opacity:.6}[data-theme=witchy] .empty-state:before{content:"";display:block;width:48px;height:48px;margin:0 auto .75rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='24' cy='20' r='16' fill='%239333ea' opacity='0.15' stroke='%239333ea' stroke-width='1.5'/%3E%3Cellipse cx='24' cy='38' rx='12' ry='3' fill='%237e22ce' opacity='0.3'/%3E%3Cpath d='M16 16 Q20 10 28 14' stroke='%23c084fc' fill='none' stroke-width='1.2' stroke-linecap='round' opacity='0.6'/%3E%3Ccircle cx='20' cy='14' r='1.5' fill='%23e9d5ff' opacity='0.7'/%3E%3Ccircle cx='28' cy='22' r='1' fill='%23e9d5ff' opacity='0.5'/%3E%3C/svg%3E") no-repeat center / contain;opacity:.8}[data-theme=witchy] .empty-state p{font-family:Inter,Avenir Next,Segoe UI,system-ui,sans-serif;font-style:italic}[data-theme=witchy] .app-shell:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background-image:radial-gradient(2px 2px at 10% 20%,rgba(192,132,252,.6),transparent),radial-gradient(1.5px 1.5px at 30% 60%,rgba(168,85,247,.5),transparent),radial-gradient(2px 2px at 50% 10%,rgba(251,191,36,.3),transparent),radial-gradient(1.5px 1.5px at 70% 40%,rgba(192,132,252,.5),transparent),radial-gradient(1px 1px at 20% 80%,rgba(168,85,247,.4),transparent),radial-gradient(2px 2px at 85% 70%,rgba(147,51,234,.5),transparent),radial-gradient(1.5px 1.5px at 40% 30%,rgba(251,191,36,.25),transparent),radial-gradient(1px 1px at 60% 85%,rgba(192,132,252,.4),transparent),radial-gradient(2px 2px at 90% 15%,rgba(168,85,247,.4),transparent),radial-gradient(1.5px 1.5px at 5% 50%,rgba(147,51,234,.35),transparent);animation:sparkle-drift 5s ease-in-out infinite alternate}@keyframes sparkle-drift{0%{opacity:.4;transform:translateY(0)}50%{opacity:.9}to{opacity:.4;transform:translateY(-10px)}}[data-theme=witchy] .fab{background:linear-gradient(135deg,#9333ea,#6b21a8);box-shadow:0 4px 20px #9333ea80,0 0 40px #9333ea33,inset 0 1px #ffffff26}[data-theme=witchy] .fab:hover{box-shadow:0 6px 28px #9333ea99,0 0 60px #9333ea40,inset 0 1px #fff3}[data-theme=witchy] .modal-card{border:2px solid rgba(147,51,234,.3);background:linear-gradient(145deg,var(--surface-strong),rgba(240,228,255,.15));position:relative}[data-theme=witchy] .modal-card:before{content:"";position:absolute;inset:4px;border:1px solid rgba(147,51,234,.12);border-radius:16px;pointer-events:none}[data-theme=witchy] .modal-overlay{background:#1e0a3c80}[data-theme=witchy] .toast-success{background:linear-gradient(135deg,#9333ea,#6b21a8)}[data-theme=witchy] .complete-button{background:linear-gradient(135deg,#9333ea,#7e22ce);border-color:#7e22ce}[data-theme=witchy] .complete-button:hover{background:linear-gradient(135deg,#7e22ce,#6b21a8)}[data-theme=witchy] .check-icon.done:after{content:"✨";font-size:.5rem;position:absolute;margin-left:2px;margin-top:-8px}[data-theme=witchy] .activity-feed{background:linear-gradient(145deg,var(--surface) 0%,rgba(147,51,234,.04) 100%);border:2px solid rgba(147,51,234,.2)}[data-theme=witchy] .calendar-toolbar{background:linear-gradient(145deg,var(--surface) 0%,rgba(147,51,234,.07) 100%);border-color:#9333ea47}[data-theme=witchy] .calendar-day-cell,[data-theme=witchy] .calendar-week-column{border-color:#9333ea40;background:linear-gradient(145deg,var(--surface-strong) 0%,rgba(147,51,234,.03) 100%)}[data-theme=witchy] .calendar-task-pill{border-color:#9333ea4d}[data-theme=witchy] .calendar-day-cell:hover{box-shadow:0 0 18px #9333ea29,0 2px 10px #9333ea1f}[data-theme=witchy] .activity-item{border-bottom:1px dashed rgba(147,51,234,.2)}@media(prefers-color-scheme:dark){[data-theme=witchy]{--accent: #c084fc;--accent-light: #2a1540;--accent-hover: #a855f7}[data-theme=witchy] .topbar{background:linear-gradient(135deg,var(--surface) 0%,rgba(192,132,252,.08) 100%)}[data-theme=witchy] .greeting:before{filter:drop-shadow(0 2px 6px rgba(192,132,252,.5)) brightness(1.3)}[data-theme=witchy] .task-card{border-color:#c084fc4d;background:linear-gradient(145deg,var(--surface-strong) 0%,rgba(192,132,252,.05) 100%)}[data-theme=witchy] .task-card:before{border-color:#c084fc33}[data-theme=witchy] .task-card:after{color:var(--accent);opacity:.6}[data-theme=witchy] .task-card:hover{border-color:#c084fc80;box-shadow:0 0 24px #c084fc40,0 0 48px #c084fc1a,0 4px 12px #c084fc26}[data-theme=witchy] .auth-card{background:linear-gradient(145deg,#251a36f2,#2a1540f2);border-color:#c084fc4d}[data-theme=witchy] .auth-card:before{border-color:#c084fc33}[data-theme=witchy] .auth-icon:before{filter:drop-shadow(0 3px 8px rgba(192,132,252,.5)) brightness(1.2)}[data-theme=witchy] .fab{background:linear-gradient(135deg,#a855f7,#7e22ce);box-shadow:0 4px 20px #a855f780,0 0 40px #a855f733,inset 0 1px #ffffff1a}[data-theme=witchy] .modal-card{background:linear-gradient(145deg,var(--surface-strong),rgba(42,21,64,.5));border-color:#c084fc4d}[data-theme=witchy] .activity-feed{border-color:#c084fc33;background:linear-gradient(145deg,var(--surface) 0%,rgba(192,132,252,.05) 100%)}[data-theme=witchy] .complete-button{background:linear-gradient(135deg,#a855f7,#9333ea);border-color:#9333ea}[data-theme=witchy] .app-shell:before{background-image:radial-gradient(2px 2px at 10% 20%,rgba(192,132,252,.7),transparent),radial-gradient(1.5px 1.5px at 30% 60%,rgba(168,85,247,.6),transparent),radial-gradient(2px 2px at 50% 10%,rgba(251,191,36,.35),transparent),radial-gradient(1.5px 1.5px at 70% 40%,rgba(192,132,252,.5),transparent),radial-gradient(1px 1px at 20% 80%,rgba(168,85,247,.5),transparent),radial-gradient(2px 2px at 85% 70%,rgba(147,51,234,.6),transparent),radial-gradient(1.5px 1.5px at 40% 30%,rgba(251,191,36,.3),transparent),radial-gradient(1px 1px at 60% 85%,rgba(192,132,252,.5),transparent),radial-gradient(2px 2px at 90% 15%,rgba(168,85,247,.5),transparent),radial-gradient(1.5px 1.5px at 5% 50%,rgba(147,51,234,.4),transparent)}}[data-theme=ocean]{--bg: #f0f9ff;--surface: #e0f2fe;--surface-strong: #ffffff;--ink: #0c4a6e;--ink-muted: #3b82a0;--line: #bae6fd;--accent: #0284c7;--accent-light: #e0f2fe;--accent-hover: #0369a1;--danger: #dc2626;--danger-light: #fee2e2;--shadow: 0 10px 28px rgba(2, 132, 199, .1);--shadow-hover: 0 14px 36px rgba(2, 132, 199, .16)}[data-theme=ocean] .topbar{background:linear-gradient(135deg,#e0f2fe,#38bdf826);border-color:#7dd3fc}[data-theme=ocean] .greeting{position:relative;padding-left:40px}[data-theme=ocean] .greeting:before{content:"🌊";position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:1.6rem}[data-theme=ocean] .topbar-subtitle:after{content:"  ~ ~ ~";opacity:.4;letter-spacing:.3em}[data-theme=ocean] .task-card{border-color:#38bdf84d;background:linear-gradient(145deg,#fff,#e0f2fe66)}[data-theme=ocean] .task-card:hover{border-color:#0284c780;box-shadow:0 2px 16px #0284c726}[data-theme=ocean] .task-card.is-expanded{border-color:#0284c766;box-shadow:0 4px 24px #0284c726}[data-theme=ocean] .fab{background:linear-gradient(135deg,#0284c7,#0369a1);box-shadow:0 4px 20px #0284c766}[data-theme=ocean] .fab:hover{box-shadow:0 6px 28px #0284c780}[data-theme=ocean] .complete-button{background:linear-gradient(135deg,#0284c7,#0369a1);border-color:#0369a1}[data-theme=ocean] .modal-card{border-color:#38bdf84d}[data-theme=ocean] .toast-success{background:linear-gradient(135deg,#0284c7,#0369a1)}[data-theme=ocean] .empty-state:before{content:"🐚";display:block;font-size:2rem;margin-bottom:.5rem}[data-theme=ocean] .auth-card{border-color:#7dd3fc;background:linear-gradient(145deg,#ffffffeb,#e0f2feeb)}[data-theme=ocean] .app-shell:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background-image:radial-gradient(2px 2px at 15% 25%,rgba(56,189,248,.4),transparent),radial-gradient(1.5px 1.5px at 45% 65%,rgba(2,132,199,.3),transparent),radial-gradient(1px 1px at 75% 20%,rgba(56,189,248,.3),transparent),radial-gradient(2px 2px at 85% 80%,rgba(2,132,199,.25),transparent);animation:sparkle-drift 6s ease-in-out infinite alternate}@media(prefers-color-scheme:dark){[data-theme=ocean]{--bg: #0c1929;--surface: #0f2740;--surface-strong: #163352;--ink: #bae6fd;--ink-muted: #7dd3fc;--line: #1e4976;--accent: #38bdf8;--accent-light: #0f2740;--accent-hover: #0ea5e9;--shadow: 0 10px 28px rgba(0, 0, 0, .4);--shadow-hover: 0 14px 36px rgba(0, 0, 0, .5)}[data-theme=ocean] .topbar{background:linear-gradient(135deg,var(--surface) 0%,rgba(56,189,248,.08) 100%)}[data-theme=ocean] .task-card{border-color:#38bdf833;background:linear-gradient(145deg,var(--surface-strong),rgba(56,189,248,.05))}[data-theme=ocean] .auth-card{background:linear-gradient(145deg,#0f2740f2,#163352f2);border-color:#38bdf84d}[data-theme=ocean] .modal-overlay{background:#050f1e99}[data-theme=ocean] .complete-button{color:#0c1929}}[data-theme=garden]{--bg: #f0fdf4;--surface: #dcfce7;--surface-strong: #ffffff;--ink: #14532d;--ink-muted: #3a7d54;--line: #a7f3d0;--accent: #16a34a;--accent-light: #dcfce7;--accent-hover: #15803d;--danger: #dc2626;--danger-light: #fee2e2;--shadow: 0 10px 28px rgba(22, 163, 74, .1);--shadow-hover: 0 14px 36px rgba(22, 163, 74, .16)}[data-theme=garden] h1,[data-theme=garden] h2,[data-theme=garden] h3,[data-theme=garden] h4{font-family:Georgia,Times New Roman,serif}[data-theme=garden] .topbar{background:linear-gradient(135deg,#dcfce7,#4ade801f);border-color:#86efac}[data-theme=garden] .greeting{position:relative;padding-left:40px}[data-theme=garden] .greeting:before{content:"🌿";position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:1.6rem}[data-theme=garden] .topbar-subtitle:after{content:"  🌱";opacity:.6}[data-theme=garden] .task-card{border-color:#4ade804d;background:linear-gradient(145deg,#fff,#dcfce766)}[data-theme=garden] .task-card:after{content:"🌱";position:absolute;top:-2px;right:6px;font-size:.6rem;opacity:.4;pointer-events:none}[data-theme=garden] .task-card:hover{border-color:#16a34a80;box-shadow:0 2px 16px #16a34a1f}[data-theme=garden] .fab{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 20px #16a34a66}[data-theme=garden] .complete-button{background:linear-gradient(135deg,#16a34a,#15803d);border-color:#15803d}[data-theme=garden] .toast-success{background:linear-gradient(135deg,#16a34a,#15803d)}[data-theme=garden] .empty-state:before{content:"🌻";display:block;font-size:2rem;margin-bottom:.5rem}[data-theme=garden] .auth-card{border-color:#86efac;background:linear-gradient(145deg,#ffffffeb,#dcfce7eb)}[data-theme=garden] .modal-card{border-color:#4ade804d}[data-theme=garden] .app-shell:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background-image:radial-gradient(2px 2px at 20% 30%,rgba(74,222,128,.35),transparent),radial-gradient(1.5px 1.5px at 55% 70%,rgba(22,163,74,.25),transparent),radial-gradient(1px 1px at 80% 15%,rgba(74,222,128,.3),transparent);animation:sparkle-drift 7s ease-in-out infinite alternate}@media(prefers-color-scheme:dark){[data-theme=garden]{--bg: #052e16;--surface: #0a3d21;--surface-strong: #134e2a;--ink: #bbf7d0;--ink-muted: #86efac;--line: #1a5e35;--accent: #4ade80;--accent-light: #0a3d21;--accent-hover: #22c55e;--shadow: 0 10px 28px rgba(0, 0, 0, .4);--shadow-hover: 0 14px 36px rgba(0, 0, 0, .5)}[data-theme=garden] .topbar{background:linear-gradient(135deg,var(--surface) 0%,rgba(74,222,128,.08) 100%)}[data-theme=garden] .task-card{border-color:#4ade8033;background:linear-gradient(145deg,var(--surface-strong),rgba(74,222,128,.05))}[data-theme=garden] .auth-card{background:linear-gradient(145deg,#0a3d21f2,#134e2af2)}[data-theme=garden] .modal-overlay{background:#02140a99}[data-theme=garden] .complete-button{color:#052e16}}[data-theme=retro]{--bg: #1a1a2e;--surface: #16213e;--surface-strong: #0f3460;--ink: #e2e8f0;--ink-muted: #94a3b8;--line: #334970;--accent: #e94560;--accent-light: #2a1a32;--accent-hover: #d63851;--danger: #ff6b6b;--danger-light: #3d1a1a;--radius: 4px;--radius-sm: 2px;--shadow: 4px 4px 0 rgba(233, 69, 96, .3);--shadow-hover: 6px 6px 0 rgba(233, 69, 96, .4)}[data-theme=retro] *{font-family:Courier New,Consolas,monospace!important}[data-theme=retro] body{background:#1a1a2e;image-rendering:pixelated}[data-theme=retro] .topbar{background:#16213e;border:2px solid #e94560;border-radius:0;box-shadow:4px 4px #e9456033}[data-theme=retro] .greeting{position:relative;padding-left:40px}[data-theme=retro] .greeting:before{content:"🕹️";position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:1.4rem}[data-theme=retro] .topbar-subtitle:after{content:"  ▶ READY";font-size:.7rem;opacity:.6;letter-spacing:.15em;color:#22d3ee}[data-theme=retro] .topbar-subtitle{color:#cbd5e1}[data-theme=retro] .task-card{border:2px solid #334970;border-radius:0;background:#16213e;box-shadow:3px 3px #e9456026}[data-theme=retro] .task-card:hover{border-color:#e94560;box-shadow:4px 4px #e945604d}[data-theme=retro] .task-card.is-expanded{border-color:#22d3ee;box-shadow:4px 4px #22d3ee4d}[data-theme=retro] .check-icon{color:#22d3ee}[data-theme=retro] .check-icon.done{color:#4ade80}[data-theme=retro] .fab{background:#e94560;border-radius:4px;box-shadow:4px 4px #e9456066;font-family:Courier New,monospace!important}[data-theme=retro] .fab:hover{box-shadow:6px 6px #e9456080;border-radius:4px}[data-theme=retro] .complete-button{background:#e94560;border-color:#e94560;border-radius:0;color:#fff3f5;font-weight:700}[data-theme=retro] .modal-card{border:2px solid #e94560;border-radius:4px;background:#16213e}[data-theme=retro] .modal-overlay{background:#0a0a14b3;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=retro] .toast-success{background:#e94560;border-radius:0;box-shadow:3px 3px #e9456066}[data-theme=retro] .auth-card{border:2px solid #e94560;border-radius:4px;background:#16213e;box-shadow:6px 6px #e945604d;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=retro] .empty-state:before{content:"NO TASKS FOUND";display:block;font-size:.9rem;color:#22d3ee;letter-spacing:.2em;margin-bottom:.5rem}[data-theme=retro] button{border-radius:0}[data-theme=retro] input,[data-theme=retro] select,[data-theme=retro] textarea{border-radius:0;border:2px solid #334970;background:#0f3460;color:#e2e8f0}[data-theme=retro] .search-inline{background:#0f3460;color:#f8fafc;border-color:#45608f}[data-theme=retro] .search-inline::placeholder{color:#a7b8d0}[data-theme=retro] .planner-summary,[data-theme=retro] .ritual-bundle-copy p,[data-theme=retro] .ritual-bundle-copy small,[data-theme=retro] .planner-note,[data-theme=retro] .reschedule-current-due{color:#cbd5e1}[data-theme=retro] .ritual-bundle-card,[data-theme=retro] .planner-panel,[data-theme=retro] .reschedule-panel,[data-theme=retro] .ritual-bundles-panel{background:#16213e;border-color:#334970}[data-theme=retro] .ritual-bundle-copy strong,[data-theme=retro] .planner-panel-head h3,[data-theme=retro] .reschedule-panel-head h3,[data-theme=retro] .ritual-bundles-head h3{color:#f8fafc}[data-theme=retro] .planner-eyebrow{color:#f97393}[data-theme=retro] .view-mode-toggle{background:#0f3460;border-color:#334970}[data-theme=retro] .view-mode-toggle button{color:#cbd5e1}[data-theme=retro] .view-mode-toggle button.active{color:#fff5f7}[data-theme=retro] input:focus,[data-theme=retro] select:focus,[data-theme=retro] textarea:focus{border-color:#22d3ee;box-shadow:0 0 0 2px #22d3ee33}[data-theme=retro] .app-shell:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(233,69,96,.03) 2px,rgba(233,69,96,.03) 4px)}[data-theme=cozy]{--bg: #fdf8f0;--surface: #faf0e4;--surface-strong: #ffffff;--ink: #44291a;--ink-muted: #8b6d5c;--line: #e8d5c0;--accent: #c2742f;--accent-light: #faf0e4;--accent-hover: #a85f20;--danger: #dc2626;--danger-light: #fee2e2;--shadow: 0 10px 28px rgba(194, 116, 47, .1);--shadow-hover: 0 14px 36px rgba(194, 116, 47, .16)}[data-theme=cozy] h1,[data-theme=cozy] h2,[data-theme=cozy] h3,[data-theme=cozy] h4{font-family:Georgia,Palatino,serif}[data-theme=cozy] body{background:radial-gradient(circle at 20% 15%,rgba(194,116,47,.06),transparent 30%),radial-gradient(circle at 80% 85%,rgba(180,83,9,.04),transparent 34%),var(--bg)}[data-theme=cozy] .topbar{background:linear-gradient(135deg,#faf0e4,#c2742f14);border-color:#dfc5a8}[data-theme=cozy] .greeting{position:relative;padding-left:40px}[data-theme=cozy] .greeting:before{content:"🏔️";position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:1.5rem}[data-theme=cozy] .topbar-subtitle:after{content:"  🔥";opacity:.5}[data-theme=cozy] .task-card{border-color:#c2742f40;background:linear-gradient(145deg,#fff,#faf0e480)}[data-theme=cozy] .task-card:hover{border-color:#c2742f73;box-shadow:0 2px 16px #c2742f1f}[data-theme=cozy] .fab{background:linear-gradient(135deg,#c2742f,#a85f20);box-shadow:0 4px 20px #c2742f66}[data-theme=cozy] .complete-button{background:linear-gradient(135deg,#c2742f,#a85f20);border-color:#a85f20}[data-theme=cozy] .toast-success{background:linear-gradient(135deg,#c2742f,#a85f20)}[data-theme=cozy] .modal-card{border-color:#c2742f40}[data-theme=cozy] .auth-card{border-color:#dfc5a8;background:linear-gradient(145deg,#ffffffeb,#faf0e4eb)}[data-theme=cozy] .empty-state:before{content:"☕";display:block;font-size:2rem;margin-bottom:.5rem}@media(prefers-color-scheme:dark){[data-theme=cozy]{--bg: #1c1410;--surface: #2a1e16;--surface-strong: #382a1f;--ink: #f0e4d6;--ink-muted: #c4a88e;--line: #4d3a2a;--accent: #e8943a;--accent-light: #2a1e16;--accent-hover: #d47f28;--shadow: 0 10px 28px rgba(0, 0, 0, .4);--shadow-hover: 0 14px 36px rgba(0, 0, 0, .5)}[data-theme=cozy] .topbar{background:linear-gradient(135deg,var(--surface) 0%,rgba(194,116,47,.08) 100%)}[data-theme=cozy] .task-card{border-color:#c2742f33;background:linear-gradient(145deg,var(--surface-strong),rgba(194,116,47,.05))}[data-theme=cozy] .auth-card{background:linear-gradient(145deg,#2a1e16f2,#382a1ff2)}[data-theme=cozy] .modal-overlay{background:#0a060399}[data-theme=cozy] .complete-button{color:#1c1410}[data-theme=cozy] body{background:radial-gradient(circle at 20% 15%,rgba(194,116,47,.05),transparent 30%),radial-gradient(circle at 80% 85%,rgba(180,83,9,.03),transparent 34%),var(--bg)}}[data-theme=space]{--bg: #0a0a1a;--surface: #12122e;--surface-strong: #1a1a3e;--ink: #e2e0ff;--ink-muted: #a5a0d0;--line: #2d2a5e;--accent: #818cf8;--accent-light: #1e1a40;--accent-hover: #6366f1;--danger: #fb7185;--danger-light: #3d1a2a;--shadow: 0 10px 28px rgba(99, 102, 241, .15);--shadow-hover: 0 14px 36px rgba(99, 102, 241, .25)}[data-theme=space] body{background:radial-gradient(circle at 30% 20%,rgba(99,102,241,.08),transparent 25%),radial-gradient(circle at 70% 80%,rgba(244,114,182,.05),transparent 25%),var(--bg)}[data-theme=space] .topbar{background:linear-gradient(135deg,#12122e,#818cf81a);border-color:#818cf84d}[data-theme=space] .greeting{position:relative;padding-left:40px}[data-theme=space] .greeting:before{content:"🌌";position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:1.5rem}[data-theme=space] .topbar-subtitle:after{content:"  ✦ ✧ ✦";opacity:.4;letter-spacing:.2em;color:#818cf8}[data-theme=space] .task-card{border-color:#818cf833;background:linear-gradient(145deg,#1a1a3e,#6366f10f)}[data-theme=space] .task-card:hover{border-color:#818cf880;box-shadow:0 0 20px #818cf826,0 4px 12px #6366f11f}[data-theme=space] .task-card.is-expanded{border-color:#818cf866;box-shadow:0 0 30px #818cf833,0 0 60px #6366f114}[data-theme=space] .check-icon{color:#818cf8}[data-theme=space] .check-icon.done{color:#34d399}[data-theme=space] .fab{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 4px 20px #6366f180,0 0 40px #818cf826}[data-theme=space] .fab:hover{box-shadow:0 6px 28px #6366f199,0 0 50px #818cf833}[data-theme=space] .complete-button{background:linear-gradient(135deg,#818cf8,#6366f1);border-color:#6366f1;color:#0a0a1a}[data-theme=space] .modal-card{border-color:#818cf84d;background:linear-gradient(145deg,#1a1a3e,#6366f114)}[data-theme=space] .modal-overlay{background:#05050fb3}[data-theme=space] .toast-success{background:linear-gradient(135deg,#818cf8,#6366f1)}[data-theme=space] .auth-card{border-color:#818cf84d;background:linear-gradient(145deg,#1a1a3ef2,#12122ef2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}[data-theme=space] .auth-stars{background-image:radial-gradient(2px 2px at 20% 30%,rgba(129,140,248,.6),transparent),radial-gradient(1px 1px at 40% 70%,rgba(244,114,182,.4),transparent),radial-gradient(2px 2px at 60% 15%,rgba(129,140,248,.5),transparent),radial-gradient(1.5px 1.5px at 80% 55%,rgba(99,102,241,.4),transparent),radial-gradient(1px 1px at 10% 85%,rgba(244,114,182,.3),transparent),radial-gradient(2px 2px at 90% 10%,rgba(129,140,248,.5),transparent)}[data-theme=space] .empty-state:before{content:"🪐";display:block;font-size:2rem;margin-bottom:.5rem}[data-theme=space] input,[data-theme=space] select,[data-theme=space] textarea{background:#12122e;border-color:#2d2a5e;color:#e2e0ff}[data-theme=space] input:focus,[data-theme=space] select:focus,[data-theme=space] textarea:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf826}[data-theme=space] .app-shell:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background-image:radial-gradient(1px 1px at 10% 15%,rgba(255,255,255,.6),transparent),radial-gradient(1.5px 1.5px at 25% 45%,rgba(129,140,248,.7),transparent),radial-gradient(1px 1px at 40% 10%,rgba(255,255,255,.5),transparent),radial-gradient(2px 2px at 55% 75%,rgba(244,114,182,.4),transparent),radial-gradient(1px 1px at 70% 30%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 85% 60%,rgba(129,140,248,.6),transparent),radial-gradient(1px 1px at 15% 80%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 50% 50%,rgba(244,114,182,.3),transparent),radial-gradient(2px 2px at 95% 5%,rgba(129,140,248,.5),transparent),radial-gradient(1px 1px at 35% 90%,rgba(255,255,255,.4),transparent);animation:sparkle-drift 5s ease-in-out infinite alternate}
