@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&display=swap";:root{color-scheme:light dark;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;--color-bg: #fafafa;--color-surface: #ffffff;--color-surface-2: #f2f3f6;--color-text: #18181f;--color-text-muted: #6b6d7a;--color-border: #e3e4e9;--color-border-strong: #cfd1d9;--color-accent: #1862f5;--color-accent-hover: #1453d0;--color-accent-subtle: rgba(24, 98, 245, .08);--color-accent-subtle-strong: rgba(24, 98, 245, .14);--color-accent-contrast: #ffffff;--color-danger: #dc2626;--color-danger-hover: #c81f1f;--color-danger-subtle: rgba(220, 38, 38, .08);--color-danger-subtle-strong: rgba(220, 38, 38, .14);--color-success: #16a34a;--color-success-subtle: rgba(22, 163, 74, .08);--color-disabled-bg: #b7bac4;--shadow-color: 225deg 40% 30%;--shadow-xs: 0 1px 2px hsl(var(--shadow-color) / .05);--shadow-sm: 0 3px 10px hsl(var(--shadow-color) / .07), 0 1px 2px hsl(var(--shadow-color) / .05);--shadow-md: 0 8px 20px hsl(var(--shadow-color) / .09), 0 2px 6px hsl(var(--shadow-color) / .05);--shadow-lg: 0 16px 32px hsl(var(--shadow-color) / .14), 0 4px 10px hsl(var(--shadow-color) / .07);--inset-highlight: inset 0 1px 0 rgba(255, 255, 255, .7);--radius-sm: .5rem;--radius-md: .85rem;--radius-lg: 1.35rem;--radius-pill: 999px;--ease-spring: cubic-bezier(.32, .72, 0, 1);--material: rgba(250, 250, 250, .72);--material-toast: rgba(255, 255, 255, .78);--material-edge: rgba(255, 255, 255, .5);--scrim-color: 10, 10, 16}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg: #121214;--color-surface: #1b1b1f;--color-surface-2: #26262c;--color-text: #f2f2f5;--color-text-muted: #a3a4b0;--color-border: #313239;--color-border-strong: #3f4048;--color-accent: #6597f8;--color-accent-hover: #7aa8ff;--color-accent-subtle: rgba(101, 151, 248, .14);--color-accent-subtle-strong: rgba(101, 151, 248, .22);--color-accent-contrast: #131c31;--color-danger: #f87171;--color-danger-hover: #fca5a5;--color-danger-subtle: rgba(248, 113, 113, .12);--color-danger-subtle-strong: rgba(248, 113, 113, .2);--color-success: #4ade80;--color-success-subtle: rgba(74, 222, 128, .12);--color-disabled-bg: #46474f;--shadow-color: 230deg 60% 3%;--inset-highlight: inset 0 1px 0 rgba(255, 255, 255, .06);--material: rgba(18, 18, 20, .72);--material-toast: rgba(38, 38, 44, .78);--material-edge: rgba(255, 255, 255, .08);--scrim-color: 0, 0, 0}}:root[data-theme=dark]{color-scheme:dark;--color-bg: #121214;--color-surface: #1b1b1f;--color-surface-2: #26262c;--color-text: #f2f2f5;--color-text-muted: #a3a4b0;--color-border: #313239;--color-border-strong: #3f4048;--color-accent: #6597f8;--color-accent-hover: #7aa8ff;--color-accent-subtle: rgba(101, 151, 248, .14);--color-accent-subtle-strong: rgba(101, 151, 248, .22);--color-accent-contrast: #131c31;--color-danger: #f87171;--color-danger-hover: #fca5a5;--color-danger-subtle: rgba(248, 113, 113, .12);--color-danger-subtle-strong: rgba(248, 113, 113, .2);--color-success: #4ade80;--color-success-subtle: rgba(74, 222, 128, .12);--color-disabled-bg: #46474f;--shadow-color: 230deg 60% 3%;--inset-highlight: inset 0 1px 0 rgba(255, 255, 255, .06);--material: rgba(18, 18, 20, .72);--material-toast: rgba(38, 38, 44, .78);--material-edge: rgba(255, 255, 255, .08);--scrim-color: 0, 0, 0}:root[data-theme=light]{color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .connection-row select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a3a4b0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}}:root[data-theme=dark] .connection-row select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a3a4b0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100vh;background-color:var(--color-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");background-attachment:fixed;background-blend-mode:overlay;color:var(--color-text);-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit}button{transition:background-color .2s var(--ease-spring),border-color .2s var(--ease-spring),color .2s var(--ease-spring),transform .25s var(--ease-spring),opacity .2s var(--ease-spring),box-shadow .25s var(--ease-spring)}button:active:not(:disabled){transform:scale(.96);transition-duration:.08s}button:disabled{cursor:not-allowed}svg{stroke-width:1.6}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app{max-width:480px;margin:0 auto;padding:1.5rem 1rem 3rem}.app h1{font-size:1.85rem;font-weight:800;letter-spacing:-.03em;margin-bottom:1rem;text-wrap:balance}.app-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:2rem}.app-logo{display:flex;align-items:center;gap:.4rem;width:fit-content;color:inherit;text-decoration:none;border-radius:var(--radius-sm);transition:transform .25s var(--ease-spring);-webkit-touch-callout:none}.app-logo-icon{flex-shrink:0}.app-logo-icon-accent{fill:var(--color-accent)}.app-logo-icon-text{fill:var(--color-text)}.app-logo-text{font-size:2.025rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text)}.settings-toggle{position:relative;width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--inset-highlight),var(--shadow-xs);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-muted);flex-shrink:0}.settings-toggle:hover{background:var(--color-surface-2);border-color:var(--color-border-strong);color:var(--color-text);box-shadow:var(--inset-highlight),var(--shadow-sm)}.settings-toggle-dot{position:absolute;top:.1rem;right:.1rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--color-danger);border:1.5px solid var(--color-surface)}.settings-page-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem}.settings-page-back{border:none;background:none;cursor:pointer;color:var(--color-text);display:flex;padding:.3rem;border-radius:50%}.settings-page-back:hover{background:var(--color-surface-2)}.settings-page-title{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;margin:0}.settings-cards{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1.75rem}.settings-card{background:var(--color-surface);border-radius:.9rem;padding:1rem;box-shadow:var(--inset-highlight),var(--shadow-xs)}.settings-card-title{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;color:var(--color-text);margin-bottom:.75rem}.settings-plain-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.logout-link{display:flex;align-items:center;gap:.5rem;text-align:left;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-danger);font:inherit;font-size:.9rem;padding:.4rem;cursor:pointer}.logout-link:hover{background:var(--color-danger-subtle)}.segmented{display:flex;gap:.25rem;background:var(--color-surface-2);padding:.25rem;border-radius:var(--radius-pill)}.segmented-option{flex:1;padding:.4rem .5rem;border:none;border-radius:var(--radius-pill);background:none;font-size:.9375rem;font-weight:500;cursor:pointer;color:var(--color-text-muted);transition:background-color .15s var(--ease-spring),color .15s var(--ease-spring),box-shadow .15s var(--ease-spring)}.segmented-option:hover{color:var(--color-text)}.segmented-option-active{background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-text);font-weight:700}.auth-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.auth-form input{font-size:1rem;padding:.65rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:inherit}.password-field{position:relative;display:flex}.password-field input{width:100%;padding-right:2.5rem}.password-toggle{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);border:none;background:none;padding:.3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:pointer}.password-toggle:hover{color:var(--color-text);background:var(--color-surface-2)}.password-toggle:active:not(:disabled){transform:translateY(-50%) scale(.9)}.auth-form button[type=submit],.primary-action{font-size:1rem;font-weight:600;padding:.7rem;border-radius:var(--radius-pill);border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer;box-shadow:var(--shadow-sm)}.auth-form button[type=submit]:hover:not(:disabled),.primary-action:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.auth-form button[type=submit]:disabled,.primary-action:disabled{background:var(--color-disabled-bg)}.auth-divider{text-align:center;font-size:.875rem;color:var(--color-text-muted);margin:.75rem 0}.auth-google-button{width:100%;box-sizing:border-box;font-size:1rem;font-weight:500;padding:.65rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);cursor:pointer}.auth-google-button:hover{background:var(--color-surface-2);border-color:var(--color-border-strong)}.auth-hint{margin:.5rem 0 0;font-size:.95rem;line-height:1.5;color:var(--color-text-muted)}.auth-subheading{font-size:1.3rem;letter-spacing:-.01em;font-weight:700;margin:0 0 1rem}.recovery-code{font-family:monospace;font-size:1.3rem;font-weight:700;letter-spacing:.05em;text-align:center;padding:.9rem;margin:1rem 0;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);-webkit-user-select:all;user-select:all}.auth-link{display:block;margin:0 auto;padding:.3rem;border:none;background:none;font-size:.9375rem;color:var(--color-text-muted);text-decoration:underline;cursor:pointer}.auth-link:hover{color:var(--color-text)}.notif-banner{margin-bottom:1rem}.notif-banner button{font-size:.9375rem;font-weight:500;padding:.4rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--color-accent);background:none;color:var(--color-accent);cursor:pointer}.notif-banner button:hover{background:var(--color-accent-subtle)}.connections{margin-bottom:0}.connection-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem 0;font-size:.9375rem}.connection-row-boxed{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.connection-row button{font-size:.875rem;font-weight:500;padding:.3rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--color-accent);background:none;color:var(--color-accent);cursor:pointer}.connection-row button:hover{background:var(--color-accent-subtle)}.connection-label{display:flex;align-items:center;gap:.5rem;min-width:0}.friend-avatar{width:1.9rem;height:1.9rem;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;background:var(--color-accent);color:var(--color-accent-contrast)}.connection-row .friend-remove-btn{border:none;background:var(--color-danger-subtle);color:var(--color-danger);border-radius:var(--radius-pill)}.connection-row .friend-remove-btn:hover{background:var(--color-danger-subtle-strong)}.quick-capture-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.quick-capture-form textarea{font-size:1rem;padding:.8rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);resize:vertical;font-family:inherit}.quick-capture-form textarea:focus-visible{border-color:var(--color-accent)}.quick-capture-form button{font-size:1rem;font-weight:600;padding:.7rem;border-radius:var(--radius-pill);border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer;box-shadow:var(--shadow-sm)}.quick-capture-form button:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.quick-capture-form button:disabled{background:var(--color-disabled-bg)}.status{margin:0;font-size:.9rem}.status-saved{color:var(--color-success)}.status-error{color:var(--color-danger)}.status-success{color:var(--color-success)}.capture-feedback-stack{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);width:calc(100% - 2rem);max-width:480px;display:flex;flex-direction:column;justify-content:flex-end;z-index:60;pointer-events:none}.capture-feedback-item{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .24s var(--ease-spring),opacity .2s var(--ease-spring)}.capture-feedback-item-inner{overflow:hidden;min-height:0;padding-top:.5rem}.capture-feedback-item:first-child .capture-feedback-item-inner{padding-top:0}.capture-feedback-item-exiting{grid-template-rows:0fr;opacity:0}.capture-feedback-toast{display:flex;align-items:flex-start;gap:.7rem;background:var(--material-toast);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--material-edge);border-radius:var(--radius-md);box-shadow:var(--inset-highlight),var(--shadow-md),0 0 0 1px hsl(var(--shadow-color) / .06);padding:.75rem .6rem .75rem .8rem;pointer-events:auto;transform:scale(1);transition:background-color .2s var(--ease-spring),border-color .2s var(--ease-spring),box-shadow .2s var(--ease-spring),transform .2s var(--ease-spring);animation:fade-up .3s var(--ease-spring) both}.capture-feedback-item-exiting .capture-feedback-toast{transform:scale(.94)}.capture-feedback-toast-error{cursor:pointer}.capture-feedback-toast-error:hover{box-shadow:var(--inset-highlight),var(--shadow-lg),0 0 0 1px hsl(var(--shadow-color) / .06)}.capture-feedback-toast-error:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.capture-feedback-badge{flex-shrink:0;width:1.375rem;height:1.375rem;margin-top:.05rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s var(--ease-spring),color .2s var(--ease-spring)}.capture-feedback-badge-pending{background:var(--color-surface-2)}.capture-feedback-badge-done{background:var(--color-success);color:var(--color-surface);animation:capture-badge-pop .36s var(--ease-spring) both}.capture-feedback-badge-error{background:var(--color-danger-subtle-strong);color:var(--color-danger)}.capture-feedback-badge-notification{background:var(--color-accent-subtle-strong);color:var(--color-accent)}@keyframes capture-badge-pop{0%{transform:scale(.6)}to{transform:scale(1)}}.capture-feedback-toast-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.capture-feedback-toast-text{margin:0;font-size:.9375rem;font-weight:600;line-height:1.35;color:var(--color-text);overflow-wrap:anywhere}.capture-feedback-toast-row{display:flex;flex-wrap:wrap;align-items:center;column-gap:.75rem;row-gap:.25rem}.capture-feedback-toast-meta{display:inline-flex;align-items:center;gap:.3rem;margin:0;font-size:.8125rem;line-height:1.4;color:var(--color-text-muted)}.capture-feedback-toast-meta svg{flex-shrink:0}.capture-feedback-toast-error-message{color:var(--color-danger)}.capture-feedback-link{display:inline-flex;align-items:center;gap:.1rem;min-width:0;margin:-.15rem -.3rem;padding:.15rem .3rem;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-accent);font:inherit;font-size:.8125rem;font-weight:600;line-height:1.4;text-align:start;cursor:pointer;transition:background-color .15s var(--ease-spring),color .15s var(--ease-spring)}.capture-feedback-link svg{flex-shrink:0;transition:transform .2s var(--ease-spring)}.capture-feedback-link:hover{background:var(--color-accent-subtle);color:var(--color-accent-hover)}.capture-feedback-link:hover svg{transform:translate(2px)}.capture-feedback-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.capture-feedback-actions{display:flex;gap:.15rem;margin-left:auto;margin-right:-.2rem}.capture-feedback-action{padding:.2rem .5rem;border:none;border-radius:var(--radius-pill);background:none;color:var(--color-text);font:inherit;font-size:.8125rem;font-weight:600;line-height:1.4;white-space:nowrap;cursor:pointer;transition:background-color .15s var(--ease-spring)}.capture-feedback-action:hover{background:var(--color-surface-2)}.capture-feedback-action:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.capture-feedback-dismiss{flex-shrink:0;width:1.5rem;height:1.5rem;margin-top:-.05rem;border-radius:50%;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s var(--ease-spring),color .15s var(--ease-spring)}.capture-feedback-dismiss:hover{background:var(--color-surface-2);color:var(--color-text)}.capture-feedback-dismiss:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.entry-item-highlight{animation:entry-highlight 1.6s var(--ease-spring) both}@keyframes entry-highlight{0%,45%{border-color:var(--color-accent);box-shadow:var(--inset-highlight),0 0 0 4px var(--color-accent-subtle-strong),0 6px 18px hsl(var(--shadow-color) / .1)}to{border-color:var(--color-border);box-shadow:var(--inset-highlight)}}@media (prefers-reduced-motion: reduce){.capture-feedback-toast,.capture-feedback-badge-done{animation:none}.capture-feedback-item,.capture-feedback-item-exiting .capture-feedback-toast{transition-duration:.01ms;animation-duration:.01ms}}.loading-mark{display:inline-flex;flex-direction:column;gap:.32rem}.loading-mark-row{display:flex;align-items:center;gap:.32rem}.loading-mark-dot{width:.6rem;height:.6rem;border-radius:50%;flex-shrink:0}.loading-mark-bar{height:.6rem;border-radius:var(--radius-pill);animation-duration:1.2s;animation-timing-function:linear;animation-iteration-count:infinite}.loading-mark-row-1 .loading-mark-dot,.loading-mark-row-1 .loading-mark-bar,.loading-mark-row-2 .loading-mark-dot,.loading-mark-row-2 .loading-mark-bar{background:var(--color-accent)}.loading-mark-row-3 .loading-mark-dot,.loading-mark-row-3 .loading-mark-bar{background:var(--color-text)}.loading-mark-row-1 .loading-mark-bar{width:2.6rem;animation-name:helpi-loading-row1}.loading-mark-row-2 .loading-mark-bar{width:2.6rem;animation-name:helpi-loading-row2}.loading-mark-row-3 .loading-mark-bar{width:2.6rem;animation-name:helpi-loading-row3}.loading-mark-sm,.loading-mark-sm .loading-mark-row{gap:.22rem}.loading-mark-sm .loading-mark-dot{width:.4rem;height:.4rem}.loading-mark-sm .loading-mark-bar{height:.4rem}.loading-mark-sm .loading-mark-row-1 .loading-mark-bar,.loading-mark-sm .loading-mark-row-2 .loading-mark-bar,.loading-mark-sm .loading-mark-row-3 .loading-mark-bar{width:1.5rem}@keyframes helpi-loading-row1{0%,33.2%{width:1.5rem}33.4%,to{width:2.6rem}}.loading-mark-sm .loading-mark-row-1 .loading-mark-bar{animation-name:helpi-loading-row1-sm}@keyframes helpi-loading-row1-sm{0%,33.2%{width:.85rem}33.4%,to{width:1.5rem}}@keyframes helpi-loading-row2{0%,33.2%{width:2.6rem}33.4%,66.2%{width:1.5rem}66.4%,to{width:2.6rem}}.loading-mark-sm .loading-mark-row-2 .loading-mark-bar{animation-name:helpi-loading-row2-sm}@keyframes helpi-loading-row2-sm{0%,33.2%{width:1.5rem}33.4%,66.2%{width:.85rem}66.4%,to{width:1.5rem}}@keyframes helpi-loading-row3{0%,66.2%{width:2.6rem}66.4%,to{width:1.5rem}}.loading-mark-sm .loading-mark-row-3 .loading-mark-bar{animation-name:helpi-loading-row3-sm}@keyframes helpi-loading-row3-sm{0%,66.2%{width:1.5rem}66.4%,to{width:.85rem}}.loading-mark-page{min-height:60vh;display:flex;align-items:center;justify-content:center}@media (prefers-reduced-motion: reduce){.loading-mark-bar{animation-duration:.01ms}}.tabs{display:flex;gap:.35rem;margin-bottom:1rem;border-bottom:none;background:var(--color-surface-2);padding:.25rem;border-radius:var(--radius-md)}.tab{flex:1;padding:.6rem;border:none;border-radius:.5rem;background:none;font-size:.95rem;font-weight:500;cursor:pointer;color:var(--color-text);opacity:.62}.tab:hover{opacity:.85}.tab-active{background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-text);opacity:1;font-weight:700}.tab-active:hover{opacity:1}.entry-list-status{color:var(--color-text-muted);font-size:.9rem}.entry-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.entry-item{padding:.8rem .85rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--inset-highlight);transition:border-color .2s var(--ease-spring),box-shadow .2s var(--ease-spring)}.entry-item:hover{border-color:var(--color-border-strong);box-shadow:var(--inset-highlight),var(--shadow-sm)}.entry-item-row{display:flex;align-items:flex-start;gap:.6rem;touch-action:manipulation;cursor:grab}.entry-item-dragging{box-shadow:var(--shadow-lg);border-color:var(--color-accent);z-index:1;position:relative}.entry-item-dragging .entry-item-row{cursor:grabbing}@media (hover: hover) and (pointer: fine){.entry-item-row{-webkit-user-select:none;user-select:none}.entry-item-row .entry-item-text-clickable{cursor:grab}.entry-item-dragging .entry-item-row .entry-item-text-clickable{cursor:grabbing}.entry-item-row textarea,.entry-item-row input{-webkit-user-select:text;user-select:text}}.entry-item .task-checkbox{margin-top:.15rem}.task-checkbox{position:relative;display:inline-flex;width:1.2rem;height:1.2rem;flex-shrink:0}.task-checkbox input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;width:100%;height:100%;border-radius:var(--radius-sm);border:1.6px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer;transition:background-color .18s var(--ease-spring),border-color .18s var(--ease-spring),transform .15s var(--ease-spring)}.task-checkbox input[type=checkbox]:hover{border-color:var(--color-accent)}.task-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.task-checkbox input[type=checkbox]:active{transform:scale(.88)}.task-checkbox input[type=checkbox]:checked{background-color:var(--color-accent);border-color:var(--color-accent);animation:task-checkbox-pop .26s var(--ease-spring)}@keyframes task-checkbox-pop{0%{transform:scale(.82)}55%{transform:scale(1.1)}to{transform:scale(1)}}.task-checkbox svg{position:absolute;top:0;right:0;bottom:0;left:0;padding:3px;pointer-events:none;fill:none;stroke:var(--color-accent-contrast);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.task-checkbox svg path{stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .22s var(--ease-spring) .05s}.task-checkbox input[type=checkbox]:checked~svg path{stroke-dashoffset:0}@media (prefers-reduced-motion: reduce){.task-checkbox input[type=checkbox]:checked{animation:none}.task-checkbox input[type=checkbox],.task-checkbox svg path{transition-duration:.01ms}}.entry-item-completed .entry-item-text{text-decoration:line-through;color:var(--color-text-muted);transition:color .2s var(--ease-spring)}.entry-item-body{flex:1;min-width:0}.entry-item-text{margin:0;white-space:pre-wrap;word-break:break-word}.entry-item-text-clickable{cursor:pointer}.entry-item-notification-dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:var(--color-danger);margin-right:.4rem;margin-bottom:.1rem}.entry-item-subtask-badge{display:inline-block;margin-left:.5rem;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500;line-height:1.4;vertical-align:middle;white-space:nowrap;background:var(--color-accent-subtle-strong);color:var(--color-accent)}.entry-item-reminder{margin:.25rem 0 0;font-size:.875rem;color:var(--color-text-muted)}.entry-item-edit-meta{margin-top:.65rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.entry-item-reminder-edit{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.entry-item-reminder-edit input[type=datetime-local]{font-size:.9375rem;padding:.3rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:inherit}.reminder-add,.reminder-remove{font-size:.875rem;font-weight:500;padding:.3rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--color-accent);background:none;color:var(--color-accent);cursor:pointer}.reminder-add:hover{background:var(--color-accent-subtle)}.reminder-remove{border-color:var(--color-danger);color:var(--color-danger)}.reminder-remove:hover{background:var(--color-danger-subtle)}.remind-me-row{margin:.35rem 0 0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.remind-me-set{font-size:.875rem;color:var(--color-text-muted)}.remind-menu{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.remind-menu input[type=datetime-local]{font-size:.9375rem;padding:.3rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:inherit}.entry-item-type-toggle{display:flex;gap:.3rem}.type-toggle-btn{font-size:.875rem;font-weight:600;padding:.3rem .7rem;min-width:4.3rem;text-align:center;border-radius:var(--radius-pill);border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer;opacity:.6;box-shadow:var(--shadow-xs)}.type-toggle-btn:hover{opacity:.85}.type-toggle-btn-active{opacity:1}.entry-item-label-edit{margin-top:.55rem;display:flex;gap:.6rem;flex-wrap:wrap}.entry-item-edit-footer{margin-top:.9rem;padding-top:.65rem;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:.5rem}.entry-item-edit-footer .save-btn{font-size:.9375rem;font-weight:600;padding:.4rem .95rem;border-radius:var(--radius-pill);border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.entry-item-edit-footer .save-btn:hover{background:var(--color-accent-hover)}.entry-item-edit-footer .cancel-btn{font-size:.9375rem;font-weight:500;padding:.4rem .95rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:none;color:var(--color-text-muted);cursor:pointer}.entry-item-edit-footer .cancel-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.category-mini-btn{display:flex;flex-shrink:0;border:none;background:none;color:inherit;cursor:pointer;font:inherit;padding:0}.category-mini-btn:hover .category-mini-circle{transform:translateY(-1px) scale(1.05);box-shadow:var(--shadow-md)}.category-mini-btn:active .category-mini-circle{transform:scale(.94)}.category-mini-circle{width:1.9rem;height:1.9rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--inset-highlight),var(--shadow-xs);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease-spring)}.category-option{font-size:.875rem;font-weight:500;padding:.3rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:none;color:var(--color-text);cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}.category-option:hover{border-color:var(--color-accent)}.category-option-active{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent);font-weight:700}.entry-item-body textarea{width:100%;font:inherit;padding:.45rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);box-sizing:border-box}.entry-item-actions{display:flex;flex-direction:row;gap:.4rem;align-self:center}.entry-item-actions button{font-size:.875rem;font-weight:500;padding:.3rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:none;cursor:pointer;color:var(--color-text)}.entry-item-actions button:hover{border-color:var(--color-text-muted);background:var(--color-surface-2)}.entry-item-actions button.danger{border-color:var(--color-danger);color:var(--color-danger)}.entry-item-actions button.danger:hover{background:var(--color-danger-subtle)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;line-height:0}.entry-item-actions button.icon-btn,.reminder-add.icon-btn{padding:.35rem}.subtasks{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--color-border);padding-left:1.7rem}.subtasks-status{margin:0 0 .4rem;font-size:.9375rem;color:var(--color-text-muted)}.subtask-list{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.subtask-list li{display:flex;align-items:center;gap:.5rem}.subtask-list input[type=checkbox]{width:1rem;height:1rem;flex-shrink:0;accent-color:var(--color-accent)}.subtask-text{flex:1;font-size:.9rem;word-break:break-word}.subtask-done .subtask-text{text-decoration:line-through;color:var(--color-text-muted)}.subtask-delete{border:none;background:none;cursor:pointer;color:var(--color-danger);font-size:1rem;line-height:1;padding:.15rem .35rem;border-radius:var(--radius-sm)}.subtask-delete:hover{background:var(--color-danger-subtle)}.subtask-add{display:flex;gap:.4rem}.subtask-add input{flex:1;font-size:.9rem;padding:.4rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.subtask-add button{font-size:.9375rem;font-weight:500;padding:.35rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--color-accent);background:none;color:var(--color-accent);cursor:pointer}.subtask-add button:hover:not(:disabled){background:var(--color-accent-subtle)}.subtask-add button:disabled{border-color:var(--color-border-strong);color:var(--color-text-muted)}.bottom-spacer{height:4.5rem}.completed-section{position:fixed;left:50%;transform:translate(-50%);bottom:10mm;width:calc(100% - 2rem);max-width:480px;z-index:10}.completed-toggle{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;font-size:.9rem;font-weight:700;padding:.7rem .9rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;box-shadow:var(--inset-highlight),var(--shadow-md)}.completed-toggle:hover{border-color:var(--color-border-strong)}.completed-chevron{display:inline-block;transition:transform .15s ease}.completed-chevron-open{transform:rotate(180deg)}.completed-restore-all{display:block;width:100%;box-sizing:border-box;margin-bottom:.5rem;padding:.6rem;border:none;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-contrast);font-size:.9375rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm)}.completed-restore-all:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.completed-restore-all:disabled{background:var(--color-disabled-bg)}.completed-panel{margin-bottom:.5rem;max-height:45vh;overflow-y:auto;padding:.5rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:var(--inset-highlight),var(--shadow-md);animation:fade-up .35s var(--ease-spring) both}.completed-panel-status{margin:0;padding:.75rem .9rem;font-size:.9375rem;color:var(--color-text-muted)}.completed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.completed-item{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border-radius:var(--radius-sm);transition:background-color .2s var(--ease-spring)}.completed-item:hover{background:var(--color-surface-2)}.completed-item-text{flex:1;margin:0;font-size:.9rem;text-decoration:line-through;color:var(--color-text-muted);word-break:break-word}.completed-item-delete{font-size:.875rem;font-weight:500;padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:none;cursor:pointer;color:var(--color-text);flex-shrink:0}.completed-item-delete:hover{background:var(--color-surface);border-color:var(--color-text-muted)}.completed-item-delete.danger{border-color:var(--color-danger);color:var(--color-danger)}.completed-item-delete.danger:hover{background:var(--color-danger-subtle)}.friends{margin-bottom:0}.friend-request-actions{display:flex;gap:.4rem}.friend-add-form{display:flex;gap:.4rem;margin-top:.4rem}.friend-add-form input{flex:1;font-size:.9375rem;padding:.5rem .8rem;border-radius:var(--radius-pill);border:none;background:var(--color-surface-2);color:var(--color-text)}.friend-add-form button{font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:var(--radius-pill);border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.friend-add-form button:hover{background:var(--color-accent-hover)}.friend-invite{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem}.friend-invite .auth-hint{margin:0}.friend-invite-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text);cursor:pointer;transition:background-color .15s var(--ease-spring)}.friend-invite-btn:hover:not(:disabled){background:var(--color-surface-2)}.friend-invite-btn:disabled{color:var(--color-text-muted);cursor:default}.entry-item-shared-badge{margin:.25rem 0 0;font-size:.875rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.35rem}.share-picker{margin:.4rem 0 0 1.7rem;display:flex;flex-direction:column;gap:.3rem;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.share-picker-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.share-picker-row button{font-size:.875rem;font-weight:500;padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-accent);background:none;color:var(--color-accent);cursor:pointer}.share-picker-row button:hover{background:var(--color-accent-subtle)}.share-picker-empty{color:var(--color-text-muted);margin:0}.share-picker-row select,.share-sheet-label-row select,.connection-row select{font-size:.875rem;padding:.3rem 1.6rem .3rem .7rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b6d7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4rem center;background-size:14px}.shared-lists{margin-bottom:0}.shared-list-group{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.75rem}.shared-list-icon{width:1.9rem;height:1.9rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem;box-shadow:var(--inset-highlight),var(--shadow-xs)}.shared-list-body{flex:1;display:flex;flex-direction:column;gap:.3rem;min-width:0}.shared-list-name{font-weight:600;font-size:.9rem}.shared-list-row{cursor:pointer}.shared-list-row select{margin-left:auto}.shared-list-chevron{color:var(--color-text-muted);flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(var(--scrim-color),calc(.4 * var(--scrim, 1)));display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--inset-highlight),var(--shadow-lg);padding:1.5rem;width:100%;max-width:360px;max-height:85vh;overflow-y:auto;overscroll-behavior:contain;will-change:transform}.sheet-grabber{display:none}@media (max-width: 600px){.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:none;max-height:92vh;border:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:.5rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom))}.sheet-grabber{display:block;position:sticky;top:-.5rem;z-index:1;height:1.5rem;margin:-.5rem -1.25rem .25rem;background:var(--color-surface);touch-action:none;cursor:grab}.sheet-grabber:after{content:"";position:absolute;left:50%;top:.5rem;width:2.25rem;height:.3rem;margin-left:-1.125rem;border-radius:var(--radius-pill);background:var(--color-border-strong)}}.modal-title{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .75rem}.modal form{display:flex;flex-direction:column;gap:.75rem}.modal form input[type=text]{font-size:1rem;padding:.65rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:inherit}.icon-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.icon-picker-option{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:none;cursor:pointer;color:var(--color-text)}.icon-picker-option:hover{border-color:var(--color-accent)}.icon-picker-option-active{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.modal-actions{display:flex;gap:.5rem;margin-top:.25rem}.modal-actions button[type=submit]{flex:1;font-weight:600;padding:.65rem;border-radius:var(--radius-pill);border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer;box-shadow:var(--shadow-sm)}.modal-actions button[type=submit]:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.modal-actions button[type=submit]:disabled{background:var(--color-disabled-bg)}.modal-actions button[type=button]{padding:.65rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:none;color:var(--color-text);cursor:pointer}.modal-actions button[type=button]:hover{background:var(--color-surface-2)}.modal-actions button.danger{border-color:var(--color-danger);color:var(--color-danger)}.modal-actions button.danger:hover{background:var(--color-danger-subtle)}.category-circle-row-wrapper{margin-bottom:1.5rem}.category-circle-row{display:grid;grid-template-columns:repeat(5,1fr);justify-items:center;gap:1rem .5rem;padding:.6rem .1rem .8rem}.category-circle-link,.category-circle-add{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-decoration:none;color:inherit;flex-shrink:0;border:none;background:none;cursor:pointer;font:inherit;touch-action:none}.category-circle-link:hover .category-circle,.category-circle-add:hover .category-circle{transform:translateY(-2px) scale(1.04);box-shadow:var(--shadow-md)}.category-circle-link:active .category-circle{transform:scale(.96)}.category-circle-dragging{opacity:.6}.category-circle{position:relative;width:3.25rem;height:3.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--inset-highlight),var(--shadow-xs);transition:transform .25s var(--ease-spring),box-shadow .25s var(--ease-spring)}.category-circle-dot{position:absolute;top:-.1rem;right:-.1rem;width:.85rem;height:.85rem;border-radius:50%;background:var(--color-danger);border:1.5px solid var(--color-surface)}.category-circle-add-icon{background:var(--color-surface-2);color:var(--color-text-muted);border:1px dashed var(--color-border-strong)}.category-circle-label{font-size:.875rem;font-weight:500;max-width:4.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-detail-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1.25rem}.category-detail-header,.settings-page-header{position:sticky;top:0;z-index:20;margin-left:-1rem;margin-right:-1rem;padding:.6rem 1rem;background:var(--material);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 0 transparent;transition:box-shadow .2s ease}html[data-scrolled] .category-detail-header,html[data-scrolled] .settings-page-header{box-shadow:0 1px 0 var(--color-border),0 6px 16px -10px hsl(var(--shadow-color) / .25)}.category-detail-back{border:none;background:none;cursor:pointer;color:var(--color-text);display:flex;padding:.3rem;border-radius:50%}.category-detail-back:hover{background:var(--color-surface-2)}.category-detail-icon{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.category-detail-heading{flex:1;min-width:0}.category-detail-title{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;margin:0;flex:1;text-wrap:balance}.category-detail-sharing{margin:.1rem 0 0;font-size:.8125rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-detail-edit{border:none;background:none;cursor:pointer;color:var(--color-text-muted);display:flex;padding:.3rem;border-radius:50%}.category-detail-edit:hover{background:var(--color-surface-2);color:var(--color-text)}.category-quick-add{display:flex;gap:.5rem;margin-bottom:1rem}.category-quick-add input{flex:1;font-size:.9rem;padding:.6rem .85rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.category-quick-add input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.category-quick-add button{font-size:.9375rem;font-weight:600;padding:.6rem 1.1rem;border-radius:var(--radius-md);border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.category-quick-add button:hover:not(:disabled){background:var(--color-accent-hover)}.category-quick-add button:disabled{background:var(--color-disabled-bg);cursor:default}.category-detail-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;text-align:center;color:var(--color-text-muted)}.category-detail-empty-hint{font-size:.9375rem;color:var(--color-text-muted);margin:0}.category-edit-menu{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.category-edit-menu button{display:flex;align-items:center;gap:.6rem;padding:.6rem .5rem;border:none;background:none;color:var(--color-text);text-align:left;font-size:.95rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer}.category-edit-menu button:hover{background:var(--color-surface-2)}.category-edit-menu-danger{color:var(--color-danger)}.category-edit-menu-danger:hover{background:var(--color-danger-subtle)!important}.category-edit-menu-checkbox{display:flex;align-items:center;gap:.6rem;padding:.6rem .5rem;font-size:.95rem;cursor:pointer}.category-edit-menu-checkbox input{cursor:pointer;accent-color:var(--color-accent)}.color-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.color-picker-option{width:100%;aspect-ratio:1;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:transform .1s ease}.color-picker-option-active{border-color:var(--color-text)}.category-circle-shared-label{font-size:.7rem;color:var(--color-text-muted);max-width:4.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;touch-action:none}.onboarding-overlay-dim{background:#0a0a109e}.onboarding-spotlight{position:fixed;box-shadow:0 0 0 200vmax #0a0a109e;transition:top .4s var(--ease-spring),left .4s var(--ease-spring),width .4s var(--ease-spring),height .4s var(--ease-spring),border-radius .4s var(--ease-spring);pointer-events:none;animation:onboarding-spotlight-in .3s ease-out both}@keyframes onboarding-spotlight-in{0%{box-shadow:0 0 0 200vmax #0a0a1000}}@media (prefers-reduced-motion: reduce){.onboarding-spotlight,.onboarding-tooltip{transition:none}}.onboarding-tooltip{position:fixed;z-index:202;width:min(320px,calc(100vw - 24px));box-sizing:border-box;background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--inset-highlight),var(--shadow-lg);padding:1rem;transition:top .4s var(--ease-spring),left .4s var(--ease-spring)}.onboarding-tooltip-title{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .35rem}.onboarding-tooltip-body{font-size:.95rem;color:var(--color-text-muted);margin:0 0 1rem;line-height:1.4}.onboarding-tooltip-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.onboarding-tooltip-dots{display:flex;gap:.35rem;flex-shrink:0}.onboarding-dot{width:.4rem;height:.4rem;border-radius:50%;background:var(--color-border-strong)}.onboarding-dot-active{background:var(--color-accent)}.onboarding-tooltip-actions{display:flex;align-items:center;gap:.4rem}.onboarding-skip,.onboarding-back{font-size:.9375rem;font-weight:600;padding:.5rem .7rem;border-radius:var(--radius-pill);border:none;background:none;color:var(--color-text-muted);cursor:pointer}.onboarding-skip:hover,.onboarding-back:hover{background:var(--color-surface-2);color:var(--color-text)}.onboarding-next{font-size:.9375rem;font-weight:600;padding:.5rem .9rem;border-radius:var(--radius-pill);border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.onboarding-next:hover{background:var(--color-accent-hover)}.replay-tour-button{font-size:.9375rem;font-weight:600;padding:.5rem .9rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:none;color:var(--color-text);cursor:pointer}.replay-tour-button:hover{background:var(--color-surface-2)}.legal-page{max-width:680px;line-height:1.55}.legal-page h2{font-size:1.1rem;margin:1.6rem 0 .4rem}.legal-page ul{padding-left:1.2rem}.legal-page li{margin:.35rem 0}.legal-nav,.legal-updated,.legal-contact{font-size:.9375rem;color:var(--color-text-muted)}.legal-contact{margin-top:2rem}.auth-terms{display:flex;align-items:flex-start;gap:.5rem;font-size:.9375rem;text-align:left}.auth-terms input{width:auto;margin-top:.15rem}.settings-legal-links{text-align:center;font-size:.875rem;color:var(--color-text-muted)}.household-invite-url{word-break:break-all;font-size:.875rem}.primary-action{display:block;width:100%;margin-top:1rem}.duplicate-lists{margin:.75rem 0}.duplicate-list-row{flex-wrap:wrap;gap:.5rem}.duplicate-list-actions{display:flex;gap:.4rem}.whatsapp-open{text-align:center;text-decoration:none}.import-list-text{width:100%;box-sizing:border-box;resize:vertical;margin-top:8px}.import-list-count{margin:4px 0 8px;font-size:12px;text-align:right;color:var(--color-text-muted)}.import-list-count-over{color:var(--color-danger)}.move-sheet-item{padding:.5rem 0 .75rem;border-bottom:1px solid var(--color-border);margin-bottom:.5rem}.move-sheet-item:last-of-type{border-bottom:none}.move-sheet-text{font-weight:600;margin:0 0 .5rem;overflow-wrap:anywhere}.move-sheet-group{margin-bottom:.5rem}.move-sheet-group-label{display:block;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.25rem}.move-sheet-options{display:flex;flex-wrap:wrap;gap:.35rem}.move-sheet-option{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem .3rem .3rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.9375rem;cursor:pointer;max-width:100%}.move-sheet-option:disabled{cursor:default}.move-sheet-option-current{border-color:var(--color-border-strong);font-weight:600}.move-sheet-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--color-bg, var(--color-surface));overflow-y:auto;display:flex;justify-content:center}.setup-panel{width:100%;max-width:520px;padding:1rem 1rem 2rem;display:flex;flex-direction:column;gap:.75rem;min-height:100%}.setup-header{display:flex;justify-content:space-between;align-items:center}.setup-progress{font-size:.9375rem;color:var(--color-text-muted)}.setup-dots{display:flex;gap:.35rem}.setup-dot{flex:1;height:4px;border-radius:2px;background:var(--color-border)}.setup-dot-settled{background:var(--color-border-strong)}.setup-dot-current{background:var(--color-accent, #1862f5)}.setup-title-row{display:flex;align-items:center;gap:.6rem;margin-top:.5rem}.setup-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);flex-shrink:0}.setup-title{font-size:1.25rem;margin:0}.setup-intro{margin:0;color:var(--color-text-muted)}.setup-content{flex:1}.setup-content .settings-card{margin:0}.setup-step-body{display:flex;flex-direction:column;gap:.75rem}.setup-step-body p{margin:0}.setup-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;position:sticky;bottom:0;padding:.75rem 0 calc(.25rem + env(safe-area-inset-bottom));background:var(--color-bg, var(--color-surface))}.setup-footer-actions,.setup-actions-row{display:flex;gap:.5rem;flex-wrap:wrap}.setup-footer-actions .primary-action,.setup-actions-row .primary-action{width:auto;padding:.7rem 1.4rem}.secondary-action{padding:.7rem 1.2rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:600;cursor:pointer}.secondary-action:disabled{opacity:.6;cursor:default}.setup-install{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.setup-inline-icon{vertical-align:-3px}.setup-checklist{margin:0;padding-left:1.2rem}.install-guide{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;counter-reset:install}.install-guide li{display:flex;align-items:flex-start;gap:.75rem;counter-increment:install}.install-guide-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0}.install-guide-icon:after{content:counter(install);position:absolute;top:-.45rem;left:-.45rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--color-accent, #1862f5);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}.admin-range{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-bottom:1rem}.admin-range input[type=date]{font:inherit;padding:.3rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.admin-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;margin-bottom:1rem}.admin-metric{border:1px solid var(--color-border);border-left:5px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.75rem;background:var(--color-surface)}.admin-metric-good{border-left-color:var(--color-success)}.admin-metric-bad{border-left-color:var(--color-danger);background:var(--color-danger-subtle)}.admin-metric-head{display:flex;justify-content:space-between;gap:.5rem;font-weight:600}.admin-metric-badge{font-size:.75rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.admin-metric-good .admin-metric-badge{color:var(--color-success)}.admin-metric-bad .admin-metric-badge{color:var(--color-danger)}.admin-metric-value{font-size:1.5rem;font-weight:700;margin:.35rem 0}.admin-metric-threshold,.admin-metric-note{margin:.2rem 0 0;font-size:.9375rem;color:var(--color-text-muted)}@media (prefers-reduced-transparency: reduce){.capture-feedback-toast,.category-detail-header,.settings-page-header{-webkit-backdrop-filter:none;backdrop-filter:none}.capture-feedback-toast{background:var(--color-surface)}.category-detail-header,.settings-page-header{background:var(--color-bg)}}@media (prefers-contrast: more){.capture-feedback-toast,.modal{background:var(--color-surface);border:1px solid var(--color-text-muted)}.category-detail-header,.settings-page-header{background:var(--color-bg);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 0 var(--color-text-muted)}}.app-logo:active{transform:scale(.96);transition-duration:.08s}.page-brand{margin-bottom:1.75rem}.standalone-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.standalone-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1rem;padding-bottom:12vh}.standalone-icon{width:3.5rem;height:3.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-accent-subtle-strong);color:var(--color-accent)}.standalone-icon-success{background:var(--color-success-subtle);color:var(--color-success)}.standalone-icon-error{background:var(--color-danger-subtle);color:var(--color-danger)}.standalone-title{margin:.25rem 0 0;font-size:1.75rem;font-weight:800;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}.standalone-text{margin:0;font-size:1.05rem;line-height:1.55;color:var(--color-text-muted);text-wrap:pretty}.standalone-actions{display:flex;flex-direction:column;margin-top:.75rem}.standalone-actions .primary-action{padding:.85rem;font-size:1.05rem}.standalone-secondary{margin-top:.5rem;padding:.75rem;border:none;border-radius:var(--radius-pill);background:none;color:var(--color-text);font:inherit;font-size:1rem;font-weight:600;cursor:pointer}.standalone-secondary:hover{background:var(--color-surface-2)}.standalone-body .duplicate-lists,.standalone-body .auth-form{margin:.5rem 0 0}.household-card{display:flex;flex-direction:column;gap:.75rem}.household-card .settings-card-title,.household-card .auth-hint,.household-card .auth-form,.household-card .duplicate-lists{margin:0}.household-card>.connection-row-boxed+.connection-row-boxed{margin-top:-.35rem}.household-card>.auth-link{margin-top:.25rem}.help-tip-button{margin-left:auto;width:2rem;height:2rem;margin-top:-.35rem;margin-bottom:-.35rem;margin-right:-.35rem;border:none;border-radius:50%;background:none;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.help-tip-button:hover,.help-tip-button-open{color:var(--color-accent);background:var(--color-accent-subtle)}.help-tip-text{margin:-.25rem 0 .75rem;padding:.65rem .8rem;border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text-muted);font-size:.95rem;line-height:1.5;animation:fade-up .25s var(--ease-spring) both}.import-list-header{margin-bottom:0}.import-list-toggle{flex:1;display:flex;align-items:center;gap:.5rem;margin:-.4rem 0 -.4rem -.4rem;padding:.4rem;border:none;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;font-weight:700;text-align:left;cursor:pointer}.import-list-toggle:hover{background:var(--color-surface-2)}.import-list-chevron{margin-left:auto;color:var(--color-text-muted);transition:transform .25s var(--ease-spring)}.import-list-chevron-open{transform:rotate(180deg)}.import-list-header+.help-tip-text{margin-top:.75rem}.import-list-header~.import-list-text{margin-top:.75rem}.setup-content .import-list-intro{margin:0 0 .75rem}.setup-ok-icon{color:var(--color-success)}.share-sheet{margin:0 0 1rem;padding:0;border:none;gap:0;font-size:1rem}.share-sheet .share-picker-row{padding:.65rem 0;border-bottom:1px solid var(--color-border)}.share-sheet .share-picker-row:last-child{border-bottom:none}.share-sheet-name{flex:1;min-width:0;overflow-wrap:anywhere}.share-sheet .share-picker-row button{font-size:.9375rem;padding:.4rem .85rem;border-radius:var(--radius-pill)}.share-sheet-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.75rem}.share-sheet-label{margin:.75rem 0 .25rem;font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.share-sheet-label-row .share-sheet-label{margin:0}.share-sheet .share-picker-empty{padding:.5rem 0}.entry-item-body textarea.entry-item-text-input{display:block;font-size:max(1rem,16px);line-height:1.4;padding:.3rem .5rem;margin:-.3rem 0 0 -.5rem;width:calc(100% + .5rem);border:1px solid transparent;background:var(--color-surface-2);resize:none}.entry-item-body textarea.entry-item-text-input:focus{outline:none;border-color:var(--color-accent);background:var(--color-surface)}.entry-item-open-footer{margin-top:.5rem}.entry-item-date-edit{margin-top:.6rem}.entry-item-date-edit input[type=datetime-local]{font-size:max(1rem,16px);padding:.4rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:inherit;max-width:100%;box-sizing:border-box}.entry-item-date-edit .entry-item-edit-footer{flex-wrap:wrap}.entry-item-date-remove{margin-right:auto}.entry-item-edit-footer .save-btn:disabled{opacity:.5;cursor:default}.repeat-prompt-icon{width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;background:var(--color-accent-subtle);color:var(--color-accent);margin-bottom:.75rem}.repeat-prompt-text{margin:0 0 1.25rem;font-size:1rem;line-height:1.5;color:var(--color-text-muted)}.repeat-prompt-text strong{color:var(--color-text);overflow-wrap:anywhere}.repeat-prompt-actions{flex-direction:column}.repeat-prompt-actions button{width:100%}.entry-item-repeat{display:flex;align-items:center;gap:.6rem;margin-top:.6rem;font-size:.9375rem;color:var(--color-text-muted)}.entry-item-repeat select{font-size:max(1rem,16px);padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:inherit}.repeat-prompt-actions button[type=button]{border-radius:var(--radius-pill);padding:.7rem 1rem;font-size:1rem}.repeat-prompt-actions button.primary-action{border:none;background:var(--color-accent);color:var(--color-accent-contrast);font-weight:600}.repeat-prompt-actions button.primary-action:hover:not(:disabled){background:var(--color-accent-hover)}.app-header-actions{display:flex;align-items:center;gap:.5rem}.feedback-toggle-wrap{position:relative;display:flex}.beta-pill{position:absolute;left:50%;bottom:-.45rem;transform:translate(-50%);padding:.05rem .35rem;border-radius:var(--radius-pill);background:#1862f5;color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.03em;line-height:1.3;pointer-events:none;box-shadow:0 0 0 1.5px var(--color-bg)}.feedback-types{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;padding:.25rem;border-radius:var(--radius-pill);background:var(--color-surface-2);margin-bottom:.75rem}.feedback-type{font:inherit;font-size:.9375rem;font-weight:500;padding:.45rem .5rem;border:none;border-radius:var(--radius-pill);background:none;color:var(--color-text-muted);cursor:pointer}.feedback-type-active{background:var(--color-surface);color:var(--color-text);font-weight:600;box-shadow:var(--shadow-xs)}.feedback-message{width:100%;box-sizing:border-box;font:inherit;font-size:max(1rem,16px);line-height:1.45;padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);resize:vertical}.feedback-message:focus{outline:none;border-color:var(--color-accent)}.feedback-count{margin:.25rem 0 0;font-size:.8125rem;color:var(--color-text-muted);text-align:right}.feedback-add-image{display:inline-flex;align-items:center;gap:.4rem;margin:.75rem 0;font:inherit;font-size:.9375rem;padding:.45rem .85rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:none;color:var(--color-text);cursor:pointer}.feedback-thumb{position:relative;width:4.5rem;height:4.5rem;margin:.75rem 0}.feedback-thumb img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.feedback-thumb-remove{position:absolute;top:-.45rem;right:-.45rem;width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--color-surface);background:var(--color-text);color:var(--color-surface);cursor:pointer;padding:0}.feedback-actions button.primary-action{flex:1;border:none;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-contrast);font-weight:600;padding:.7rem 1rem}.feedback-actions button.primary-action:disabled{background:var(--color-disabled-bg);cursor:default}.feedback-sent{margin:1rem 0 1.5rem;font-size:1.0625rem;font-weight:600;text-align:center}.admin-feedback{list-style:none;margin:0;padding:0}.admin-feedback-item{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.admin-feedback-item:last-child{border-bottom:none}.admin-feedback-message{margin:.25rem 0;white-space:pre-wrap;overflow-wrap:anywhere}.admin-feedback-meta{margin:0;font-size:.875rem;color:var(--color-text-muted);overflow-wrap:anywhere}.aisle-icon{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;flex-shrink:0;border-radius:50%}.aisle-icon-button{border:none;background:var(--color-surface-2);cursor:pointer;padding:0}.aisle-icon-pending{color:var(--color-text-muted)}.aisle-icon-pending svg{animation:aisle-spin 1s linear infinite}@keyframes aisle-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.aisle-icon-pending svg{animation:none}}.aisle-header{list-style:none;display:flex;align-items:center;gap:.4rem;margin:.9rem 0 .35rem;font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.aisle-header:first-child{margin-top:0}.aisle-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem;margin:1rem 0 .5rem}.aisle-picker-option{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.65rem .4rem;border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-surface);color:var(--color-text);font-size:.75rem;cursor:pointer}.aisle-picker-option-active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}
