:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f4;--surface:#fcfcfb;--surface-2:#efeeea;--line:#e2e1dc;--text:#0b0b0b;--text-2:#52514e;--muted:#6b6a65;--accent:#1d6bc9;--on-accent-bg:var(--accent);--accent-soft:#cde2fb;--track:#e8e7e2;--good:#1a7f37;--bad:#c62828;--g1:#2a78d6;--g2:#eb6834;--g3:#1baf7a;--g4:#eda100;--g5:#e87ba4;--g6:#008300;--g7:#6250d6;--g8:#e34948;--radius:12px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111110;--surface:#1a1a19;--surface-2:#242422;--line:#2f2f2c;--text:#f0efec;--text-2:#c3c2b7;--muted:#8d8c85;--accent:#3987e5;--on-accent-bg:#2a6fc9;--accent-soft:#1d3a5c;--track:#2c2c29;--good:#4cc26b;--bad:#ef6b6b;--g1:#3987e5;--g2:#d95926;--g3:#199e70;--g4:#c98500;--g5:#d55181;--g6:#008300;--g7:#9085e9;--g8:#e66767}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.wrap{max-width:720px;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 96px calc(16px + env(safe-area-inset-left));margin:0 auto}header.top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}header.top h1{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:650}.sync{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.sync i{background:var(--muted);border-radius:50%;width:8px;height:8px;display:inline-block}.sync.ok i{background:var(--good)}.sync.warn i{background:#eda100}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:14px}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.muted{color:var(--muted)}.t2{color:var(--text-2)}.small{font-size:13px}.tiny{font-size:12px}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:20px 4px 8px;font-size:13px;font-weight:600}.btn{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 12px}.btn.primary{background:var(--on-accent-bg);border-color:var(--on-accent-bg);color:#fff}.btn.danger{color:var(--bad)}.btn.ghost{background:0 0;border-color:#0000}.btn:disabled{opacity:.5;cursor:default}.iconbtn{border:1px solid var(--line);background:var(--surface);border-radius:10px;place-items:center;width:36px;height:36px;font-size:18px;line-height:1;display:grid}.seg{background:var(--surface-2);border-radius:10px;gap:2px;padding:3px;display:flex}.seg button{color:var(--text-2);background:0 0;border:0;border-radius:8px;flex:1;padding:6px 8px;font-size:14px}.seg button.on{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #00000014}.nav{align-items:center;gap:8px;margin:10px 0 12px;display:flex}.nav .lbl{text-align:center;flex:1;font-weight:600}.bar{background:var(--track);border-radius:4px;height:8px;overflow:hidden}.bar>span{background:var(--accent);border-radius:4px;height:100%;transition:width .25s;display:block}.bar.thin{height:6px}.pct{font-variant-numeric:tabular-nums;font-weight:650}.tiles{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.tile .k{color:var(--text-2);font-size:12px}.tile .v{font-variant-numeric:tabular-nums;margin:2px 0 6px;font-size:22px;font-weight:650}.tile .s{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px}.item{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 4px;display:flex}.item:first-child{border-top:0}.check{border:2px solid var(--muted);color:#fff;background:0 0;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;padding:0;font-size:15px;display:grid}.check.on{background:var(--on-accent-bg);border-color:var(--on-accent-bg)}.item .body{flex:1;min-width:0}.item .name{overflow-wrap:anywhere;font-weight:550}.item.done .name{color:var(--muted);text-decoration:line-through}.chips{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.chip{background:var(--surface-2);color:var(--text-2);border-radius:999px;align-items:center;gap:5px;padding:1px 8px 1px 6px;font-size:11.5px;display:inline-flex}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.meta{color:var(--muted);font-size:12px}.overdue{color:var(--bad)}.goalcard .head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.goalcard .head .name{overflow-wrap:anywhere;flex:1;font-size:16px;font-weight:600}.goalcard .acts{border-top:1px solid var(--line);margin-top:10px;padding-top:6px}.actrow{grid-template-columns:1fr 90px 44px;align-items:center;gap:10px;padding:5px 0;font-size:13.5px;display:grid}.actrow .n{overflow-wrap:anywhere}.actrow .p{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-2)}.empty{text-align:center;color:var(--muted);padding:28px 12px}.quick{gap:8px;margin-top:10px;display:flex}.quick input{flex:1;min-width:0}input[type=text],input[type=email],input[type=number],input[type=date],select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;padding:8px 10px}textarea{min-height:120px;font-family:ui-monospace,Menlo,monospace;font-size:12px}label.f{color:var(--text-2);margin:12px 0 5px;font-size:13px;font-weight:550;display:block}.days{gap:4px;display:flex}.days button{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:1;padding:7px 0;font-size:13px}.days button.on{background:var(--on-accent-bg);border-color:var(--on-accent-bg);color:#fff}.goalpick{flex-wrap:wrap;gap:6px;display:flex}.goalpick button{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:5px 12px 5px 9px;font-size:13.5px;display:inline-flex}.goalpick button.on{border-color:var(--accent);background:var(--accent-soft)}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatches button{border:3px solid #0000;border-radius:50%;width:30px;height:30px;padding:0}.swatches button.on{border-color:var(--text)}nav.tabs{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}nav.tabs .in{width:100%;max-width:720px;display:flex}nav.tabs button{color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 4px 12px;font-size:12px;display:flex}nav.tabs button .ic{font-size:19px;line-height:1}nav.tabs button.on{color:var(--accent);font-weight:600}.modal{z-index:20;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;overflow:auto}@media (min-width:640px){.modal{align-items:center}.sheet{border-radius:16px}}.sheet h3{margin:0 0 4px;font-size:18px}.actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.actions .sp{flex:1}.err{color:var(--bad);min-height:1em;margin-top:8px;font-size:13px}.chart{align-items:flex-end;gap:2px;height:200px;margin-top:10px;padding:0 0 0 30px;display:flex;position:relative}.chart .grid{border-top:1px dashed var(--line);color:var(--muted);font-size:10px;position:absolute;left:30px;right:0}.chart .grid span{text-align:right;width:26px;position:absolute;top:-7px;left:-30px}.chart .col{cursor:default;flex:1;align-items:flex-end;height:100%;display:flex;position:relative}.chart .col .b{background:var(--accent);border-radius:4px 4px 0 0;width:100%;min-height:0}.chart .col .b.na{background:0 0}.chart .col:hover .b,.chart .col.sel .b{filter:brightness(1.15)}.chart .col.sel{background:var(--surface-2);border-radius:4px 4px 0 0}.xlabels{gap:2px;margin-top:4px;padding-left:30px;display:flex}.xlabels span{text-align:center;color:var(--muted);white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.tip{min-height:20px;color:var(--text-2);font-variant-numeric:tabular-nums;margin-top:8px;font-size:13px}table.t{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px;font-size:13px}table.t td,table.t th{border-top:1px solid var(--line);text-align:right;padding:5px 6px}table.t td:first-child,table.t th:first-child{text-align:left}details summary{cursor:pointer;color:var(--text-2);margin-top:10px;font-size:13px}.help{color:var(--text-2);font-size:12.5px;line-height:1.55}.help b{color:var(--text)}.card-title{text-transform:none;letter-spacing:0;color:var(--text);margin:0 0 6px;font-size:18px;font-weight:650}
