@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}:root{--bg: #0b0d12;--surface: #13161e;--surface-2: #1a1e29;--surface-3: #21263a;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .11);--text: #e2e6f0;--text-2: #8892a8;--accent: #6ea8fe;--accent-dim: rgba(110, 168, 254, .14);--accent-border: rgba(110, 168, 254, .3);--on-accent: #06101e;--amber: #f59e0b;--amber-dim: rgba(245, 158, 11, .12);--amber-border: rgba(245, 158, 11, .28);--danger: #f87171;--danger-dim: rgba(248, 113, 113, .12);--tasks: #34d399;--tasks-dim: rgba(52, 211, 153, .12);--tasks-border: rgba(52, 211, 153, .28);--sidebar-w: 242px;--radius: 12px;--radius-sm: 8px;--radius-xs: 6px;--ease: cubic-bezier(.4, 0, .2, 1);--t: .15s;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}html,body{overscroll-behavior:none}body.pull-refresh-enabled{overscroll-behavior-y:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:var(--ease)}body{background:var(--bg);color:var(--text);line-height:1.5}button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}input,textarea{font:inherit;color:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#fff3}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(ellipse 80% 40% at 50% -10%,rgba(110,168,254,.07) 0%,transparent 70%),var(--bg)}.login-card{width:min(100%,360px);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:2rem 2rem 1.75rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 0 0 1px #ffffff0a,0 32px 80px #0000008c}.login-brand{display:flex;align-items:center;gap:.6rem}.login-brand h1{font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.login-card>p{color:var(--text-2);font-size:.875rem;margin-top:-.5rem}.google-signin{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.7rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);text-decoration:none;font-weight:500;font-size:.9rem;transition:background var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}.google-signin:hover{background:var(--surface-3);border-color:var(--border-strong);box-shadow:0 2px 12px #0003}.google-signin-icon{display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:50%;background:#4285f4;color:#fff;font-size:.68rem;font-weight:700;flex-shrink:0}.error{color:var(--danger);font-size:.85rem}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .22s cubic-bezier(.4,0,.2,1),border-color .22s}.sidebar-scroll-area{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;min-height:0}.app-shell.sidebar-collapsed .sidebar{width:0;border-right-color:transparent;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:1.25rem 1rem .875rem;font-size:.95rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.brand-logo{color:var(--accent);font-size:1.1rem;line-height:1}.sidebar-nav{display:flex;flex-direction:column;gap:1px;padding:0 .5rem .25rem}.nav-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.48rem .65rem;border-radius:var(--radius-xs);font-size:.85rem;color:var(--text-2);text-align:left;transition:background var(--t) var(--ease),color var(--t) var(--ease)}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--accent-dim);color:var(--accent);font-weight:500}.nav-icon{display:flex;align-items:center;justify-content:center;width:1rem;flex-shrink:0;opacity:.8}.nav-item.active .nav-icon{opacity:1}.nav-label{flex:1}.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--tasks);flex-shrink:0}.sidebar-section-label{padding:1rem 1rem .35rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);opacity:.65}.folder-tree{flex:1;padding:0 .5rem 1rem}.folder-item{display:flex;align-items:center;gap:.45rem;width:100%;text-align:left;padding:.4rem .65rem;border-radius:var(--radius-xs);font-size:.83rem;color:var(--text-2);transition:background var(--t) var(--ease),color var(--t) var(--ease)}.folder-item:hover{background:var(--surface-2);color:var(--text)}.folder-item.active{background:var(--accent-dim);color:var(--accent);font-weight:500}.folder-icon{display:flex;align-items:center;flex-shrink:0;opacity:.6}.folder-item.active .folder-icon{opacity:1}.folder-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-chevron{font-size:.9rem;color:var(--text-2);opacity:.5}.folder-item--empty .folder-icon,.folder-item--empty .folder-name{opacity:.45}.inbox-section{padding:0 .5rem .25rem}.inbox-nav-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.52rem .65rem;border-radius:var(--radius-xs);font-size:.85rem;font-weight:500;color:var(--text-2);text-align:left;border:1px solid transparent;transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease)}.inbox-nav-item:hover,.inbox-nav-item.active{background:var(--amber-dim);color:var(--amber);border-color:var(--amber-border)}.inbox-nav-item .nav-icon{opacity:1}.inbox-label{flex:1}.inbox-count-badge{font-size:.65rem;background:var(--amber-dim);color:var(--amber);border:1px solid var(--amber-border);border-radius:999px;padding:.05rem .45rem;min-width:1.4rem;text-align:center;font-weight:700;flex-shrink:0}.inbox-count-badge--empty{background:var(--surface-3);color:var(--text-2);border-color:var(--border);font-weight:400}.inbox-hint{font-size:.68rem;color:var(--text-2);opacity:.55;padding:.15rem .65rem .1rem;letter-spacing:.01em}.sidebar-divider{height:1px;background:var(--border);margin:.5rem .75rem .375rem}.sidebar-footer{position:relative;padding:.5rem;border-top:1px solid var(--border);flex-shrink:0}.sidebar-account-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;border-radius:var(--radius-xs);color:var(--text-2);text-align:left;transition:background var(--t) var(--ease),color var(--t) var(--ease)}.sidebar-account-btn:hover{background:var(--surface-2);color:var(--text)}.sidebar-account-btn.active{background:var(--accent-dim);color:var(--accent)}.user-avatar{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:.72rem;font-weight:700;flex-shrink:0;border:1px solid var(--accent-border)}.user-name{flex:1;font-size:.83rem;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-chevron{display:flex;align-items:center;flex-shrink:0;opacity:.6}.account-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199}.sidebar-account-menu{position:absolute;left:.5rem;right:.5rem;bottom:calc(100% + .375rem);z-index:200;display:flex;flex-direction:column;gap:1px;padding:.3rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:0 0 0 1px #ffffff0a,0 8px 32px #0000008c;animation:modalIn .16s cubic-bezier(.34,1.4,.64,1) forwards}.sidebar-account-menu .nav-item,.account-menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.45rem .6rem;border-radius:var(--radius-xs);font-size:.85rem;color:var(--text-2);text-align:left;transition:background var(--t) var(--ease),color var(--t) var(--ease)}.sidebar-account-menu .nav-item:hover,.account-menu-item:hover{background:var(--surface-3);color:var(--text)}.sidebar-account-menu .nav-item.active,.account-menu-item.active{background:var(--accent-dim);color:var(--accent)}.account-menu-item--danger:hover{background:var(--danger-dim);color:var(--danger)}.account-menu-item-state{flex-shrink:0;font-size:.72rem;color:var(--text-2);opacity:.75}.account-menu-divider{height:1px;background:var(--border);margin:.3rem .25rem}.confirm-popover{position:fixed;z-index:300;width:240px;max-width:calc(100vw - 16px);padding:.75rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:0 12px 32px #00000080;animation:confirm-popover-in .12s var(--ease)}@keyframes confirm-popover-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-popover-message{font-size:.85rem;font-weight:500;color:var(--text);line-height:1.35}.confirm-popover-detail{margin-top:.3rem;font-size:.76rem;color:var(--text-2);line-height:1.4}.confirm-popover-actions{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.7rem}.confirm-popover-cancel,.confirm-popover-confirm{display:inline-flex;align-items:center;gap:.3rem;padding:.38rem .7rem;font-size:.8rem;font-weight:500;border-radius:var(--radius-xs);transition:background var(--t) var(--ease),color var(--t) var(--ease)}.confirm-popover-cancel{background:var(--surface-3);color:var(--text-2)}.confirm-popover-cancel:hover{color:var(--text)}.confirm-popover-confirm{background:var(--surface-3);color:var(--text)}.confirm-popover-confirm--danger{background:var(--danger-dim);color:var(--danger)}.confirm-popover-confirm--danger:hover{background:var(--danger);color:#1a0d0d}.mobile-user-btn,.mobile-user-overlay{display:none}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(120% 80% at 18% -12%,rgba(169,194,222,.06),transparent 55%),radial-gradient(100% 80% at 100% 112%,rgba(233,180,131,.045),transparent 52%),var(--bg);min-width:0}.content-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.search-wrap{display:flex;align-items:center;gap:.5rem;flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 .75rem;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}.search-wrap:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-dim)}.search-icon{color:var(--text-2);flex-shrink:0}.search-input{flex:1;padding:.55rem 0;border:none;background:transparent;color:var(--text);font-size:.875rem;outline:none}.search-input::placeholder{color:var(--text-2)}.search-input::-webkit-search-cancel-button{display:none}.header-actions{display:flex;gap:.45rem;flex-shrink:0}.btn-primary{padding:.52rem .95rem;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:.85rem;border-radius:var(--radius-sm);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),box-shadow var(--t) var(--ease);white-space:nowrap}.btn-primary:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 4px 16px #6ea8fe40}.btn-primary:active{transform:translateY(0);opacity:1;box-shadow:none}.btn-secondary{padding:.52rem .95rem;background:var(--surface-2);color:var(--text-2);font-size:.85rem;border-radius:var(--radius-sm);border:1px solid var(--border);transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease);white-space:nowrap}.btn-secondary:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-strong)}.grid-content{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1.5rem}body.pull-refresh-enabled .grid-content{overscroll-behavior-y:auto}.grid-content:has(.hh-list-content){padding:0;overflow:hidden;display:flex;flex-direction:column}.grid-content:has(.sd-editor){padding:0;overflow:hidden;display:flex;flex-direction:column}.section-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--text-2);margin-bottom:.85rem;opacity:.75}.section-label--gap{margin-top:1.75rem}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.875rem;margin-bottom:.5rem}.note-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1rem .875rem;cursor:pointer;display:flex;flex-direction:column;gap:.6rem;min-height:80px;max-height:210px;overflow:hidden;text-align:left;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease),background var(--t) var(--ease)}.note-card:hover{border-color:var(--border-strong);background:var(--surface-2);box-shadow:0 4px 24px #00000059;transform:translateY(-2px)}.note-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent-border)}.note-card:active{transform:translateY(-1px);box-shadow:0 2px 12px #00000040}.note-card.pinned{border-color:var(--accent-border);background:linear-gradient(135deg,var(--surface) 0%,rgba(110,168,254,.04) 100%)}.note-card.pinned:hover{border-color:#6ea8fe66}.card-body{flex:1;overflow:hidden}.card-title{font-size:.9rem;font-weight:600;color:var(--text);line-height:1.45;margin-bottom:.3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-preview{font-size:.8rem;color:var(--text-2);line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}mark.hl{background:transparent;color:var(--accent);font-weight:600}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;row-gap:.4rem;flex-wrap:wrap;flex-shrink:0}.card-footer-right{display:flex;align-items:center;gap:.35rem;flex:1 1 auto;justify-content:flex-end;min-width:0}.card-time{font-size:.67rem;color:var(--text-2);opacity:.6;white-space:nowrap;flex-shrink:0}.card-folder{font-size:.72rem;color:var(--text-2);background:var(--surface-2);padding:.18rem .55rem;border-radius:99px;border:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;flex-shrink:0}.card-pin{font-size:.7rem;color:var(--accent);flex-shrink:0;opacity:.8}.note-card.has-link-preview{overflow:hidden}.lp-image-wrap{width:100%;height:120px;overflow:hidden;background:var(--surface-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin:-1rem -1rem .75rem;width:calc(100% + 2rem)}.lp-image{width:100%;height:100%;object-fit:cover;display:block}.lp-body{display:flex;flex-direction:column;gap:.25rem}.lp-title{font-size:.85rem;font-weight:600;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lp-desc{font-size:.78rem;color:var(--text-2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lp-domain{font-size:.72rem;color:var(--accent);text-decoration:none;margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-domain:hover{text-decoration:underline}.icon-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-xs);color:var(--text-2);transition:color var(--t) var(--ease),background var(--t) var(--ease)}.icon-btn:hover{color:var(--text);background:var(--surface-3)}.icon-btn.active{color:var(--accent);background:var(--accent-dim)}.card-quick-actions{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.card-quick-actions--hover-only{opacity:0;pointer-events:none;transition:opacity var(--t) var(--ease)}.note-card:hover .card-quick-actions--hover-only,.note-card:focus-within .card-quick-actions--hover-only{opacity:1;pointer-events:auto}@media(hover:none){.card-quick-actions--hover-only{display:none}}.card-archive-btn,.card-trash-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-xs);color:var(--text-2);flex-shrink:0;transition:color var(--t) var(--ease),background var(--t) var(--ease)}.card-archive-btn:hover{color:var(--amber);background:var(--amber-dim)}.card-trash-btn:hover{color:var(--danger);background:var(--danger-dim)}.move-combobox{position:relative;flex-shrink:0}.move-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-xs);color:var(--text-2);font-size:.72rem;padding:.2rem .55rem;width:108px;outline:none;transition:border-color var(--t) var(--ease),color var(--t) var(--ease),box-shadow var(--t) var(--ease)}.move-input::placeholder{color:var(--text-2);opacity:.8}.move-input:hover{border-color:var(--accent-border);color:var(--text)}.move-input:focus{border-color:var(--accent-border);color:var(--text);box-shadow:0 0 0 2px var(--accent-dim)}.move-dropdown{position:fixed;z-index:9999;list-style:none;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:0 0 0 1px #ffffff0a,0 8px 32px #0000008c;max-height:240px;overflow-y:auto;overscroll-behavior:contain;padding:.3rem 0}.move-option{display:flex;align-items:center;padding:.42rem .75rem;font-size:.82rem;color:var(--text-2);cursor:pointer;transition:background var(--t) var(--ease),color var(--t) var(--ease);white-space:nowrap;gap:0}.move-option-indent{display:inline-block;flex-shrink:0}.move-option:hover{background:var(--surface-3);color:var(--text)}.move-option.active{background:var(--accent-dim);color:var(--accent)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.875rem;padding:5rem 1rem 3rem;color:var(--text-2)}.empty-icon{opacity:.2}.empty-state p{font-size:.9rem;opacity:.7}.editor-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;align-items:center;justify-content:center;padding:2rem 1.5rem}.editor-overlay.open{display:flex}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .18s var(--ease) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{position:relative;z-index:1;width:min(100%,660px);max-height:calc(100vh - 4rem);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 0 0 1px #ffffff0d,0 32px 96px #000000a6;display:flex;flex-direction:column;animation:modalIn .22s cubic-bezier(.34,1.4,.64,1) forwards;overflow:hidden}.modal-drag-handle{display:none}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:flex-start;gap:.75rem;padding:1.375rem 1.375rem 0;flex-shrink:0}.modal-title-input{flex:1;font-size:1.15rem;font-weight:600;letter-spacing:-.015em;border:none;background:transparent;color:var(--text);outline:none;padding:0;line-height:1.4}.modal-title-input::placeholder{color:var(--text-2);font-weight:400}.modal-save-status{align-self:center;flex-shrink:0;font-size:.72rem;font-weight:500;letter-spacing:.01em;color:var(--text-2);white-space:nowrap;opacity:0;transition:opacity var(--t) var(--ease),color var(--t) var(--ease)}.modal-save-status[data-state=saving],.modal-save-status[data-state=saved],.modal-save-status[data-state=error]{opacity:1}.modal-save-status[data-state=error]{color:var(--danger)}.modal-close{display:flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;border-radius:var(--radius-xs);color:var(--text-2);flex-shrink:0;margin-top:-.1rem;transition:background var(--t) var(--ease),color var(--t) var(--ease)}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-back{display:none;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;border-radius:var(--radius-xs);color:var(--text-2);flex-shrink:0;margin-top:-.1rem;transition:background var(--t) var(--ease),color var(--t) var(--ease)}.modal-back:hover{background:var(--surface-2);color:var(--text)}.modal-done-btn{flex-shrink:0;padding:.35rem .875rem;background:var(--accent);color:var(--on-accent);font-size:.85rem;font-weight:600;border-radius:var(--radius-sm);transition:opacity var(--t) var(--ease)}.modal-done-btn:hover{opacity:.88}.modal-actions{display:flex;gap:.3rem;padding:.875rem 1.375rem;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:var(--radius-xs);font-size:.79rem;color:var(--text-2);border:1px solid transparent;transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease)}.action-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border)}.action-btn.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.action-btn.danger{color:var(--danger)}.action-btn.active.danger{background:var(--danger-dim);border-color:#f8717140;color:var(--danger)}.modal-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1.375rem 1.375rem}.paste-chip{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.35rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2, var(--surface));color:var(--text-2);font-size:.8rem;font-weight:500;transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease)}.paste-chip:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.block{margin-bottom:.5rem}.block-textarea{width:100%;min-height:100px;padding:0;border:none;background:transparent;color:var(--text);font-size:.9rem;line-height:1.75;resize:none;outline:none;overflow:hidden}.block-textarea::placeholder{color:var(--text-2)}.url-block{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;margin-bottom:.5rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2, var(--surface));min-width:0}.url-block-link{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0;color:var(--accent, #7ab4f5);text-decoration:none;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.url-block-link:hover{text-decoration:underline}.url-block-icon{flex-shrink:0;opacity:.75}.url-block-edit{flex-shrink:0;opacity:.4;padding:2px 4px}.url-block-edit:hover{opacity:.85}.checklist-block{display:flex;flex-direction:column;gap:.3rem}.checklist-item{display:flex;align-items:center;gap:.65rem;padding:.1rem 0}.checklist-check{width:1rem;height:1rem;flex-shrink:0;cursor:pointer;accent-color:var(--accent);border-radius:4px}.checklist-text{flex:1;padding:.3rem 0;border:none;border-bottom:1px solid transparent;background:transparent;color:var(--text);font-size:.9rem;outline:none;transition:border-color var(--t) var(--ease)}.checklist-text:focus{border-bottom-color:var(--border-strong)}.add-item-btn{align-self:flex-start;padding:.25rem 0;font-size:.8rem;color:var(--text-2);margin-top:.35rem;transition:color var(--t) var(--ease)}.add-item-btn:hover{color:var(--accent)}.context-bar{display:flex;align-items:center;gap:.75rem;padding:0 1.25rem .375rem;min-height:0;flex-wrap:wrap}.context-bar:empty{display:none}.breadcrumb{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.breadcrumb-seg{font-size:.78rem;color:var(--text-2);font-weight:500}.breadcrumb-seg.current{color:var(--text)}.breadcrumb-sep{color:var(--text-2);font-size:.78rem;opacity:.5}.subfolder-toggle{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--text-2);padding:.2rem .5rem;border-radius:var(--radius-xs);border:1px solid var(--border-strong);transition:color var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease)}.subfolder-toggle:hover{color:var(--text);border-color:var(--accent-border)}.subfolder-toggle.active{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.fab{display:none;position:fixed;bottom:1.5rem;right:1.5rem;width:3.25rem;height:3.25rem;border-radius:50%;background:var(--accent);color:var(--on-accent);box-shadow:0 4px 20px #6ea8fe66,0 2px 6px #0006;align-items:center;justify-content:center;z-index:50;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),opacity var(--t) var(--ease)}.fab:hover{transform:scale(1.08);box-shadow:0 6px 28px #6ea8fe8c,0 2px 8px #0006}.fab:active{transform:scale(.96)}.mobile-bottom-nav,.mobile-browse-overlay{display:none}@media(max-width:680px){.sidebar{display:none}.app-shell{padding-bottom:calc(var(--mob-nav-h, 56px) + env(safe-area-inset-bottom))}.content-header{padding:calc(env(safe-area-inset-top,0px) + .75rem) 1rem .75rem}.grid-content{padding:.875rem}.notes-grid{grid-template-columns:1fr;gap:.75rem}.note-card{min-height:88px;padding:.875rem}.context-bar{padding:0 .875rem .375rem}.fab{display:flex;bottom:calc(var(--mob-nav-h, 56px) + env(safe-area-inset-bottom) + 1rem);right:1.125rem;width:3rem;height:3rem}.editor-overlay{padding:0;align-items:flex-start}.editor-overlay .modal-backdrop{display:none}.modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);animation:editorFadeIn .18s var(--ease) forwards}.modal-close{display:none}.modal-back{display:flex}@keyframes editorFadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.editor-overlay:has(.task-modal){align-items:flex-end;overflow:hidden}.task-modal-drag-handle{display:block;width:2.5rem;height:4px;background:#fff3;border-radius:2px;margin:.625rem auto .25rem;flex-shrink:0}.modal-drag-handle{display:flex;justify-content:center;padding:.625rem 0 .25rem;touch-action:none;cursor:grab;flex-shrink:0}.modal-drag-handle:after{content:"";display:block;width:2.5rem;height:4px;border-radius:2px;background:#fff3}.task-modal{height:auto;max-height:100%;border-radius:var(--radius) var(--radius) 0 0;animation:slideUp .24s cubic-bezier(.34,1.3,.64,1) forwards;background:#0b0d12d1;backdrop-filter:blur(28px) saturate(1.5);-webkit-backdrop-filter:blur(28px) saturate(1.5);border:1px solid rgba(255,255,255,.09);border-bottom:none;box-shadow:0 -8px 48px #0000008c}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(var(--mob-nav-h, 56px) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border-strong);z-index:100;align-items:stretch;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mob-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.35rem .5rem;color:var(--text-2);position:relative;transition:color var(--t) var(--ease),background var(--t) var(--ease);min-height:44px}.mob-nav-item.active{color:var(--accent)}.mob-nav-item:active{background:var(--surface-2)}.mob-nav-item[data-section=tasks].active{color:var(--tasks)}.mob-nav-label{font-size:.63rem;font-weight:500;letter-spacing:.01em}.mob-nav-badge{position:absolute;top:.3rem;right:calc(50% - .85rem);font-size:.6rem;font-weight:700;background:var(--tasks);color:#071c12;border-radius:999px;padding:.05rem .35rem;min-width:1.1rem;text-align:center;line-height:1.4}.mob-nav-dot{position:absolute;top:.4rem;right:calc(50% - .55rem);width:7px;height:7px;border-radius:50%;background:var(--tasks)}.nav-item,.folder-item,.inbox-nav-item{min-height:44px}.hh-quick-add{padding:.75rem .875rem}.hh-quick-input{font-size:1rem;padding:.65rem .875rem}.hh-quick-btn{padding:.65rem .875rem;font-size:.85rem}.tasks-lists{padding:.5rem .875rem 1.5rem}.task-card{padding:.875rem;margin-bottom:.15rem}.hh-icon-btn{opacity:.45;width:2rem;height:2rem}.hh-check-wrap{padding:.35rem;margin:-.35rem .35rem -.35rem -.35rem}.hh-check-visual{width:1.25rem;height:1.25rem}.task-card-title{font-size:.95rem}.task-due-chip,.task-cal-chip{font-size:.72rem;padding:.18rem .6rem}.task-modal-body{padding:1rem;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.task-due-input{font-size:1rem;padding:.6rem .75rem;min-height:44px}.task-notes-input{font-size:1rem}.task-modal-footer{padding:.75rem 1rem;padding-bottom:max(.875rem,env(safe-area-inset-bottom))}.tasks-header-title{font-size:1rem;padding-top:.1rem;flex:1}.header-actions{display:none}.search-input{font-size:1rem}.mobile-user-btn{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:.78rem;font-weight:700;flex-shrink:0;border:1px solid var(--accent-border);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-user-overlay.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:400}.mobile-user-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.mobile-user-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border-strong);border-radius:var(--radius) var(--radius) 0 0;padding:0 1.25rem calc(1.5rem + env(safe-area-inset-bottom));animation:slideUp .24s cubic-bezier(.34,1.3,.64,1) forwards}.mobile-user-sheet-handle{width:2.5rem;height:3px;background:var(--border-strong);border-radius:99px;margin:.875rem auto 1.25rem}.mobile-sheet-user-row{display:flex;align-items:center;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border);margin-bottom:.375rem}.mobile-sheet-user-row .user-avatar{width:2.25rem;height:2.25rem;font-size:.85rem}.mobile-sheet-install-btn{display:flex;align-items:center;gap:.65rem;width:100%;padding:.875rem .25rem;font-size:.95rem;font-weight:500;color:var(--accent);border-radius:var(--radius-xs);min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-sheet-install-btn:active{background:var(--accent-dim);border-radius:var(--radius-xs)}.ios-install-hint{display:flex;align-items:flex-start;gap:.5rem;background:var(--surface-3);border-radius:var(--radius-xs);padding:.65rem .75rem;font-size:.82rem;color:var(--text-2);line-height:1.5;margin-bottom:.25rem}.ios-install-hint-share-icon{flex-shrink:0;margin-top:1px;color:var(--accent)}.mobile-sheet-toggle-btn{display:flex;align-items:center;gap:.65rem;width:100%;padding:.875rem .25rem;font-size:.95rem;font-weight:500;color:var(--text-2);border-radius:var(--radius-xs);min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-sheet-toggle-btn.active{color:var(--accent)}.mobile-sheet-toggle-btn:active{background:var(--surface-2)}.mobile-sheet-toggle-state{margin-left:auto;font-size:.78rem;font-weight:600;opacity:.7}.mobile-sheet-toggle-btn.active .mobile-sheet-toggle-state{color:var(--accent);opacity:1}.mobile-sheet-signout-btn{display:flex;align-items:center;gap:.65rem;width:100%;padding:.875rem .25rem;font-size:.95rem;font-weight:500;color:var(--danger);border-radius:var(--radius-xs);min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-sheet-signout-btn:active{background:var(--danger-dim);border-radius:var(--radius-xs)}.move-input{font-size:1rem;width:130px}.lp-image-wrap{margin:-.875rem -.875rem .75rem;width:calc(100% + 1.75rem)}.mobile-browse-overlay{display:none}.mobile-browse-overlay.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:400}.mobile-browse-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.mobile-browse-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border-strong);border-radius:var(--radius) var(--radius) 0 0;max-height:80dvh;display:flex;flex-direction:column;animation:slideUp .24s cubic-bezier(.34,1.3,.64,1) forwards}.mobile-browse-sheet-handle{width:2.5rem;height:3px;background:var(--border-strong);border-radius:99px;margin:.875rem auto .5rem;flex-shrink:0}.browse-sheet-scroll{overflow-y:auto;overscroll-behavior:contain;padding:0 .5rem calc(1.5rem + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.browse-sheet-section{padding:.25rem 0}.browse-sheet-divider{height:1px;background:var(--border);margin:.375rem .25rem}.browse-sheet-group-header{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding:.75rem .75rem .25rem}.browse-sheet-row{display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem .75rem;font-size:.95rem;font-weight:500;color:var(--text-1);border-radius:var(--radius-xs);min-height:44px;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--t) var(--ease),color var(--t) var(--ease)}.browse-sheet-row:active{background:var(--surface-2)}.browse-sheet-row.active{color:var(--accent);background:var(--accent-dim)}.browse-sheet-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:18px;opacity:.7}.browse-sheet-row.active .browse-sheet-icon{opacity:1}.browse-sheet-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browse-sheet-row--empty .browse-sheet-icon,.browse-sheet-row--empty .browse-sheet-label{opacity:.45}.browse-label-row .browse-label-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.browse-inbox-row{background:color-mix(in srgb,var(--accent) 6%,transparent);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:var(--radius-xs);margin-bottom:.15rem}.browse-inbox-row.active{background:var(--accent-dim);border-color:var(--accent-border)}.browse-inbox-icon{opacity:1;color:var(--accent)}.browse-inbox-row.active .browse-inbox-icon{color:var(--accent)}.browse-inbox-badge{font-size:.72rem;font-weight:700;background:var(--accent);color:var(--on-accent);border-radius:999px;padding:.05rem .45rem;min-width:1.25rem;text-align:center;line-height:1.5;flex-shrink:0}.browse-inbox-badge--empty{background:var(--surface-3);color:var(--text-2);font-weight:500}.browse-inbox-hint{font-size:.72rem;color:var(--text-2);padding:.1rem .75rem .35rem;margin:0;opacity:.75}.mob-inbox-badge{background:var(--accent);color:var(--on-accent)}}@media(pointer:coarse){.hh-icon-btn,.task-card:hover .hh-icon-btn{opacity:.4}}.folders-section-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .35rem}.folder-item-row{display:flex;align-items:center;gap:.15rem;position:relative}.folder-item-row .folder-item{width:auto;flex:1;min-width:0}.folder-twist{display:inline-flex;align-items:center;justify-content:center;width:.8rem;flex-shrink:0;opacity:.55;margin-left:-.15rem}.folder-twist:hover{opacity:1}.folder-item-actions{display:flex;align-items:center;gap:1px;position:absolute;top:0;bottom:0;right:.15rem;padding-left:1.5rem;border-radius:var(--radius-xs);background:linear-gradient(to right,transparent,var(--surface-2) 1.5rem);opacity:0;pointer-events:none;transition:opacity var(--t) var(--ease)}.folder-item-row:has(.folder-item.active) .folder-item-actions{background:linear-gradient(to right,transparent,var(--accent-dim) 1.5rem),linear-gradient(to right,transparent,var(--surface) 1.5rem)}.folder-item-row:hover .folder-item-actions,.folder-item-row:focus-within .folder-item-actions{opacity:1;pointer-events:auto}.folder-action-btn{display:flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:var(--radius-xs);color:var(--text-2);transition:color var(--t) var(--ease),background var(--t) var(--ease);flex-shrink:0}.folder-action-btn:hover{color:var(--text);background:var(--surface-3)}.folder-action-btn--danger:hover{color:var(--danger);background:var(--danger-dim)}.folder-tree-empty{font-size:.78rem;color:var(--text-2);opacity:.6;padding:.35rem .75rem}.sidebar-inline-form{padding:.35rem .5rem;display:flex;flex-direction:column;gap:.4rem}.sidebar-inline-input{width:100%;background:var(--surface-2);border:1px solid var(--accent-border);border-radius:var(--radius-xs);color:var(--text);font-size:.8rem;padding:.3rem .55rem;outline:none;box-shadow:0 0 0 2px var(--accent-dim)}.sidebar-inline-input--rename{flex:1;min-width:0;width:auto;display:inline-block}.tasks-section-label{color:var(--tasks);opacity:.85}.household-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1rem .35rem;background:transparent;border:none;cursor:pointer;text-align:left}.household-header:hover .household-chevron{color:var(--text);background:var(--surface-3)}.tasks-nav-item.active{background:var(--tasks-dim);color:var(--tasks);font-weight:500}.tasks-nav-item:hover{background:var(--tasks-dim);color:var(--tasks)}.tasks-header-title{display:flex;align-items:center;gap:.55rem;font-size:.95rem;font-weight:600;color:var(--tasks);letter-spacing:-.01em}.hh-list-content{display:flex;flex-direction:column;height:100%;gap:0}.tasks-lists{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.75rem 1.5rem 2rem;display:flex;flex-direction:column;gap:0;max-width:660px;width:100%;margin-inline:auto}.hh-quick-add{display:flex;align-items:center;gap:.6rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg);max-width:660px;width:100%;margin-inline:auto}.hh-quick-input{flex:1;padding:.6rem .875rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;outline:none;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}.hh-quick-input::placeholder{color:var(--text-2)}.hh-quick-input:focus{border-color:var(--tasks-border);box-shadow:0 0 0 3px var(--tasks-dim)}.hh-quick-btn{white-space:nowrap;background:var(--tasks);color:#071c12}.hh-quick-btn:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 4px 16px #34d3994d}.task-section{margin-top:1.5rem}.task-section:first-child{margin-top:.5rem}.task-section-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-2);opacity:.65;margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem}.task-section-label--overdue{color:var(--danger);opacity:.9}.task-section-label--today{color:var(--tasks);opacity:.9}.task-section-label--anytime{opacity:.5}.task-section-count{font-size:.6rem;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:.02rem .4rem;opacity:1}.task-card{display:flex;align-items:flex-start;gap:.7rem;padding:.7rem .875rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:default;transition:background var(--t) var(--ease),border-color var(--t) var(--ease);margin-bottom:.2rem}.task-card:hover{background:var(--surface);border-color:var(--border)}.task-card--overdue{background:#f871710a;border-color:#f871711a}.task-card--done{opacity:.5}.hh-check-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;margin-top:.1rem}.hh-check-wrap input[type=checkbox]{display:none}.hh-check-visual{width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--t) var(--ease),border-color var(--t) var(--ease);position:relative}.hh-check-wrap:hover .hh-check-visual{border-color:var(--tasks)}.hh-check-wrap input:checked+.hh-check-visual{background:var(--tasks);border-color:var(--tasks)}.hh-check-wrap input:checked+.hh-check-visual:after{content:"";display:block;width:.35rem;height:.6rem;border:2px solid #071c12;border-top:none;border-left:none;transform:rotate(45deg) translate(-1px,-1px)}.task-card-body{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:.2rem}.task-card-title{font-size:.88rem;color:var(--text);line-height:1.45;font-weight:500}.task-card--done .task-card-title{text-decoration:line-through;color:var(--text-2)}.task-card-notes{font-size:.78rem;color:var(--text-2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-card-meta{display:flex;align-items:center;gap:.45rem;margin-top:.15rem;flex-wrap:wrap}.task-due-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.12rem .55rem}.task-due-chip--overdue{color:var(--danger);background:var(--danger-dim);border-color:#f8717140}.task-due-chip--done{text-decoration:line-through;opacity:.6}.task-stale-chip{font-size:.7rem;color:var(--text-2);opacity:.55}.task-cal-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--tasks);background:var(--tasks-dim);border:1px solid var(--tasks-border);border-radius:999px;padding:.12rem .55rem;text-decoration:none;transition:opacity var(--t) var(--ease)}.task-cal-chip:hover{opacity:.8}.hh-icon-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-xs);color:var(--text-2);flex-shrink:0;opacity:0;transition:opacity var(--t) var(--ease),color var(--t) var(--ease),background var(--t) var(--ease)}.task-card:hover .hh-icon-btn{opacity:1}.hh-icon-btn:hover{color:var(--text);background:var(--surface-2)}.hh-list{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.75rem 1.5rem 1rem;display:flex;flex-direction:column;gap:.1rem;max-width:660px;width:100%;margin-inline:auto}.hh-list-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .875rem;border-radius:var(--radius-sm);border:1px solid transparent;transition:background var(--t) var(--ease),border-color var(--t) var(--ease)}.hh-list-item:hover{background:var(--surface);border-color:var(--border)}.hh-list-item:hover .hh-icon-btn{opacity:1}.hh-list-text{flex:1;min-width:0;font-size:.88rem;color:var(--text);overflow-wrap:anywhere}.hh-list-item--checked .hh-list-text{text-decoration:line-through;color:var(--text-2);opacity:.6}.hh-list-text-editable{cursor:text;border-radius:4px;padding:.1rem .3rem;margin:-.1rem -.3rem;transition:background var(--t) var(--ease)}.hh-list-text-editable:hover{background:var(--surface-2)}.hh-list-text-input{display:block;width:100%;background:var(--surface-2);border:1px solid var(--accent-border);outline:none;font:inherit;padding:.1rem .3rem;margin:-.1rem -.3rem}.hh-list-empty{color:var(--text-2);opacity:.4}.task-completed-toggle{display:flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);opacity:.55;margin-top:1.75rem;margin-bottom:.5rem;padding:.25rem 0;transition:opacity var(--t) var(--ease)}.task-completed-toggle:hover{opacity:.85}.completed-chevron{transition:transform var(--t) var(--ease)}.completed-chevron.open{transform:rotate(90deg)}.task-completed-list{display:flex;flex-direction:column}.task-completed-list.hidden{display:none}.tasks-empty{color:var(--tasks);opacity:.4}.task-modal-drag-handle{display:none}.task-modal .modal-header{padding-bottom:.75rem;border-bottom:1px solid var(--border)}.task-modal-body{padding:1rem 1.375rem;display:flex;flex-direction:column;gap:.75rem}.task-field-row{display:flex;align-items:center;gap:.75rem}.task-field-label{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-2);flex-shrink:0;width:3.5rem}.task-due-field{flex:1;display:flex;align-items:center;gap:.5rem}.task-due-input{flex:1;padding:.4rem .65rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-xs);color:var(--text);font-size:.85rem;outline:none;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);color-scheme:dark}.task-due-input:focus{border-color:var(--tasks-border);box-shadow:0 0 0 2px var(--tasks-dim)}.task-due-clear-btn{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;flex-shrink:0;border-radius:var(--radius-xs);color:var(--text-2);transition:color var(--t) var(--ease),background var(--t) var(--ease)}.task-due-clear-btn:hover{color:var(--text);background:var(--surface-2)}.task-due-add-btn{font-size:.83rem;color:var(--text-2);padding:.35rem .6rem;border-radius:var(--radius-xs);border:1px dashed var(--border);transition:color var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease)}.task-due-add-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.task-notes-input{width:100%;padding:.55rem .75rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-xs);color:var(--text);font-size:.875rem;line-height:1.6;resize:vertical;outline:none;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);min-height:72px}.task-notes-input::placeholder{color:var(--text-2)}.task-notes-input:focus{border-color:var(--tasks-border);box-shadow:0 0 0 2px var(--tasks-dim)}.task-cal-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-xs)}.task-cal-label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-2);flex:1}.task-cal-toggle{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--text-2);cursor:pointer;transition:color var(--t) var(--ease)}.task-cal-toggle:hover{color:var(--tasks)}.task-cal-toggle input[type=checkbox]{accent-color:var(--tasks);width:.9rem;height:.9rem}.task-cal-actions{display:flex;align-items:center;gap:.5rem}.task-cal-link{font-size:.78rem;color:var(--tasks);text-decoration:none;transition:opacity var(--t) var(--ease)}.task-cal-link:hover{opacity:.8;text-decoration:underline}.task-cal-remove{font-size:.75rem;color:var(--text-2);padding:.2rem .5rem;border-radius:var(--radius-xs);border:1px solid var(--border);transition:color var(--t) var(--ease),background var(--t) var(--ease),border-color var(--t) var(--ease)}.task-cal-remove:hover{color:var(--danger);border-color:#f871714d;background:var(--danger-dim)}.task-cal-hint{font-size:.75rem;color:var(--text-2);opacity:.6;font-style:italic}.task-cal-hint--auto{display:flex;align-items:center;gap:.35rem;opacity:.55;font-style:normal}.task-cal-hint--warning{color:var(--amber);opacity:.85}.task-assignee-toggle{display:flex;gap:.375rem;flex:1}.task-assignee-btn{padding:.3rem .75rem;font-size:.8rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease)}.task-assignee-btn:hover{background:var(--surface-3);color:var(--text)}.task-assignee-btn.active{background:var(--tasks-dim);border-color:var(--tasks-border);color:var(--tasks);font-weight:500}.task-assignee-chip{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;font-size:.6rem;font-weight:600;line-height:1;flex-shrink:0;letter-spacing:.02em}.task-assignee-chip--me{background:var(--tasks-dim);color:var(--tasks);border:1px solid var(--tasks-border)}.task-assignee-chip--other{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.task-modal-footer{display:flex;flex-direction:column;gap:.375rem;padding:.875rem 1.375rem;border-top:1px solid var(--border);flex-shrink:0}.task-modal .task-save-btn{width:100%;padding:.8rem 1rem;font-size:.975rem;justify-content:center}.task-modal-footer-secondary{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;min-height:2rem}.task-delete-btn{margin-right:auto;font-size:.82rem;color:var(--danger);padding:.35rem .65rem;border-radius:var(--radius-xs);border:1px solid transparent;transition:background var(--t) var(--ease),border-color var(--t) var(--ease)}.task-delete-btn:hover{background:var(--danger-dim);border-color:#f8717140}.task-cancel-btn{font-size:.82rem;color:var(--text-2);padding:.35rem .65rem;border-radius:var(--radius-xs);transition:color var(--t) var(--ease)}.task-cancel-btn:hover{color:var(--text)}.cal-sync-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%) translateY(1rem);background:var(--surface-2);border:1px solid var(--amber-border);color:var(--amber);border-radius:var(--radius-sm);padding:.65rem 1rem;font-size:.83rem;display:flex;align-items:center;gap:.55rem;box-shadow:0 8px 32px #00000080;z-index:9999;opacity:0;transition:opacity .25s var(--ease),transform .25s var(--ease);max-width:min(92vw,420px);white-space:normal;text-align:center}.cal-sync-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:680px){.cal-sync-toast{bottom:calc(var(--mob-nav-h, 56px) + env(safe-area-inset-bottom) + .75rem)}}.note-card.action-open{outline:2px solid var(--accent-border);outline-offset:2px}.card-action-bar{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000080;display:flex;gap:.25rem;padding:.35rem;z-index:200;white-space:nowrap}.card-action-btn{background:none;border:none;color:var(--text-2);font-size:.78rem;padding:.3rem .6rem;border-radius:var(--radius-xs);cursor:pointer;transition:background var(--t) var(--ease),color var(--t) var(--ease)}.card-action-btn:hover{background:var(--surface-3);color:var(--text)}.card-action-cancel{color:var(--text-2);opacity:.6}.undo-toast{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%) translateY(calc(100% + 1.5rem));background:var(--surface-2);border:1px solid var(--border-strong);border-radius:999px;padding:.55rem .75rem .55rem 1rem;font-size:.83rem;color:var(--text-2);display:flex;align-items:center;gap:.75rem;box-shadow:0 8px 32px #00000080;z-index:150;pointer-events:none;transition:transform .28s cubic-bezier(.34,1.56,.64,1),opacity .2s;opacity:0;white-space:nowrap}.undo-toast.visible{transform:translate(-50%) translateY(0);opacity:1}.undo-toast-undo{pointer-events:auto;background:none;border:1px solid var(--border-strong);border-radius:999px;color:var(--accent);font-size:.8rem;font-weight:600;padding:.2rem .65rem;cursor:pointer;transition:background var(--t) var(--ease)}.undo-toast-undo:hover{background:var(--surface-3)}@media(max-width:680px){.undo-toast{bottom:calc(var(--mob-nav-h, 56px) + env(safe-area-inset-bottom) + 12px)}}:root{--sd-p-color: #f472b6;--sd-p-dim: rgba(244, 114, 182, .15);--sd-s-color: #6ea8fe;--sd-s-dim: rgba(110, 168, 254, .15);--sd-both-color: #34d399}.sd-list-view{padding:1.5rem 1.75rem;max-width:900px}.sd-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.sd-list-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:var(--text)}.sd-empty{color:var(--text-2);font-size:.875rem;padding:2rem 0}.sd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.sd-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.125rem;text-align:left;transition:border-color var(--t) var(--ease),background var(--t) var(--ease);cursor:pointer}.sd-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.sd-card-range{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:.25rem}.sd-card-meta{font-size:.75rem;color:var(--text-2)}.sd-card-range{display:flex;align-items:center;gap:.4rem}.sd-card--current{border-color:var(--accent-border);background:linear-gradient(135deg,var(--surface) 0%,var(--accent-dim) 100%)}.sd-card--current:hover{border-color:#6ea8fe66}.sd-card-badge{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-dim);border-radius:99px;padding:.1rem .45rem}.sd-start-week{display:flex;align-items:center;gap:.6rem;width:100%;padding:.85rem 1.125rem;margin-bottom:1rem;background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:var(--radius-sm);color:var(--accent);text-align:left;cursor:pointer;transition:background var(--t) var(--ease),border-color var(--t) var(--ease)}.sd-start-week:hover{background:#6ea8fe33;border-color:#6ea8fe80}.sd-start-week-label{font-size:.9rem;font-weight:600}.sd-start-week-range{font-size:.8rem;color:var(--text-2);margin-left:auto}.sd-editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.sd-editor-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;position:relative}.sd-back-btn{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-2);padding:.375rem .5rem;border-radius:var(--radius-xs);transition:color var(--t) var(--ease),background var(--t) var(--ease);white-space:nowrap;flex-shrink:0}.sd-back-btn:hover{color:var(--text);background:var(--surface-2)}.sd-editor-meta{flex:1;min-width:0}.sd-range-row{display:flex;align-items:center;gap:.25rem}.sd-week-nav-btn{color:var(--text-2);padding:.25rem .3rem;border-radius:var(--radius-xs);transition:color var(--t) var(--ease),background var(--t) var(--ease);flex-shrink:0;display:flex;align-items:center}.sd-week-nav-btn:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.sd-week-nav-btn:disabled{opacity:.25;cursor:default}.sd-editor-range{font-size:1.05rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sd-save-status{font-size:.72rem;color:var(--text-2);opacity:.5;white-space:nowrap;flex-shrink:0}.sd-config-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sd-config-label{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-2)}.sd-date-input,.sd-day-select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);font-size:.8rem;padding:.25rem .5rem;outline:none;transition:border-color var(--t) var(--ease)}.sd-date-input:focus,.sd-day-select:focus{border-color:var(--accent)}.sd-delete-btn{color:var(--text-2);padding:.375rem;border-radius:var(--radius-xs);transition:color var(--t) var(--ease),background var(--t) var(--ease);flex-shrink:0}.sd-delete-btn:hover{color:var(--danger);background:var(--danger-dim)}.sd-config-trigger{display:flex;align-items:center;color:var(--text-2);padding:.25rem .3rem;border-radius:var(--radius-xs);flex-shrink:0;transition:color var(--t) var(--ease),background var(--t) var(--ease)}.sd-config-trigger:hover{color:var(--text);background:var(--surface-2)}.sd-config-trigger.open{color:var(--accent);background:var(--accent-dim)}.sd-config-popover{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-top:none;padding:.75rem 1.5rem 1rem;z-index:30;box-shadow:0 6px 16px #00000040}.sd-config-popover[hidden]{display:none}.sd-config-popover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.sd-config-popover-title{font-size:.75rem;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}.sd-config-popover-close{display:flex;align-items:center;color:var(--text-2);padding:.2rem;border-radius:var(--radius-xs);transition:color var(--t) var(--ease),background var(--t) var(--ease)}.sd-config-popover-close:hover{color:var(--text);background:var(--surface-2)}.sd-editor-body{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:1.25rem 1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.sd-sticky-top{position:sticky;top:0;z-index:2;background:var(--bg);flex-shrink:0}.sd-section-nav{display:flex;gap:.25rem;padding:.5rem 1.25rem;overflow-x:auto;overscroll-behavior:contain;border-bottom:1px solid var(--border);flex-shrink:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sd-section-nav::-webkit-scrollbar{display:none}.sd-snav-btn{font-size:.75rem;font-weight:500;color:var(--text-2);padding:.2rem .625rem;border-radius:99px;white-space:nowrap;border:1px solid var(--border);background:var(--surface);transition:color var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease);cursor:pointer}.sd-snav-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.sd-snav-btn.active{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border)}.sd-meal-day-strip{display:flex;gap:.25rem;padding:.4rem 1.25rem;border-bottom:1px solid var(--border);font-size:.7rem;font-weight:600;color:var(--text-2)}.sd-meal-day-cell{flex:1;text-align:center;text-transform:uppercase;letter-spacing:.03em}.sd-meal-day-cell.sd-day-today{color:var(--tasks)}.sd-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.sd-section-title{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;padding:.625rem .875rem;border-bottom:1px solid var(--border);background:var(--surface-2)}.sd-section-expand-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:var(--radius-xs);color:var(--text-2);text-transform:none;letter-spacing:normal;font-weight:400}.sd-section-expand-btn:hover{color:var(--text);background:var(--surface-3)}.sd-section-collapse-btn{transition:transform var(--t) var(--ease),color var(--t) var(--ease),background var(--t) var(--ease)}.sd-section-collapse-btn[aria-expanded=true]{transform:rotate(90deg)}.sd-editor-body.sd-meals-expanded>.sd-sticky-top,.sd-editor-body.sd-meals-expanded>.sd-section:not(#sd-sec-meals){display:none}.sd-editor-body.sd-meals-expanded{padding-top:.75rem}.sd-editor-body.sd-meals-expanded>#sd-sec-meals{flex:1;display:flex;flex-direction:column;min-height:0}.sd-editor-body.sd-meals-expanded #sd-meal-grid{flex:1;min-height:0;display:flex}.sd-editor-body.sd-meals-expanded .sd-grid-scroll{max-height:none;overflow-y:auto;flex:1}.sd-editor-body.sd-meals-expanded .sd-grid-day{min-width:190px}.sd-schedule-cols,.sd-two-cols,.sd-three-cols,.sd-chores-cols{display:grid;gap:0}.sd-schedule-cols{grid-template-columns:1fr 1fr 1fr}.sd-two-cols{grid-template-columns:1fr 1fr}.sd-three-cols{grid-template-columns:1fr 1fr 1fr}.sd-chores-cols{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.sd-col,.sd-schedule-col{padding:.75rem;border-right:1px solid var(--border)}.sd-col:last-child,.sd-schedule-col:last-child{border-right:none}.sd-col-header{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;color:var(--text-2);margin-bottom:.5rem}.sd-p-dot{width:7px;height:7px;border-radius:50%;background:var(--sd-p-color);display:inline-block;flex-shrink:0}.sd-s-dot{width:7px;height:7px;border-radius:50%;background:var(--sd-s-color);display:inline-block;flex-shrink:0}.sd-both-dot{width:7px;height:7px;border-radius:50%;background:var(--sd-both-color);display:inline-block;flex-shrink:0}.sd-chores-summary-hint{font-size:.7rem;color:var(--text-2);opacity:.65;margin:0 0 .5rem}.sd-chores-summary-empty-all{font-size:.82rem;color:var(--text-2);opacity:.6}.sd-chore-summary-list{display:flex;flex-direction:column;gap:.3rem}.sd-chore-summary-row{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--text)}.sd-chore-summary-row--done .sd-chore-summary-text{color:var(--text-2);text-decoration:line-through;opacity:.6}.sd-chore-summary-check{display:flex;align-items:center;justify-content:center;width:.9rem;height:.9rem;border-radius:50%;border:1.5px solid var(--border-strong);color:var(--tasks);flex-shrink:0}.sd-chore-summary-row--done .sd-chore-summary-check{background:var(--tasks-dim);border-color:var(--tasks-border)}.sd-chore-summary-text{flex:1;min-width:0;overflow-wrap:anywhere}.sd-chore-summary-freq{flex-shrink:0;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-2);opacity:.6}.sd-chore-summary-empty{font-size:.78rem;color:var(--text-2);opacity:.5}.sd-list{display:flex;flex-direction:column;gap:.3rem}.sd-list-item{display:flex;align-items:center;gap:.375rem}.sd-list-input{flex:1;background:transparent;border:none;border-bottom:1px solid transparent;color:var(--text);font-size:.8125rem;padding:.25rem .125rem;outline:none;transition:border-color var(--t) var(--ease);min-width:0}.sd-list-input:focus{border-bottom-color:var(--accent)}.sd-list-input::placeholder{color:var(--text-2)}.sd-list-remove{color:var(--text-2);padding:.25rem;border-radius:4px;opacity:0;transition:opacity var(--t),color var(--t),background var(--t);flex-shrink:0}.sd-list-item:hover .sd-list-remove{opacity:1}.sd-list-remove:hover{color:var(--danger);background:var(--danger-dim)}.sd-list-add{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-2);padding:.25rem .125rem;border-radius:4px;margin-top:.2rem;transition:color var(--t) var(--ease),background var(--t) var(--ease),border-color var(--t) var(--ease);width:fit-content}.sd-list-add:hover{color:var(--accent)}.sd-list-add-empty{width:100%;justify-content:center;padding:.4rem .75rem;margin-top:0;border:1px dashed var(--border-strong);border-radius:var(--radius-xs);color:var(--text-2);font-size:.8rem}.sd-list-add-empty:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.sd-sched-list{display:flex;flex-direction:column;gap:.5rem}.sd-sched-item{display:flex;flex-direction:column;gap:.15rem}.sd-sched-main{display:flex;align-items:center;gap:.375rem}.sd-sched-text{flex:1;background:transparent;border:none;border-bottom:1px solid transparent;color:var(--text);font-size:.8125rem;padding:.25rem .125rem;outline:none;transition:border-color var(--t) var(--ease);min-width:0}.sd-sched-text:focus{border-bottom-color:var(--accent)}.sd-sched-text::placeholder{color:var(--text-2)}.sd-sched-remove{color:var(--text-2);padding:.25rem;border-radius:4px;opacity:0;transition:opacity var(--t),color var(--t),background var(--t);flex-shrink:0}.sd-sched-item:hover .sd-sched-remove{opacity:1}.sd-sched-remove:hover{color:var(--danger);background:var(--danger-dim)}.sd-sched-when{display:flex;align-items:center;gap:.35rem;padding-left:.125rem}.sd-sched-date,.sd-sched-time{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-2);font-size:.72rem;font-family:inherit;padding:.15rem .35rem;outline:none;transition:border-color var(--t) var(--ease),color var(--t) var(--ease);min-width:0}.sd-sched-date:focus,.sd-sched-time:focus{border-color:var(--accent-border);color:var(--text)}.sd-sched-date:not(:focus):invalid,.sd-sched-date[value=""]{opacity:.55}.sd-sched-item:hover .sd-sched-date,.sd-sched-date:focus{opacity:1}.sd-remote-locked{box-shadow:0 0 0 1.5px var(--presence-color, var(--accent));border-radius:var(--radius-xs);background:color-mix(in srgb,var(--presence-color, var(--accent)) 8%,transparent);cursor:default}.sd-grid-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.sd-grid{border-collapse:collapse;width:100%;min-width:600px;font-size:.8125rem}.sd-grid th,.sd-grid td{border:1px solid var(--border);vertical-align:top}.sd-grid thead th{background:var(--surface-2);color:var(--text-2);font-size:.75rem;font-weight:600;text-align:center;padding:.375rem .5rem;text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0;z-index:1}.sd-grid-corner{width:44px;min-width:44px}.sd-grid-day{min-width:130px}.sd-grid-row-label{background:var(--surface-2);color:var(--text-2);font-size:.7rem;font-weight:700;text-align:center;padding:.375rem .25rem;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em;width:44px;min-width:44px}.sd-grid-cell{padding:0}.sd-grid-day.sd-day-today{color:var(--tasks);opacity:1}.sd-grid-cell.sd-day-today{background:color-mix(in srgb,var(--tasks) 4%,transparent)}.sd-meal-cell{padding:.375rem .5rem}.sd-meal-together,.sd-meal-single{position:relative}.sd-meal-input{width:100%;background:transparent;border:none;color:var(--text);font-size:.78rem;resize:none;outline:none;padding:0;line-height:1.4;font-family:inherit;min-height:2.8em;overflow:hidden}.sd-meal-input:focus{background:var(--accent-dim);border-radius:4px}.sd-meal-input::placeholder{color:var(--text-2);font-style:italic}.sd-meal-recipe-link{display:flex;align-items:center;gap:.3rem;margin-top:.375rem;padding-top:.325rem;border-top:1px solid var(--border);color:var(--tasks);opacity:.9}.sd-meal-recipe-title{flex:1;min-width:0;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-meal-recipe-unlink{color:var(--text-2);opacity:.6;flex-shrink:0;display:flex}.sd-meal-recipe-unlink:hover{opacity:1;color:var(--danger)}.sd-meal-recipe-link--empty{color:var(--text-2);opacity:.5}.sd-meal-recipe-link--empty:focus-within{opacity:1}.sd-meal-recipe-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:.7rem;font-family:inherit;padding:0}.sd-meal-recipe-input::placeholder{color:var(--text-2);font-style:italic}.sd-meal-mode-bar{display:flex;align-items:center;gap:.3rem;margin-bottom:.325rem}.sd-meal-mode-tag{font-size:.62rem;font-weight:600;padding:1px 7px;border-radius:99px;background:var(--surface-3);color:var(--text-2);border:1px solid var(--border);line-height:1.6}.sd-meal-mode-split{font-size:.62rem;font-weight:500;padding:1px 7px;border-radius:99px;background:transparent;color:var(--text-2);border:1px solid var(--border);cursor:pointer;line-height:1.6;transition:color var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease)}.sd-meal-mode-split:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.sd-meal-separate{display:flex;flex-direction:column;gap:.375rem;position:relative}.sd-meal-person{display:flex;align-items:flex-start;gap:.375rem}.sd-person-label{font-size:.65rem;font-weight:700;padding:1px 4px;border-radius:3px;flex-shrink:0;margin-top:2px;line-height:1.4}.sd-p-label{background:var(--sd-p-dim);color:var(--sd-p-color)}.sd-s-label{background:var(--sd-s-dim);color:var(--sd-s-color)}.sd-meal-ps-badge{display:inline-flex;flex-shrink:0;margin-top:2px}.sd-label-left{border-radius:3px 0 0 3px;margin-top:0}.sd-label-right{border-radius:0 3px 3px 0;margin-top:0}.sd-wo-cell{padding:.375rem .5rem;display:flex;flex-direction:column;gap:.4rem}.sd-wo-cell--view{cursor:pointer;min-height:2.25rem;border-radius:4px;transition:background var(--t) var(--ease);justify-content:center}.sd-wo-cell--view:hover{background:var(--surface-2)}.sd-wo-summary-row{display:flex;align-items:center;gap:.3rem}.sd-wo-summary-text{font-size:.76rem;color:var(--text);font-weight:500}.sd-wo-summary-time{font-size:.68rem;color:var(--text-2);font-weight:400}.sd-wo-empty{color:var(--text-2);font-size:.75rem;opacity:.3;align-self:center}.sd-wo-cell--edit{background:var(--accent-dim);border-radius:4px;outline:1px solid var(--accent-border)}.sd-wo-person{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.sd-pill-group{display:flex;gap:.25rem;flex-wrap:wrap}.sd-pill{font-size:.68rem;font-weight:500;padding:2px 7px;border-radius:99px;background:var(--surface-3);color:var(--text-2);border:1px solid var(--border);cursor:pointer;transition:background var(--t),color var(--t),border-color var(--t);line-height:1.6}.sd-pill:hover{border-color:var(--accent);color:var(--accent)}.sd-pill.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.sd-pill-time{font-size:.63rem;padding:1px 5px}.sd-pill-meal{font-size:.62rem;padding:1px 6px;line-height:1.6}.sd-check-cell{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:.4rem .25rem}.sd-check-dot{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);padding:3px 5px;cursor:pointer;opacity:.3;transition:opacity var(--t) var(--ease),background var(--t) var(--ease)}.sd-check-dot:hover{opacity:.7;background:var(--surface-3)}.sd-check-dot.active{opacity:1}@media(max-width:900px){.sd-schedule-cols,.sd-three-cols{grid-template-columns:1fr}.sd-schedule-col,.sd-three-cols .sd-col{border-right:none;border-bottom:1px solid var(--border)}.sd-schedule-col:last-child,.sd-three-cols .sd-col:last-child{border-bottom:none}}@media(max-width:700px){.sd-two-cols,.sd-chores-cols{grid-template-columns:1fr}.sd-two-cols .sd-col,.sd-chores-cols .sd-col{border-right:none;border-bottom:1px solid var(--border)}.sd-two-cols .sd-col:last-child,.sd-chores-cols .sd-col:last-child{border-bottom:none}.sd-list-view{padding:1rem}.sd-editor-body{padding:.875rem 1rem 2rem}.sd-day-picker{display:flex!important;border-top:1px solid var(--border)}.sd-col-hidden{display:none!important}.sd-grid{min-width:unset;width:100%}.sd-sidebar-toggle,.sd-back-label,#sd-meals-expand-btn,.sd-meal-day-strip{display:none!important}}@media(max-width:600px){.sd-editor-header{padding:.625rem 1rem;gap:.5rem}.sd-editor-range{font-size:.9rem}.sd-config-popover{padding:.75rem 1rem 1rem}.sd-config-popover .sd-config-row{flex-direction:column;align-items:flex-start;gap:.5rem}.sd-config-popover .sd-config-label{gap:.5rem}.sd-config-popover .sd-date-input,.sd-config-popover .sd-day-select{flex:1;min-width:0}}@media(max-width:480px){.sd-cards{grid-template-columns:1fr}}.sd-active .fab{display:none}.sd-sidebar-toggle{color:var(--text-2);padding:.375rem;border-radius:var(--radius-xs);transition:color var(--t) var(--ease),background var(--t) var(--ease);flex-shrink:0;display:flex;align-items:center;justify-content:center}.sd-sidebar-toggle:hover{color:var(--text);background:var(--surface-2)}.sd-day-picker{display:none;align-items:center;gap:.25rem;padding:.375rem .625rem;border-bottom:1px solid var(--border);background:var(--bg)}.sd-day-tabs{display:flex;gap:.2rem;flex:1;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;justify-content:center}.sd-day-tabs::-webkit-scrollbar{display:none}.sd-day-tab{font-size:.72rem;font-weight:500;padding:.2rem .55rem;border-radius:99px;color:var(--text-2);border:1px solid transparent;background:transparent;white-space:nowrap;cursor:pointer;transition:color var(--t),background var(--t),border-color var(--t);flex-shrink:0}.sd-day-tab:hover{color:var(--text);background:var(--surface-3)}.sd-day-tab.active{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border)}.sd-day-nav{display:flex;align-items:center;justify-content:center;color:var(--text-2);padding:.2rem .3rem;border-radius:var(--radius-xs);flex-shrink:0;transition:color var(--t),background var(--t)}.sd-day-nav:hover:not(:disabled){color:var(--text);background:var(--surface-3)}.sd-day-nav:disabled{opacity:.25;cursor:default}.sd-merge-footer{display:flex;align-items:center;justify-content:center;gap:.25rem;width:100%;padding:2px 0 0;font-size:.63rem;color:var(--text-2);opacity:0;transition:opacity var(--t),color var(--t);cursor:pointer;border:none;background:transparent;border-top:1px solid transparent}.sd-meal-cell:hover .sd-merge-footer{opacity:1}.sd-merge-footer:hover{color:var(--accent);border-top-color:var(--border)}.sd-pill-group--time{border-left:1px solid var(--border);padding-left:.3rem;margin-left:.1rem}.groceries-nav-item.active{background:var(--tasks-dim);color:var(--tasks);font-weight:500}.groceries-nav-item:hover{background:var(--tasks-dim);color:var(--tasks)}.grocery-footer{padding:.6rem 1.5rem 1rem;flex-shrink:0;max-width:660px;width:100%;margin-inline:auto}.grocery-clear-btn{font-size:.8rem;color:var(--text-2);padding:.4rem .75rem;border-radius:var(--radius-xs);border:1px solid var(--border);transition:color var(--t) var(--ease),background var(--t) var(--ease),border-color var(--t) var(--ease)}.grocery-clear-btn:hover{color:var(--text);background:var(--surface-2)}.chores-nav-item.active{background:var(--tasks-dim);color:var(--tasks);font-weight:500}.chores-nav-item:hover{background:var(--tasks-dim);color:var(--tasks)}.hh-list-content:has(.chore-group){overflow-y:auto;overscroll-behavior:contain;min-height:0}.chore-group{flex-shrink:0}.chore-group+.chore-group{margin-top:.5rem;border-top:1px solid var(--border)}.chore-group-header{display:flex;align-items:baseline;gap:.5rem;padding:1rem 1.5rem 0;max-width:660px;width:100%;margin-inline:auto}.chore-group-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-2);opacity:.65}.chore-group-hint{font-size:.72rem;color:var(--text-2);opacity:.5}.hh-list.chore-list{flex:none;overflow-y:visible;padding-top:.25rem}.chore-assignee-select{flex-shrink:0;padding:.6rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-2);font-size:.82rem;outline:none;max-width:8rem;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}.chore-assignee-select:focus{border-color:var(--tasks-border);box-shadow:0 0 0 3px var(--tasks-dim)}.chore-assignee-chip{flex-shrink:0;font-size:.7rem;color:var(--tasks);background:var(--tasks-dim);border:1px solid var(--tasks-border);border-radius:999px;padding:.15rem .55rem;white-space:nowrap;transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease)}.chore-assignee-chip:hover{background:var(--tasks);color:#071c12}.chore-assignee-chip--unassigned{color:var(--text-2);background:var(--surface-2);border-color:var(--border)}.chore-assignee-chip--unassigned:hover{color:var(--text);background:var(--surface-3)}.recipe-view{display:block}.recipe-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;max-width:900px;margin-inline:auto}.recipe-list-title{flex:1;font-size:1.1rem;font-weight:600;color:var(--text)}.recipe-sort-select{padding:.4rem .6rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-xs);color:var(--text);font-size:.82rem}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;max-width:900px;margin-inline:auto;align-items:start}.recipe-card{display:flex;flex-direction:column;gap:.4rem;text-align:left;border-radius:var(--radius-sm);padding:.5rem;border:1px solid transparent;transition:background var(--t) var(--ease),border-color var(--t) var(--ease)}.recipe-card:hover{background:var(--surface);border-color:var(--border)}.recipe-card-media{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-xs);overflow:hidden;background:var(--surface-2)}.recipe-card-media img{width:100%;height:100%;object-fit:cover;display:block}.recipe-card-media-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;opacity:.4}.recipe-fav-badge{position:absolute;top:.35rem;right:.35rem;color:var(--amber);background:#00000073;border-radius:999px;width:1.4rem;height:1.4rem;display:flex;align-items:center;justify-content:center;font-size:.8rem}.recipe-card-title{font-size:.88rem;font-weight:500;color:var(--text);line-height:1.3}.recipe-card-meta{font-size:.72rem;color:var(--text-2);opacity:.8}.recipes-empty{color:var(--text-2);opacity:.5;max-width:900px;margin-inline:auto}.recipe-loading{color:var(--text-2);opacity:.6;padding:2rem;text-align:center}.recipe-detail{max-width:900px;margin-inline:auto}.recipe-detail-header{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:1rem;margin-bottom:1.5rem}.recipe-detail-image{width:72px;height:72px;border-radius:var(--radius-sm);object-fit:cover}.recipe-detail-titlebar{min-width:0}.recipe-detail-title{font-size:1.2rem;font-weight:600;color:var(--text);margin-bottom:.15rem}.recipe-detail-meta{font-size:.8rem;color:var(--text-2);opacity:.85}.recipe-source-link{font-size:.78rem;color:var(--accent);text-decoration:none}.recipe-source-link:hover{text-decoration:underline}.recipe-detail-actions{display:flex;align-items:center;gap:.25rem}.recipe-fav-btn{color:var(--text-2);opacity:1!important}.recipe-fav-btn.active{color:var(--amber)}.recipe-detail-body{display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:2rem;margin-bottom:2rem}.recipe-section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);opacity:.75;margin-bottom:.6rem}.recipe-ingredients-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.recipe-ingredients-header .recipe-section-title{margin-bottom:0}.recipe-add-groceries-btn{font-size:.72rem;color:var(--tasks);padding:.15rem .55rem;border-radius:999px;border:1px solid var(--tasks-border);background:var(--tasks-dim);transition:opacity var(--t) var(--ease)}.recipe-add-groceries-btn:hover{opacity:.85}.recipe-add-groceries-btn:disabled{opacity:.5}.recipe-add-groceries-status{font-size:.72rem;color:var(--text-2);opacity:.75}.recipe-ingredient-list--checkable{list-style:none;padding-left:0}.recipe-ingredient-check{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;padding:.1rem 0}.recipe-ingredient-checkbox{margin-top:.3rem;accent-color:var(--tasks);flex-shrink:0}.recipe-ingredient-list,.recipe-step-list{color:var(--text);font-size:.88rem;line-height:1.7;padding-left:1.25rem}.recipe-step-list{line-height:1.6}.recipe-step-list li{margin-bottom:.6rem}.recipe-empty-hint{color:var(--text-2);opacity:.6;font-size:.85rem}.recipe-source-notes{margin-top:1rem;padding:.75rem .875rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-xs);font-size:.83rem;color:var(--text-2);line-height:1.5}.recipe-source-notes strong{color:var(--text)}.recipe-cook-notes{border-top:1px solid var(--border);padding-top:1.25rem}.recipe-cook-notes-empty{color:var(--text-2);opacity:.6;font-size:.85rem;margin-bottom:.75rem}.recipe-cook-notes-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.recipe-cook-note{display:flex;align-items:baseline;gap:.75rem;padding:.5rem .6rem;border-radius:var(--radius-xs);transition:background var(--t) var(--ease)}.recipe-cook-note:hover{background:var(--surface)}.recipe-cook-note-date{font-size:.72rem;color:var(--text-2);opacity:.7;flex-shrink:0;width:5.5rem}.recipe-cook-note-text{flex:1;font-size:.85rem;color:var(--text)}.recipe-cook-note-add{display:flex;gap:.5rem;align-items:center}.recipe-cook-note-date-input{flex-shrink:0;padding:.45rem .6rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-xs);color:var(--text);font-size:.8rem;color-scheme:dark}.recipe-cook-note-text-input{flex:1;padding:.45rem .7rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-xs);color:var(--text);font-size:.85rem}.recipe-form{max-width:640px;margin-inline:auto;padding-bottom:2rem}.recipe-form-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.recipe-form-title{font-size:1.1rem;font-weight:600;color:var(--text)}.recipe-extract-row{display:flex;gap:.5rem;margin-bottom:.4rem}.recipe-extract-input{flex:1;padding:.6rem .8rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-size:.88rem}.recipe-extract-hint{font-size:.78rem;color:var(--text-2);opacity:.75;margin-bottom:1.25rem;min-height:1em}.recipe-extract-text-toggle{display:block;font-size:.78rem;color:var(--accent);margin-bottom:.6rem;padding:0}.recipe-extract-text-toggle:hover{text-decoration:underline}.recipe-extract-text-row{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.4rem}.recipe-extract-text-input{flex:1;padding:.6rem .8rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-size:.85rem;font-family:inherit;resize:vertical}.recipe-form-label-row{display:flex;align-items:center;gap:.5rem}.recipe-simplify-btn{margin-left:auto;font-size:.72rem;color:var(--text-2);padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);transition:color var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease)}.recipe-simplify-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.recipe-simplify-btn:disabled{opacity:.5}.recipe-form-fields{display:flex;flex-direction:column;gap:.9rem}.recipe-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.recipe-form-label{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;color:var(--text-2)}.recipe-form-hint{opacity:.6;font-weight:400;text-transform:none;letter-spacing:0}.recipe-form-label input,.recipe-form-label textarea{padding:.55rem .75rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-xs);color:var(--text);font-size:.88rem;font-family:inherit;resize:vertical}.recipe-form-label input:focus,.recipe-form-label textarea:focus{outline:none;border-color:var(--tasks-border);box-shadow:0 0 0 2px var(--tasks-dim)}.recipe-form-footer{display:flex;gap:.5rem;margin-top:1.5rem}.recipe-form-footer .recipe-save-btn{flex:1}@media(max-width:680px){.recipe-detail-header{grid-template-columns:auto 1fr;row-gap:.5rem}.recipe-detail-image{grid-column:span 2;width:100%;height:160px}.recipe-detail-actions{grid-column:span 2;justify-content:flex-start}.recipe-detail-body{grid-template-columns:1fr;gap:1.25rem}.recipe-form-row{grid-template-columns:1fr}}.recipe-cook-btn{margin-left:auto;font-size:.75rem;font-weight:600;color:var(--tasks);padding:.2rem .65rem;border-radius:999px;border:1px solid var(--tasks-border);background:var(--tasks-dim)}.recipe-cook-btn:hover{opacity:.85}.recipe-cook-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--bg);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.recipe-cook-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--border)}.recipe-cook-title{flex:1;font-size:1rem;font-weight:600;color:var(--text)}.recipe-cook-steps{max-width:640px;width:100%;margin-inline:auto;padding:1.5rem 1.25rem 4rem;list-style:none;counter-reset:none}.recipe-cook-step{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem .5rem;border-bottom:1px solid var(--border);cursor:pointer;transition:opacity var(--t) var(--ease)}.recipe-cook-step-num{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:var(--surface-2);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:var(--text-2)}.recipe-cook-step-text{font-size:1.15rem;line-height:1.5;color:var(--text);padding-top:.2rem}.recipe-cook-step.done{opacity:.4}.recipe-cook-step.done .recipe-cook-step-num{background:var(--tasks);border-color:var(--tasks);color:#071c12}.recipe-cook-step.done .recipe-cook-step-text{text-decoration:line-through}.recipe-card-wrap{display:flex;flex-direction:column}.recipe-fav-suggestion{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:.4rem;padding:.4rem .55rem;background:var(--amber-dim);border:1px solid var(--amber-border);border-radius:var(--radius-xs);font-size:.7rem;color:var(--text-2)}.recipe-fav-suggestion--detail{max-width:900px;margin:0 auto 1.25rem;font-size:.78rem}.recipe-fav-suggestion span{flex:1}.recipe-fav-suggest-yes,.recipe-fav-suggest-yes-detail{color:var(--amber);font-weight:600;padding:.1rem .5rem;border-radius:999px;border:1px solid var(--amber-border)}.recipe-fav-suggest-no,.recipe-fav-suggest-no-detail{color:var(--text-2);padding:.1rem .5rem;border-radius:999px;border:1px solid var(--border)}.toast-stack{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column-reverse;align-items:center;gap:.5rem;pointer-events:none}.toast{pointer-events:auto;cursor:pointer;background:var(--surface-2);border:1px solid var(--danger-dim);color:var(--danger);border-radius:var(--radius-sm);padding:.6rem 1rem;font-size:.83rem;box-shadow:0 8px 32px #00000080;max-width:min(92vw,420px);text-align:center;opacity:0;transform:translateY(.5rem);transition:opacity .22s ease,transform .22s ease}.toast.visible{opacity:1;transform:translateY(0)}@media(max-width:680px){.toast-stack{bottom:calc(var(--mob-nav-h, 56px) + env(safe-area-inset-bottom) + .75rem)}}
