:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f2f7;--surface:#fff;--surface-raised:#fff;--surface-soft:#f2f2f7;--ink:#000;--muted:#55555a;--tertiary:#3c3c434d;--line:#3c3c432e;--control-edge:#787880;--accent:#0053b8;--accent-fill:#0062d6;--accent-soft:color-mix(in srgb, var(--accent) 16%, var(--surface));--button-ink:#fff;--success:#1b732f;--success-fill:#34c759;--success-soft:color-mix(in srgb, var(--success) 8%, var(--surface));--warning:#c90014;--warning-soft:color-mix(in srgb, var(--warning) 6%, var(--surface));--glass:color-mix(in srgb, var(--surface) 72%, transparent);--highlight:#fff9;--overlay:#00000080;--shadow:0 1px 3px #0000000f, 0 8px 24px #0000000f;--card-shadow:var(--shadow);--root-font-fallback:17px;--type-large-title:2rem;--type-title:1.29412rem;--type-headline:1rem;--type-body:1rem;--type-subheadline:.882353rem;--type-footnote:.764706rem;--type-caption:.705883rem;--space-1:.235294rem;--space-2:.470588rem;--space-3:.705883rem;--space-4:.941176rem;--space-6:1.41177rem;--row-min:max(52px, 3.05882rem);--target-min:max(44px, 2.58824rem);--radius-card:1.17647rem;--radius-control:.82353rem;--radius-pill:999rem;--hairline:1px;--glass-filter:blur(24px) saturate(180%);--glass-shadow:var(--shadow), inset 0 var(--hairline) 0 var(--highlight);--motion-normal:.3s;--motion-theme:.25s;--motion-check:.18s;--motion-count:.6s;--motion-reduce:.01ms;--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root[data-theme=auto],:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#1c1c1e;--surface-raised:#2c2c2e;--surface-soft:#2c2c2e;--ink:#fff;--muted:#ebebf599;--tertiary:#ebebf54d;--line:#545458a6;--control-edge:#8e8e93;--accent:#409cff;--accent-fill:#0a84ff;--button-ink:#000;--success:#30d158;--success-fill:#30d158;--warning:#ff6259;--highlight:#ffffff24;--shadow:0 1px 3px #0000002e, 0 8px 24px #0000002e;--card-shadow:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#1c1c1e;--surface-raised:#2c2c2e;--surface-soft:#2c2c2e;--ink:#fff;--muted:#ebebf599;--tertiary:#ebebf54d;--line:#545458a6;--control-edge:#8e8e93;--accent:#409cff;--accent-fill:#0a84ff;--button-ink:#000;--success:#30d158;--success-fill:#30d158;--warning:#ff6259;--highlight:#ffffff24;--shadow:0 1px 3px #0000002e, 0 8px 24px #0000002e;--card-shadow:none}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-size:var(--root-font-fallback);font:-apple-system-body;-webkit-text-size-adjust:100%;font-family:-apple-system,system-ui,sans-serif}body{min-height:100dvh;font-size:var(--type-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}#root{flex-direction:column;min-height:100dvh;display:flex}.titlebar{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-3);padding:max(env(safe-area-inset-top), var(--space-3)) var(--space-4) var(--space-3);background:var(--glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);box-shadow:var(--glass-shadow);display:flex;position:sticky;top:0}.titlebar strong{font-size:var(--type-headline)}.page{width:100%;max-width:32rem;padding:var(--space-6) var(--space-4) max(env(safe-area-inset-bottom), var(--space-6));gap:var(--space-4);flex-direction:column;flex:1;margin:0 auto;display:flex}h1{font-size:var(--type-large-title);letter-spacing:-.01em;margin:0;line-height:1.15}h2{font-size:var(--type-title);margin:0}p{margin:0}.muted{color:var(--muted)}.small{font-size:var(--type-subheadline)}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--card-shadow);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--row-min);display:flex}.row+.row{border-top:var(--hairline) solid var(--line)}label{gap:var(--space-2);font-size:var(--type-subheadline);color:var(--muted);flex-direction:column;display:flex}input[type=text]{font:inherit;color:var(--ink);background:var(--surface-soft);border:var(--hairline) solid var(--control-edge);border-radius:var(--radius-control);min-height:var(--target-min);padding:0 var(--space-3);width:100%}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.button{font:inherit;cursor:pointer;text-align:center;min-height:var(--target-min);padding:0 var(--space-4);border-radius:var(--radius-control);border:var(--hairline) solid transparent;background:var(--accent-fill);color:var(--button-ink);transition:transform var(--motion-check) var(--ease), opacity var(--motion-check) var(--ease);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.button:active{transform:scale(.98)}.button[disabled]{opacity:.5;cursor:default}.button.secondary{background:var(--surface-soft);color:var(--accent);border-color:var(--line)}.button.quiet{color:var(--accent);background:0 0}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--accent-soft)}.notice.error{background:var(--warning-soft);color:var(--warning)}.notice.ok{background:var(--success-soft);color:var(--success)}.linkbox{font-size:var(--type-subheadline);word-break:break-all;background:var(--surface-soft);border-radius:var(--radius-control);padding:var(--space-3);-webkit-user-select:all;user-select:all}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:var(--motion-reduce)!important;animation-duration:var(--motion-reduce)!important}}.stack{gap:var(--space-4);flex-direction:column;display:flex}.actions{gap:var(--space-3);display:flex}.actions .button{flex:1}.block{display:block}.section-title{font-size:var(--type-headline);margin:0 0 var(--space-2);color:var(--muted);font-weight:600}.field,fieldset.field{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.field-label,legend{font-size:var(--type-subheadline);color:var(--muted);padding:0}select,input[type=time]{font:inherit;color:var(--ink);background:var(--surface-soft);border:var(--hairline) solid var(--control-edge);border-radius:var(--radius-control);min-height:var(--target-min);padding:0 var(--space-3);width:100%}input[type=checkbox]{width:1.5rem;height:1.5rem;accent-color:var(--accent-fill);flex:none}.check-row{align-items:center;gap:var(--space-3);color:var(--ink);font-size:var(--type-body);min-height:var(--target-min);flex-direction:row}.card.list{gap:0;padding-top:0;padding-bottom:0}.card.list>h2{padding:var(--space-3) 0 0}.row{padding-block:var(--space-2)}.row-main{align-items:center;gap:var(--space-3);min-width:0;display:flex}.glyph{text-align:center;flex:none;width:2rem;font-size:1.5rem}.nav-row{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0}.chev{color:var(--muted);font-size:1.4rem}.today-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3);display:flex}.avatar{width:var(--target-min);height:var(--target-min);border-radius:var(--radius-pill);cursor:pointer;background:var(--accent-fill);color:var(--button-ink);font:inherit;border:0;flex:none;font-weight:700}.ring-card{align-items:center;gap:var(--space-4);flex-direction:row}.ring{flex:none;width:6.2rem;height:6.2rem;position:relative}.ring svg{width:100%;height:100%}.ring-track{fill:none;stroke:var(--line);stroke-width:9px}.ring-fill{fill:none;stroke:var(--success);stroke-width:9px;stroke-linecap:round;transition:stroke-dashoffset var(--motion-count) var(--ease)}.ring-text{flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;inset:0}.ring-text strong{font-size:var(--type-title)}.ring-text span{font-size:var(--type-caption);color:var(--muted)}.check{width:var(--target-min);height:var(--target-min);border-radius:var(--radius-pill);cursor:pointer;border:2px solid var(--control-edge);transition:background var(--motion-check) var(--ease), border-color var(--motion-check) var(--ease), transform var(--motion-check) var(--ease);background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.check svg{fill:none;width:58%;height:58%;stroke:var(--button-ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity var(--motion-check) var(--ease)}.check.on{background:var(--success);border-color:var(--success)}.check.on svg{opacity:1}.check:active{transform:scale(.94)}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{font:inherit;color:var(--ink);background:var(--surface);cursor:pointer;min-height:var(--target-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:var(--hairline) solid var(--control-edge)}.chip.on{background:var(--accent-soft);border:2px solid var(--accent);color:var(--accent);font-weight:600}.chip:disabled{opacity:.45;cursor:default}.tray{gap:var(--space-2);z-index:2;background:var(--bg);padding:var(--space-2) 0;margin:calc(-1 * var(--space-2)) 0 0;grid-template-columns:repeat(3,1fr);display:grid;position:sticky;top:3.2rem}.slot{border-radius:var(--radius-control);min-height:5.2rem;padding:var(--space-2);justify-content:center;align-items:center;gap:var(--space-1);text-align:center;font:inherit;color:var(--ink);flex-direction:column;display:flex}.slot.filled{background:var(--surface);border:2px solid var(--accent);cursor:pointer;box-shadow:var(--card-shadow)}.slot.empty{border:2px dashed var(--control-edge);background:var(--surface-soft)}.slot-title{font-size:var(--type-footnote);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box;overflow:hidden}.segmented{background:var(--surface-soft);border-radius:var(--radius-control);gap:3px;padding:3px;display:flex}.segmented button{min-height:var(--target-min);color:var(--muted);font:inherit;cursor:pointer;border-radius:calc(var(--radius-control) - 3px);background:0 0;border:0;flex:1}.segmented button.on{background:var(--surface-raised);color:var(--ink);box-shadow:var(--card-shadow);outline:1px solid var(--line);font-weight:600}.icon-grid{grid-template-columns:repeat(auto-fill, minmax(var(--target-min), 1fr));gap:var(--space-2);display:grid}.icon-choice{min-height:var(--target-min);border-radius:var(--radius-control);border:var(--hairline) solid var(--line);background:var(--surface-soft);cursor:pointer;padding:0;font-size:1.4rem}.icon-choice.on{border:2px solid var(--accent);background:var(--accent-soft)}dialog.sheet{border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-width:32rem;max-height:94dvh;color:var(--ink);background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);box-shadow:var(--glass-shadow);animation:sheet-up var(--motion-normal) var(--ease);border:0;flex-direction:column;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow:hidden}dialog.sheet[open]{display:flex}dialog.sheet::backdrop{background:var(--overlay)}.sheet-bar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:var(--hairline) solid var(--line);display:flex}.sheet-bar .button.quiet,.sheet-spacer{min-width:4rem}.sheet-body{padding:var(--space-4) var(--space-4) max(env(safe-area-inset-bottom), var(--space-6));overflow-y:auto}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.toast-region{inset:auto 0 max(env(safe-area-inset-bottom), var(--space-4)) 0;pointer-events:none;z-index:20;padding:0 var(--space-4);justify-content:center;display:flex;position:fixed}.toast{pointer-events:auto;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);border-radius:var(--radius-pill);color:var(--ink);background:var(--glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);box-shadow:var(--glass-shadow);animation:toast-in var(--motion-normal) var(--ease);display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.tabbar{z-index:10;justify-content:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) max(env(safe-area-inset-bottom), var(--space-1));background:var(--glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);box-shadow:var(--glass-shadow);display:flex;position:fixed;inset:auto 0 0}.tab{max-width:12rem;min-height:var(--chrome-row,3.2rem);cursor:pointer;font:inherit;font-size:var(--type-footnote);color:var(--muted);border-radius:var(--radius-control);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.tab svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.6rem;height:1.6rem}.tab.on{color:var(--accent);font-weight:600}.page{padding-bottom:calc(max(env(safe-area-inset-bottom), var(--space-6)) + 5rem)}.toast-region{inset:auto 0 calc(max(env(safe-area-inset-bottom), var(--space-1)) + 4.6rem) 0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero{gap:var(--space-1)}.hero-number{letter-spacing:-.02em;font-size:3.2rem;font-weight:700;line-height:1.05}.streak{color:var(--success);margin-top:var(--space-2);font-weight:600}.dots-head,.dots{grid-template-columns:repeat(7,1fr);display:grid}.dots-head{text-align:center;font-size:var(--type-caption);color:var(--muted)}.today-mark{color:var(--ink);font-weight:700}.dots-row{gap:var(--space-2);padding:var(--space-3) 0;flex-direction:column;display:flex}.dots-row+.dots-row{border-top:var(--hairline) solid var(--line)}.dots-title{align-items:center;gap:var(--space-3);display:flex}.dots{justify-items:center;margin:0;padding:0;list-style:none}.dot{border-radius:var(--radius-pill);box-sizing:border-box;width:1.05rem;height:1.05rem}.dot.done{background:var(--success)}.dot.open{border:2px solid var(--control-edge)}.dot.future{border:2px solid var(--line)}.dot.none{background:0 0}.chart{--chart-h:11.5rem;height:var(--chart-h);margin:0 calc(-1 * var(--space-4));grid-template-columns:repeat(8,1fr);padding-top:1.3rem;display:grid;position:relative}.chart-line{left:var(--space-4);right:var(--space-4);border-top:var(--hairline) solid var(--tertiary);z-index:0;height:0;bottom:calc(1.4rem + (var(--chart-h) - 2.7rem) * var(--pct));pointer-events:none;position:absolute}.chart-line span{font-size:var(--type-caption);color:var(--muted);position:absolute;top:-1.1rem;right:0}.col{z-index:1;cursor:pointer;min-width:0;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:relative}.col-plot{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex;position:relative}.bar-wrap{width:1.3rem;max-width:24px;transition:height var(--motion-count) var(--ease);display:block;position:relative}.bar{background:var(--accent);border-radius:4px 4px 0 0;width:100%;height:100%;display:block}.bar.good{background:var(--success)}.col.picked .bar{outline:2px solid var(--ink);outline-offset:1px}.col-value{white-space:nowrap;font-size:var(--type-caption);margin-bottom:2px;font-weight:600;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.col-label{font-size:var(--type-caption);color:var(--muted);white-space:nowrap;height:1.4rem;line-height:1.4rem}.col:focus-visible{outline:3px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-control)}.readout{min-height:1.5em;font-weight:600}.data-table{border-collapse:collapse;width:100%;font-size:var(--type-subheadline)}.data-table th,.data-table td{text-align:left;padding:var(--space-2) var(--space-1);border-bottom:var(--hairline) solid var(--line);font-weight:400}.data-table thead th{color:var(--muted);font-size:var(--type-footnote)}
