@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html,body{margin:0}body,#root{min-height:100svh}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5f4f1;--color-surface:#fff;--color-surface-2:#efeeea;--color-ink:#16151a;--color-ink-secondary:#56545f;--color-ink-muted:#6e6c78;--color-hairline:#e5e3dd;--color-accent:#6338e8;--color-accent-soft:#ece7fe;--color-on-accent:#fff;--color-status-good:#0ca30c;--color-status-warning:#fab219;--color-status-serious:#ec835a;--color-status-critical:#d03b3b;--color-person-1:#2a78d6;--color-person-2:#eb6834;--shadow-1:0 1px 2px #16151a0a, 0 2px 8px #16151a0d;--shadow-2:0 10px 34px #16151a24;--font-sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-2xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:.625rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-pill:999px;--nav-height:3.75rem;--content-width:34rem}@media (width>=900px){:root{--content-width:58rem}}@media (width>=1400px){:root{--content-width:76rem}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0e0e11;--color-surface:#17171c;--color-surface-2:#212128;--color-ink:#f4f3f7;--color-ink-secondary:#a9a7b4;--color-ink-muted:#8c8996;--color-hairline:#2a2a32;--color-accent:#a892ff;--color-accent-soft:#251f3d;--color-on-accent:#14101f;--color-person-1:#3987e5;--color-person-2:#d95926;--shadow-1:0 1px 2px #00000080;--shadow-2:0 10px 34px #0000008c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0e0e11;--color-surface:#17171c;--color-surface-2:#212128;--color-ink:#f4f3f7;--color-ink-secondary:#a9a7b4;--color-ink-muted:#8c8996;--color-hairline:#2a2a32;--color-accent:#a892ff;--color-accent-soft:#251f3d;--color-on-accent:#14101f;--color-person-1:#3987e5;--color-person-2:#d95926;--shadow-1:0 1px 2px #00000080;--shadow-2:0 10px 34px #0000008c}body{font-family:var(--font-sans);font-size:var(--text-base);background:var(--color-bg);color:var(--color-ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{letter-spacing:-.02em;color:var(--color-ink);margin:0;font-weight:650}h1{font-size:var(--text-xl)}h2{font-size:var(--text-md)}h3{font-size:var(--text-base)}p{margin:0}button,input,select,textarea{font-family:inherit;font-size:var(--text-base);color:var(--color-ink)}button{border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;padding:.65rem 1rem;font-weight:550;transition:background .12s,border-color .12s,transform 90ms}button:hover:not(:disabled){background:var(--color-surface-2)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;padding:.65rem .75rem}input::placeholder,textarea::placeholder{color:var(--color-ink-muted)}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);border-color:#0000;font-weight:650}.btn-primary:hover:not(:disabled){background:color-mix(in oklch, var(--color-accent) 88%, var(--color-ink))}.btn-ghost{color:var(--color-ink-secondary);background:0 0;border-color:#0000}.btn-danger{color:var(--color-status-critical);border-color:color-mix(in oklch, var(--color-status-critical) 35%, var(--color-hairline));background:0 0}.icon-btn{border-radius:var(--radius-pill);width:2.5rem;height:2.5rem;color:var(--color-ink-secondary);background:0 0;border-color:#0000;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-ink)}.card{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.chip{border-radius:var(--radius-pill);border:1px solid var(--color-hairline);background:var(--color-surface-2);color:var(--color-ink-secondary);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:.3rem;padding:.15rem .55rem;font-weight:550;display:inline-flex}.chip[aria-pressed=true]{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.kind-switch{border-radius:var(--radius-pill);background:var(--color-surface-2);gap:.25rem;padding:.25rem;display:flex}.kind-switch button{border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-ink-secondary);background:0 0;border:none;flex:1}.kind-switch button[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-1)}.page{gap:var(--space-4);flex-direction:column;display:flex}.section{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.section-head h2{font-size:var(--text-base);font-weight:700}.section-hint{font-size:var(--text-sm);color:var(--color-ink-muted);margin-top:.15rem}.rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rows>li{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;display:flex}.rows>li:first-child{padding-top:0}.rows>li:last-child{padding-bottom:0}.rows>li+li{border-top:1px solid var(--color-hairline)}.section-title{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-muted);margin-bottom:var(--space-2);font-weight:650}.empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--color-ink-secondary)}.empty .emoji{margin-bottom:var(--space-2);font-size:2rem;display:block}.section-empty{font-size:var(--text-sm);color:var(--color-ink-muted)}.field{flex-direction:column;gap:.35rem;display:flex}.field>span{font-size:var(--text-sm);color:var(--color-ink-secondary);font-weight:550}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.add-btn{flex-shrink:0;align-items:center;gap:.35rem;padding:.5rem .85rem;display:inline-flex}.quick-add{gap:var(--space-2);display:flex}.quick-add input{flex:1;min-height:2.75rem}.icon-square{flex-shrink:0;place-items:center;width:2.75rem;height:2.75rem;padding:0;display:grid}.bar{border-radius:var(--radius-pill);background:var(--color-surface-2);height:.6rem;overflow:hidden}.bar--thin{height:.3rem}.bar-fill{height:100%;width:var(--fill);border-radius:var(--radius-pill);background:var(--need-color);transition:width .6s cubic-bezier(.22,1,.36,1),background-color .6s}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.icon-btn.small{width:2rem;height:2rem;position:relative}.icon-btn.small:after{content:"";position:absolute;inset:-.375rem}.app-shell{grid-template-rows:auto 1fr auto;height:100dvh;display:grid}.topbar{background:color-mix(in oklch, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-hairline)}.topbar-inner{max-width:var(--content-width);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-2);margin:0 auto;display:flex}.brand{font-family:"Manrope Variable", var(--font-sans);font-weight:800;font-size:var(--text-base);letter-spacing:-.03em;flex:1;align-items:center;gap:.4rem;display:inline-flex}.offline-badge{border-radius:var(--radius-pill);background:color-mix(in oklch, var(--color-status-warning) 22%, var(--color-surface));color:var(--color-ink-secondary);font-size:var(--text-xs);flex-shrink:0;align-items:center;gap:.3rem;padding:.1rem .5rem;font-weight:600;display:inline-flex}.offline-badge:before{content:"";background:var(--color-status-warning);border-radius:50%;width:6px;height:6px}.avatar-btn{border:1px solid var(--color-hairline);background:var(--color-surface-2);width:2rem;height:2rem;color:var(--color-ink-secondary);font-size:var(--text-sm);border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-weight:700;display:grid;position:relative}.avatar-btn:after{content:"";position:absolute;inset:-.375rem}.account-menu{inset:auto;top:calc(var(--space-3) + 2.6rem);right:var(--space-4);min-width:12rem;padding:var(--space-2);border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-2);margin:0;position:fixed}.account-menu:popover-open{flex-direction:column;gap:.15rem;display:flex}.account-who{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-muted);font-weight:650}.account-menu button{align-items:center;gap:var(--space-2);padding:.55rem var(--space-3);border-radius:var(--radius-sm);text-align:start;background:0 0;border:none;font-weight:550;display:flex}.account-out{color:var(--color-status-critical)}.content{overscroll-behavior-y:contain;overflow-y:auto}.content-inner{max-width:var(--content-width);padding:var(--space-4) var(--space-4) var(--space-6);margin:0 auto}.tabbar{width:min(100% - 2 * var(--space-4), 24rem);margin:0 auto calc(var(--space-3) + env(safe-area-inset-bottom));border-radius:var(--radius-pill);border:1px solid var(--color-hairline);background:color-mix(in oklch, var(--color-surface) 90%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-2);gap:.25rem;padding:.3rem;display:flex}.tab{border-radius:var(--radius-pill);min-height:3.25rem;color:var(--color-ink-muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;padding:.3rem 0;font-size:.6875rem;font-weight:550;transition:background .18s,color .18s;display:flex}.tab:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-ink-secondary)}.tab[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:700}.view-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.view-head h1{font-family:"Manrope Variable", var(--font-sans);letter-spacing:-.03em;font-weight:800}.view-hint{font-size:var(--text-sm);color:var(--color-ink-secondary);margin-top:.15rem}@media (width>=768px){.app-shell{grid-template:"nav topbar""nav content"1fr/6rem 1fr}.topbar{grid-area:topbar}.content{grid-area:content}.tabbar{justify-content:flex-start;gap:var(--space-1);width:auto;padding:var(--space-4) var(--space-2);background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border:none;border-inline-end:1px solid var(--color-hairline);border-radius:0;flex-direction:column;grid-area:nav;margin:0}.tab{border-radius:var(--radius-md);flex:none;min-height:4rem}.tab[aria-current=page]{background:var(--color-accent-soft)}.content-inner{padding-top:var(--space-5)}}.toast{inset:auto var(--space-4) calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space-3));z-index:30;align-items:center;gap:var(--space-3);width:auto;max-width:26rem;height:auto;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-bg);box-shadow:var(--shadow-2);font-size:var(--text-sm);border:none;margin:0 auto;animation:.2s toast-in;display:flex;position:fixed;overflow:visible}.toast--error{background:var(--color-status-critical);color:#fff}.toast span{flex:1}.toast-close{color:inherit;opacity:.7;font-size:var(--text-xs);background:0 0;border:none;padding:.15rem .35rem}.toast-close:hover{opacity:1;background:0 0}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width>=768px){.toast{bottom:var(--space-5)}}.toast-action{border-radius:var(--radius-pill);color:inherit;font-size:var(--text-sm);background:#ffffff2e;border:none;flex-shrink:0;padding:.25rem .7rem;font-weight:700}.auth{min-height:100dvh;padding:var(--space-5);background:radial-gradient(circle at 50% -8%, color-mix(in oklch, var(--color-accent) 22%, transparent), transparent 62%), var(--color-bg);place-items:center;display:grid}.auth-card{gap:var(--space-3);text-align:center;flex-direction:column;width:100%;max-width:22rem;display:flex}.auth-mark{font-size:2.75rem;line-height:1}.auth-card h1{font-family:"Manrope Variable", var(--font-sans);font-size:var(--text-2xl);letter-spacing:-.04em;font-weight:800}.auth-tagline{color:var(--color-ink-secondary)}.auth-cta{width:100%;min-height:3rem;margin-top:var(--space-2)}.auth-note{font-size:var(--text-sm);color:var(--color-ink-muted)}.auth form{gap:var(--space-3);text-align:start;margin-top:var(--space-2);flex-direction:column;display:flex}.dev-login{margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-ink-muted)}.dev-login summary{cursor:pointer}.dev-login div{gap:var(--space-2);margin-top:var(--space-2);display:flex}.dev-login button{font-size:var(--text-sm);flex:1}.loading{min-height:100dvh;color:var(--color-ink-muted);place-items:center;display:grid}
