:root{--bg:#f3f5f8;--surface:#fff;--sunk:#e9edf3;--line:#d6dce6;--ink:#141c2e;--muted:#5a6478;--accent:#1f4fa8;--accent-ink:#fff;--accent-soft:#e2eaf8;--reach:#b8620b;--reach-bg:#fbebd9;--target:#4b3fcf;--target-bg:#e7e5fb;--safety:#0d7f7a;--safety-bg:#d9f2f0;--research:#8a6a00;--research-bg:#faf0c8;--idle:#6b7487;--idle-bg:#eceef2;--good:#1d7a43;--warn:#b8620b;--bad:#b4233a;--display:"Young Serif", Georgia, "Times New Roman", serif;--body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1420;--surface:#171e2d;--sunk:#1f2738;--line:#2c3549;--ink:#e8ecf4;--muted:#9aa4b8;--accent:#7ea6f0;--accent-ink:#0f1420;--accent-soft:#1e2d4d;--reach:#f0a75a;--reach-bg:#3a2a17;--target:#a89ff5;--target-bg:#272450;--safety:#4fd1c8;--safety-bg:#123533;--research:#e5c55a;--research-bg:#352e12;--idle:#9aa4b8;--idle-bg:#242c3d;--good:#5bd18a;--warn:#f0a75a;--bad:#f07a8c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));padding-block:20px 48px;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;font-weight:400}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11.5px;font-weight:600}.smeta{color:var(--muted);font-size:12.5px}.wrap{flex-direction:column;gap:18px;max-width:1240px;margin:0 auto;display:flex}header.top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:14px;display:flex}header.top h1{font-size:30px;line-height:1.1}header.top p{color:var(--muted);max-width:60ch;margin:4px 0 0}.account{flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;display:flex}.saved{color:var(--muted);font-size:12.5px}.saved.err{color:var(--bad)}.btn{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:7px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.btn.ghost{color:var(--accent);background:0 0}.btn:disabled{opacity:.6;cursor:default}.notice{background:var(--accent-soft);border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}.app{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:860px){.app{grid-template-columns:1fr}}.rail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:16px;padding:18px;display:flex;position:sticky;top:12px}@media (max-width:860px){.rail{position:static}}.rail h2{font-size:19px}.field{flex-direction:column;gap:6px;display:flex}.field input[type=number],.field input[type=email],.field select{background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:4px 11px;font-size:13px}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.hint{color:var(--muted);margin:0;font-size:12.5px}input[type=range]{width:100%;accent-color:var(--accent)}.tabs{background:var(--sunk);border-radius:999px;gap:4px;width:max-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:600}.tabs button[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.main{flex-direction:column;gap:16px;min-width:0;display:flex}.b{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.b:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.b.reach{color:var(--reach);background:var(--reach-bg)}.b.target{color:var(--target);background:var(--target-bg)}.b.safety{color:var(--safety);background:var(--safety-bg)}.b.research{color:var(--research);background:var(--research-bg)}.b.considering,.b.dropped{color:var(--idle);background:var(--idle-bg)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar input[type=search],.toolbar select{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 12px}.toolbar input[type=search]{flex:220px;min-width:0}.check{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.results{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.rhead,.rrow{grid-template-columns:minmax(0,2.4fr) 92px 64px 96px 92px 120px 96px;align-items:center;gap:12px;padding:11px 16px;display:grid}.rhead{background:var(--sunk);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11.5px;font-weight:600}.rrow{border-top:1px solid var(--line)}.rrow:hover{background:var(--bg)}.sname{text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.sname:hover{color:var(--accent);text-decoration:underline}.fitbar{align-items:center;gap:8px;display:flex}.fitbar .track{background:var(--sunk);border-radius:3px;flex:1;height:6px;overflow:hidden}.fitbar .fill{background:var(--accent);border-radius:3px;height:100%}.addbtn{border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:600}.addbtn.on{background:var(--accent-soft);border-color:#0000}.over{color:var(--bad)}.c-stats{display:none}@media (max-width:760px){.rhead{display:none}.rrow{grid-template-columns:1fr auto;grid-template-areas:"n a""s s";row-gap:8px}.rrow .c-name{grid-area:n}.rrow .c-add{grid-area:a}.rrow .c-stats{flex-wrap:wrap;grid-area:s;gap:8px 16px;font-size:13px;display:flex}.rrow .c-col{display:none}}.balance{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;padding:16px 18px;display:grid}@media (max-width:760px){.balance{grid-template-columns:1fr}}.balance h3{margin-bottom:4px;font-size:18px}.meter{background:var(--sunk);border-radius:7px;height:14px;margin:10px 0 8px;display:flex;overflow:hidden}.meter span{height:100%;display:block}.legend{flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.advice{margin:8px 0 0;font-size:14px}.stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat .v{font-family:var(--mono);font-size:20px;font-weight:600}.board{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (max-width:1000px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.board{grid-template-columns:1fr}}.col{background:var(--sunk);border-radius:var(--r);flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex}.colhead{justify-content:space-between;align-items:center;padding:0 2px 4px;display:flex}.colhead .goal{color:var(--muted);font-size:12px}.card{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:8px;flex-direction:column;gap:6px;width:100%;padding:10px 12px;display:flex}.card:hover{border-color:var(--accent)}.card .t{font-weight:600;line-height:1.3}.card .m{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.card .flag{color:var(--warn);font-size:12px}.empty{color:var(--muted);padding:6px 2px;font-size:13px}.prog{background:var(--sunk);border-radius:2px;height:4px;overflow:hidden}.prog i{background:var(--good);height:100%;display:block}.tl{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.tl .month{background:var(--sunk);letter-spacing:.04em;padding:10px 18px;font-size:13px;font-weight:600}.tl .ev{border-top:1px solid var(--line);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 18px;display:grid}.tl .date{font-family:var(--mono);font-size:13px}.tl .days{background:var(--sunk);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12.5px;font-weight:600}.tl .days.soon{background:var(--reach-bg);color:var(--reach)}.tl .days.past{color:var(--muted)}.scrim{z-index:20;background:#0a0e1873;position:fixed;inset:0}.drawer{background:var(--surface);z-index:21;width:min(460px,100%);padding:calc(20px + env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) 22px;border-left:1px solid var(--line);flex-direction:column;gap:18px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.drawer h2{padding-right:36px;font-size:25px;line-height:1.15}.x{top:calc(12px + env(safe-area-inset-top,0px));right:max(12px, env(safe-area-inset-right,0px));background:var(--sunk);border:0;border-radius:50%;width:32px;height:32px;font-size:18px;position:absolute}.facts{grid-template-columns:repeat(3,1fr);gap:12px 10px;display:grid}.facts .v{font-family:var(--mono);font-weight:600}.facts .v.text{font-family:var(--body)}.why{background:var(--bg);border-radius:8px;padding:12px 14px;font-size:14px}.fitrows{flex-direction:column;gap:8px;display:flex}.fitrow{grid-template-columns:96px 1fr 34px;align-items:center;gap:10px;font-size:13.5px;display:grid}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:5px 10px;font-size:13px;font-weight:600}.seg button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.todo{flex-direction:column;gap:2px;display:flex}.todo label{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 4px;font-size:14px;display:flex}.todo input{accent-color:var(--good);width:16px;height:16px}.drawer textarea{border:1px solid var(--line);background:var(--bg);border-radius:8px;width:100%;min-height:80px;padding:10px}.foot{color:var(--muted);text-align:center;max-width:70ch;margin:8px auto 0;font-size:12.5px}@media (prefers-reduced-motion:no-preference){.drawer{animation:.22s ease-out slide}@keyframes slide{0%{opacity:.6;transform:translate(24px)}}}.auth{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:16px;max-width:420px;margin:8vh auto 0;padding:28px;display:flex}.auth h1{font-size:28px}.auth p{color:var(--muted);margin:0}.auth form{flex-direction:column;gap:12px;display:flex}.auth .msg{background:var(--sunk);border-radius:8px;padding:10px 12px;font-size:14px}.auth .msg.err{color:var(--bad)}.links{flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.links a{color:var(--accent);font-weight:600;text-decoration:none}.links a:hover{text-decoration:underline}.dates{flex-direction:column;gap:8px;display:flex}.daterow{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:4px 10px;font-size:14px;display:grid}.daterow input{background:var(--bg);border:1px solid var(--line);border-radius:8px;min-width:0;padding:6px 8px}.daterow .smeta{grid-column:2}.linkbtn{color:var(--accent);background:0 0;border:0;padding:0;font-size:12.5px;font-weight:600}.src{background:var(--sunk);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:700}.src.estimated{background:var(--research-bg);color:var(--research)}.src.verified{background:var(--safety-bg);color:var(--safety)}.src.family{background:var(--accent-soft);color:var(--accent)}.card.draggable{cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none}.card.draggable:active{cursor:grabbing}.card.ghost{opacity:.35}.card.lifted{border-color:var(--accent);cursor:grabbing;transform:rotate(1.5deg);box-shadow:0 10px 24px #0a0e1838}.col{transition:background-color .12s,box-shadow .12s}.col.dragging{box-shadow:inset 0 0 0 1px var(--line)}.col.over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}@media (prefers-reduced-motion:reduce){.card.lifted{transform:none}.col{transition:none}}
