.landing[data-v-5456d570]{min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg)}.landing__header[data-v-5456d570]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.landing__logo[data-v-5456d570]{width:32px;height:32px;border-radius:7px}.landing__wordmark[data-v-5456d570]{font-size:1rem;font-weight:700;color:var(--color-primary);letter-spacing:-.01em;flex:1}.landing__login-btn[data-v-5456d570]{margin-left:auto}.hero[data-v-5456d570]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:72px var(--space-6) 64px;gap:var(--space-6);max-width:680px;margin:0 auto}.hero__title[data-v-5456d570]{font-size:clamp(2rem,6vw,3.5rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;color:var(--color-text)}.hero__subtitle[data-v-5456d570]{font-size:clamp(1rem,2vw,1.2rem);color:var(--color-text-secondary);line-height:1.7;max-width:520px}.btn-lg[data-v-5456d570]{padding:var(--space-3) var(--space-6);font-size:1.05rem;border-radius:var(--radius-md)}.features[data-v-5456d570]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);max-width:900px;margin:0 auto;padding:0 var(--space-6) 72px}.feature-card[data-v-5456d570]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.feature-card__icon[data-v-5456d570]{font-size:1.8rem;line-height:1}.feature-card__title[data-v-5456d570]{font-size:1rem;font-weight:700;color:var(--color-text)}.feature-card__body[data-v-5456d570]{font-size:.9rem;color:var(--color-text-secondary);line-height:1.6}.landing__footer[data-v-5456d570]{margin-top:auto;text-align:center;padding:var(--space-6);font-size:.8rem;color:var(--color-text-secondary);border-top:1px solid var(--color-border)}.login-page[data-v-613bfb29]{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.login-card[data-v-613bfb29]{width:100%;max-width:380px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.login-card__header[data-v-613bfb29]{text-align:center}.login-card__icon[data-v-613bfb29]{width:80px;height:80px;border-radius:18px;margin-bottom:var(--space-3)}.login-card__title[data-v-613bfb29]{font-size:2rem;font-weight:700;color:var(--color-primary)}.login-card__subtitle[data-v-613bfb29]{color:var(--color-text-secondary);margin-top:var(--space-1)}.login-form[data-v-613bfb29]{display:flex;flex-direction:column;gap:var(--space-4)}.login-hint[data-v-613bfb29]{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5}.input--code[data-v-613bfb29]{font-size:1.5rem;letter-spacing:.3em;text-align:center}.chip[data-v-e46e35fb]{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;border-radius:var(--radius-full);font-size:.85rem;font-weight:500;background:var(--chip-bg);color:var(--chip-color);border:1.5px solid var(--chip-border);cursor:pointer;user-select:none;-webkit-user-select:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.chip[data-v-e46e35fb]:hover{filter:brightness(1.12)}.chip--system[data-v-e46e35fb]{font-weight:700}.chip__label--selected[data-v-e46e35fb]{text-decoration:underline;text-underline-offset:2px}.chip__remove[data-v-e46e35fb]{background:none;border:none;cursor:pointer;color:inherit;font-size:1rem;line-height:1;padding:0 2px;opacity:.7}.chip__remove[data-v-e46e35fb]:hover{opacity:1}.item-row[data-v-0820eb42]{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:box-shadow .15s}.item-row[data-v-0820eb42]:hover{box-shadow:var(--shadow-sm)}.item-row__body[data-v-0820eb42]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.item-row__title[data-v-0820eb42]{font-size:1.05rem;font-weight:500;word-break:break-word}.item-row__notes[data-v-0820eb42]{font-size:.85rem;color:var(--color-text-secondary);word-break:break-word}.item-row__tags[data-v-0820eb42]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:4px}.item-row__actions[data-v-0820eb42]{display:flex;align-items:center;gap:2px;flex-shrink:0}@media(max-width:600px){.item-row[data-v-0820eb42]{flex-direction:column;gap:var(--space-2)}.item-row__actions[data-v-0820eb42]{width:100%;gap:var(--space-2);justify-content:flex-end}.item-row__due[data-v-0820eb42]{flex:1}.item-row__actions .btn-icon[data-v-0820eb42]{min-width:44px;min-height:44px;font-size:1.1rem}}.item-row__due[data-v-0820eb42]{font-size:.78rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;padding-right:var(--space-2)}.item-row__due--overdue[data-v-0820eb42]{color:var(--color-danger);font-weight:700}.menu-wrap[data-v-0820eb42]{position:relative}.menu[data-v-0820eb42]{position:absolute;right:0;top:calc(100% + 4px);z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:160px;overflow:hidden}.menu__item[data-v-0820eb42]{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;background:none;border:none;font-size:1rem;color:var(--color-text);cursor:pointer}.menu__item[data-v-0820eb42]:hover{background:var(--color-surface-alt)}.menu__item--danger[data-v-0820eb42]{color:var(--color-danger)}.menu__divider[data-v-0820eb42]{border:none;border-top:1px solid var(--color-border);margin:4px 0}.menu-backdrop[data-v-0820eb42]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49}.overlay[data-v-9c71f988]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;display:flex;align-items:center;justify-content:center;padding:var(--space-4);touch-action:none}.modal[data-v-9c71f988]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:520px;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);touch-action:pan-y}.modal-header[data-v-762c7ddf]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);position:sticky;top:calc(-1 * var(--space-6));background:var(--color-surface);margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) 0;padding:var(--space-6) var(--space-6) var(--space-4);z-index:1}.modal-header__actions[data-v-762c7ddf]{display:flex;gap:var(--space-2);flex-shrink:0}.modal-title[data-v-762c7ddf]{font-size:1.2rem;font-weight:700}.form-label-hint[data-v-762c7ddf]{font-weight:400;color:var(--color-text-secondary);font-size:.8em}.tag-list[data-v-762c7ddf]{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.tag-create-btn[data-v-762c7ddf]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);border:1.5px dashed var(--color-primary);background:none;color:var(--color-primary);font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap}.tag-create-btn[data-v-762c7ddf]:hover{background:var(--color-primary-dim)}.modal-header[data-v-c9fca007]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);position:sticky;top:calc(-1 * var(--space-6));background:var(--color-surface);margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) 0;padding:var(--space-6) var(--space-6) var(--space-4);z-index:1}.modal-title[data-v-c9fca007]{font-size:1.2rem;font-weight:700}.loading-text[data-v-c9fca007]{color:var(--color-text-secondary)}.settings-group[data-v-c9fca007]{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.settings-group[data-v-c9fca007]:last-of-type{border-bottom:none}.settings-group__label[data-v-c9fca007]{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary)}.value-badge[data-v-c9fca007]{font-weight:600;color:var(--color-primary);background:var(--color-primary-dim);padding:1px 7px;border-radius:var(--radius-full);font-size:.8rem;margin-left:var(--space-2)}.slider[data-v-c9fca007]{width:100%;accent-color:var(--color-primary)}.slider-labels[data-v-c9fca007]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-secondary)}.settings-email[data-v-c9fca007]{font-size:.9rem;color:var(--color-text-secondary)}.scheme-toggle[data-v-c9fca007]{display:inline-flex;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.scheme-btn[data-v-c9fca007]{flex:1;padding:var(--space-2) var(--space-4);background:var(--color-surface);border:none;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s}.scheme-btn+.scheme-btn[data-v-c9fca007]{border-left:1.5px solid var(--color-border)}.scheme-btn[data-v-c9fca007]:hover:not(.scheme-btn--active){background:var(--color-surface-alt);color:var(--color-text)}.scheme-btn--active[data-v-c9fca007]{background:var(--color-primary);color:#fff}.theme-grid[data-v-c9fca007]{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-3)}.theme-card[data-v-c9fca007]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);cursor:pointer;transition:border-color .15s,background .15s}.theme-card[data-v-c9fca007]:hover{border-color:var(--color-primary-light)}.theme-card--active[data-v-c9fca007]{border-color:var(--color-primary);background:var(--color-primary-dim)}.theme-swatches[data-v-c9fca007]{display:flex;gap:3px}.theme-swatch[data-v-c9fca007]{width:14px;height:14px;border-radius:50%}.theme-name[data-v-c9fca007]{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.theme-card--active .theme-name[data-v-c9fca007]{color:var(--color-primary)}.main-layout[data-v-28ecc652]{display:flex;flex-direction:column;min-height:100dvh;position:relative}.app-header[data-v-28ecc652]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.app-header__brand[data-v-28ecc652]{display:flex;align-items:center;gap:var(--space-2)}.app-header__icon[data-v-28ecc652]{width:28px;height:28px;object-fit:contain}.app-header__title[data-v-28ecc652]{font-size:1.3rem;font-weight:800;color:var(--color-primary)}.app-header__actions[data-v-28ecc652]{display:flex;align-items:center;gap:var(--space-2)}.btn-add-item[data-v-28ecc652]{padding:var(--space-2) var(--space-4);font-size:.9rem;font-weight:600;border-radius:999px}.btn-settings[data-v-28ecc652]{width:2.25rem;height:2.25rem;padding:0;display:flex;align-items:center;justify-content:center}.btn-icon-svg[data-v-28ecc652]{width:1.1rem;height:1.1rem;flex-shrink:0}.tag-strip-wrap[data-v-28ecc652]{background:var(--color-surface);border-bottom:1px solid var(--color-border);overflow:hidden}.tag-strip[data-v-28ecc652]{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-5);overflow-x:auto;scrollbar-width:none}.tag-strip[data-v-28ecc652]::-webkit-scrollbar{display:none}.main-content[data-v-28ecc652]{flex:1;padding:var(--space-5);max-width:780px;width:100%;margin:0 auto}.item-list[data-v-28ecc652]{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-5)}.state-center[data-v-28ecc652]{display:flex;align-items:center;justify-content:center;min-height:200px}.error-state[data-v-28ecc652]{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.empty-state[data-v-28ecc652]{text-align:center;color:var(--color-text-secondary)}.empty-state__icon[data-v-28ecc652]{font-size:2.5rem;color:var(--color-border);margin-bottom:var(--space-3)}.empty-state__add[data-v-28ecc652]{margin-top:var(--space-4)}.loading-spinner[data-v-28ecc652]{display:inline-block;width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-28ecc652 .7s linear infinite}@keyframes spin-28ecc652{to{transform:rotate(360deg)}}@media(max-width:600px){.main-content[data-v-28ecc652]{padding:var(--space-3)}.app-header[data-v-28ecc652]{padding:var(--space-3) var(--space-4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-light: #818cf8;--color-primary-dim: #4f46e520;--color-bg: #f8f8fc;--color-surface: #ffffff;--color-surface-alt: #f0f0f8;--color-text: #1e1b4b;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--color-done: #16a34a;--color-dropped: #6b7280;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}body{min-height:100dvh}#app{min-height:100dvh;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-alt);color:var(--color-text)}.btn-danger{background:transparent;color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-sm);line-height:1;justify-content:center;-webkit-user-select:none;user-select:none}.input{width:100%;min-width:0;box-sizing:border-box;padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;color:var(--color-text);background:var(--color-surface);transition:border-color .15s;outline:none}.input:focus{border-color:var(--color-primary)}.input::placeholder{color:var(--color-text-secondary)}textarea.input{resize:vertical;min-height:80px;font-family:inherit}input[type=date].input{width:auto;min-width:0}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.error-message{padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);font-size:.9rem}@media(prefers-color-scheme:dark){:root:not([data-color-scheme=light]){--color-primary: #6366f1;--color-primary-hover: #818cf8;--color-primary-light: #a5b4fc;--color-primary-dim: #6366f130;--color-bg: #0f0f18;--color-surface: #1a1a2e;--color-surface-alt: #232340;--color-text: #e8e6ff;--color-text-secondary: #9ca3af;--color-border: #2e2e4e;--color-done: #4ade80;--color-dropped: #9ca3af;--color-danger: #f87171;--color-danger-bg: #3b0a0a;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.6)}}[data-color-scheme=dark]{--color-primary: #6366f1;--color-primary-hover: #818cf8;--color-primary-light: #a5b4fc;--color-primary-dim: #6366f130;--color-bg: #0f0f18;--color-surface: #1a1a2e;--color-surface-alt: #232340;--color-text: #e8e6ff;--color-text-secondary: #9ca3af;--color-border: #2e2e4e;--color-done: #4ade80;--color-dropped: #9ca3af;--color-danger: #f87171;--color-danger-bg: #3b0a0a;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.6)}
