:root{--bg:#f1f4f2;--surface:#fff;--surface-2:#e7ece9;--ink:#1c2826;--ink-2:#55645f;--ink-3:#8a9793;--line:#d5ddd9;--accent:#2e7d5b;--accent-ink:#fff;--accent-soft:#dcede4;--amber:#b07c2a;--amber-soft:#f2e7cf;--amber-ink:#7a5a1e;--danger:#a64b3c;--shadow:0 8px 28px #1c282624}@media (prefers-color-scheme:dark){:root{--bg:#131917;--surface:#1c2421;--surface-2:#232d29;--ink:#e3e9e5;--ink-2:#9fada7;--ink-3:#6c7a75;--line:#2e3935;--accent:#5cbb8e;--accent-ink:#10201a;--accent-soft:#1f3a2e;--amber:#d3a54e;--amber-soft:#3a3220;--amber-ink:#e6c584;--danger:#d07a68;--shadow:0 8px 28px #00000080}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select{font:inherit}.shell{max-width:540px;min-height:100dvh;padding:14px 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.header{padding:10px 2px 14px}.h-title{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800}.h-sub{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:13.5px;display:flex}.chip{border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.chip-green{background:var(--accent-soft);color:var(--accent);border-color:#0000}.chip-amber{background:var(--amber-soft);color:var(--amber-ink);border-color:#0000}.chip-dl{border:1.5px solid var(--amber);color:var(--amber-ink);font-weight:700}.chip-dl-today{background:var(--amber);border-color:var(--amber);color:var(--bg)}.pbar{background:var(--surface-2);border-radius:3px;height:6px;margin:6px 2px;overflow:hidden}.pbar>i{background:var(--accent);border-radius:3px;height:100%;transition:width .35s;display:block}.pline{color:var(--ink-2);justify-content:space-between;align-items:center;padding:0 2px;font-size:13px;display:flex}.pline .edit{color:var(--accent);font-size:13px;font-weight:600}.list{border-top:1px solid var(--line);margin-top:10px}.task-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:13px 4px;display:flex}.task-upnext{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;margin:0 -8px;padding-left:9px;padding-right:12px}.upnext-label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:2px;font-size:9.5px;font-weight:800;display:block}.cb{border:2px solid var(--ink-3);color:#0000;border-radius:8px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;font-size:15px;font-weight:800;transition:background .15s,border-color .15s;display:flex}.cb-done{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.task-main{flex:1;min-width:0}.task-title{overflow-wrap:break-word;font-size:15.5px}.task-done .task-title{color:var(--ink-3);text-decoration:line-through}.row-chips{flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:12px 0;padding:16px}.card-accent{border-color:var(--accent);border-width:1.5px}.card-title{margin:0 0 4px;font-size:15.5px;font-weight:700}.card-sub{color:var(--ink-2);margin:0 0 12px;font-size:13.5px}.card-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{border:1.5px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:11px 16px;font-size:14.5px;font-weight:700;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:disabled{opacity:.45;cursor:default}.btn-ghost{border-color:var(--accent);color:var(--accent)}.btn-quiet{color:var(--ink-2);font-weight:600}.btn-block{width:100%}.btn-danger-quiet{color:var(--danger);font-weight:600}.fab{right:max(18px,50vw - 252px);bottom:calc(76px + env(safe-area-inset-bottom));background:var(--ink);width:54px;height:54px;color:var(--bg);box-shadow:var(--shadow);z-index:30;border-radius:50%;justify-content:center;align-items:center;font-size:28px;font-weight:300;line-height:1;display:flex;position:fixed}.tabbar{z-index:40;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 0 calc(8px + env(safe-area-inset-bottom));justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-inner{width:100%;max-width:540px;display:flex}.tab{color:var(--ink-3);flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 0;font-size:11px;font-weight:600;display:flex}.tab svg{width:22px;height:22px}.tab-on{color:var(--accent)}.overlay{z-index:50;background:#0a100e73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:540px;max-height:92dvh;padding:10px 16px calc(20px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;animation:.22s rise;overflow-y:auto}@keyframes rise{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:none}}.sheet-grab{background:var(--line);border-radius:2px;width:38px;height:4px;margin:4px auto 14px}.sheet-title{letter-spacing:-.02em;margin:0;font-size:21px;font-weight:800}.sheet-sub{color:var(--ink-2);margin:3px 0 10px;font-size:13.5px}.sheet-sub b{color:var(--accent)}.label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:18px 2px 7px;font-size:11px;font-weight:700;display:block}.input{background:var(--surface);width:100%;color:var(--ink);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font-size:16px}.input:focus{border-color:var(--accent);outline:none}.seg{background:var(--surface-2);border-radius:10px;gap:3px;padding:3px;display:flex}.seg button{color:var(--ink-2);border-radius:8px;flex:1;padding:9px 8px;font-size:13.5px;font-weight:600}.seg .seg-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #0000001f}.plan-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:11px 2px;display:flex}.plan-row-meta{color:var(--ink-3);margin-top:2px;font-size:12px}.picked-box{background:var(--surface);border:1.5px solid var(--accent);border-radius:14px;margin:12px 0 4px;padding:6px 12px}.picked-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:9px 0;display:flex}.picked-row:last-child{border-bottom:0}.picked-n{background:var(--accent);width:22px;height:22px;color:var(--accent-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.picked-title{overflow-wrap:break-word;flex:1;min-width:0;font-size:14.5px}.ord{gap:2px;display:flex}.ord button{width:30px;height:30px;color:var(--ink-2);border-radius:8px;font-size:15px}.ord button:disabled{opacity:.25}.ord .rm{color:var(--danger)}.plan-empty{text-align:center;color:var(--ink-3);padding:12px 0;font-size:13.5px}.goal-card{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:14px;width:100%;margin:10px 0;padding:14px 16px;display:block}.g-title{font-size:15.5px;font-weight:700}.g-next{color:var(--ink-2);margin-top:2px;font-size:13px}.g-next-missing{color:var(--amber-ink)}.milestones{gap:5px;margin-top:11px;display:flex}.milestones i{background:var(--surface-2);border-radius:3px;flex:1;height:5px}.milestones i.ms-done{background:var(--accent)}.g-stale{color:var(--ink-3);margin-top:9px;font-size:12.5px}.someday-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:11px 2px;font-size:14.5px;display:flex}.someday-row span{overflow-wrap:break-word;flex:1;min-width:0}.ms-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;display:flex}.ms-row .cb{border-radius:6px;width:20px;height:20px;font-size:12px}.ms-title{flex:1;font-size:14.5px}.ms-done-t{color:var(--ink-3);text-decoration:line-through}.stat-row{gap:10px;margin:14px 0;display:flex}.stat{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:12px;flex:1;padding:12px 8px}.stat b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;display:block}.stat span{color:var(--ink-2);font-size:11px}.empty{text-align:center;color:var(--ink-2);padding:36px 20px;font-size:14.5px}.empty b{color:var(--ink);margin-bottom:6px;font-size:16px;display:block}.toast{left:50%;bottom:calc(86px + env(safe-area-inset-bottom));z-index:80;background:var(--ink);color:var(--bg);box-shadow:var(--shadow);text-align:center;border-radius:10px;max-width:min(92vw,480px);padding:11px 18px;font-size:14px;font-weight:600;animation:.2s rise;position:fixed;transform:translate(-50%)}.confirm-box{background:var(--bg);border-radius:16px;width:min(92vw,400px);margin:auto;padding:20px}.overlay-center{align-items:center}.confirm-box h3{margin:0 0 8px;font-size:17px}.confirm-box p{color:var(--ink-2);margin:0 0 16px;font-size:14.5px}.pool-details{margin-top:18px}.pool-details summary{cursor:pointer;color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;padding:8px 2px;font-size:13px;font-weight:700}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
