:root{--bg:#f5f5f2;--surface:#fff;--surface-2:#f0f0ec;--text:#151618;--text-2:#3d4046;--muted:#71757d;--faint:#a4a7ad;--border:#e4e4df;--border-strong:#d2d2cc;--accent:#151618;--accent-soft:#ecebe6;--accent-text:#fff;--sleep:#5b50c8;--sleep-soft:#ecebfb;--move:#e0612f;--move-soft:#fcebe3;--train:#0f8a6a;--train-soft:#e0f3ec;--body:#2d9cdb;--body-soft:#e3f2fb;--money:#3d4046;--money-soft:#ecebe6;--warn:#a15c07;--warn-soft:#fbf0df;--danger:#b42318;--danger-soft:#fdecea;--shadow:0 1px 2px #14140f0a, 0 1px 1px #14140f08;--radius:14px;--radius-sm:10px;--space:16px;--nav-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Hiragino Sans,Noto Sans JP,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d0e10;--surface:#16171a;--surface-2:#1d1f23;--text:#ededee;--text-2:#c5c7cb;--muted:#8d9199;--faint:#5c6068;--border:#25272c;--border-strong:#33363c;--accent:#ededee;--accent-soft:#24262a;--accent-text:#0d0e10;--sleep:#8a70f0;--sleep-soft:#251f42;--move:#e2683a;--move-soft:#3a2018;--train:#22a277;--train-soft:#12302a;--body:#2f9fd8;--body-soft:#12303f;--money:#c5c7cb;--money-soft:#26282c;--warn:#f0b45a;--warn-soft:#3a2a12;--danger:#f59a90;--danger-soft:#3b1714;--shadow:none}}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}h1,h2,h3{letter-spacing:-.015em;margin:0;font-weight:650}h1{font-size:1.75rem;line-height:1.2}h2{font-size:1.0625rem}h3{font-size:1rem}p{margin:0}a{color:var(--accent)}.area-sleep{--area:var(--sleep);--area-soft:var(--sleep-soft)}.area-move{--area:var(--move);--area-soft:var(--move-soft)}.area-train{--area:var(--train);--area-soft:var(--train-soft)}.area-body{--area:var(--body);--area-soft:var(--body-soft)}.area-money{--area:var(--money);--area-soft:var(--money-soft)}.area-icon{background:var(--area-soft);width:32px;height:32px;color:var(--area);border-radius:9px;flex:none;place-items:center;display:inline-grid}.area-icon svg{width:18px;height:18px}.area-icon.sm{border-radius:6px;width:22px;height:22px}.area-icon.sm svg{width:13px;height:13px}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{max-width:1040px;height:56px;padding:0 var(--space);align-items:center;gap:24px;margin:0 auto;display:flex}.brand{letter-spacing:-.01em;white-space:nowrap;color:inherit;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand img{border-radius:7px}.account{align-items:center;gap:12px;min-width:0;margin-left:auto;display:flex}.badge{background:var(--warn-soft);color:var(--warn);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.nav-top{gap:4px;display:none}.nav-top a{color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-weight:550;text-decoration:none;display:inline-flex}.nav-top a svg{width:18px;height:18px}.nav-top a:hover{color:var(--text);background:var(--surface-2)}.nav-top a[aria-current=page]{color:var(--text);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.nav-bottom{z-index:10;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.nav-bottom a{color:var(--muted);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:.6875rem;font-weight:600;text-decoration:none;display:flex}.nav-bottom a[aria-current=page]{color:var(--accent)}@media (width>=760px){.nav-top{display:flex}.nav-bottom{display:none}}.page{max-width:640px;padding:24px var(--space) 48px;margin:0 auto}.page.app{max-width:1040px;padding-bottom:calc(var(--nav-h) + 32px)}@media (width>=760px){.page.app{padding:32px 24px 64px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;display:flex}.page-sub{color:var(--muted);margin-top:4px}.section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-link{font-size:.875rem;font-weight:600;text-decoration:none}.section-link:hover{text-decoration:underline}.stack{flex-direction:column;gap:12px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.stack-lg{flex-direction:column;gap:32px;display:flex}.row{align-items:center;gap:12px;display:flex}.grow{overflow-wrap:anywhere;flex:1;min-width:0}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space);box-shadow:var(--shadow)}.muted{color:var(--muted)}.small{font-size:.8125rem}.block{display:block}.error{color:var(--danger);margin: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}.field{flex-direction:column;gap:6px;min-width:0;font-size:.875rem;font-weight:550;display:flex}.field>span:first-child{color:var(--text-2)}input,select{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-width:0;padding:10px 12px;font-weight:400}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}select:disabled{opacity:.7}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,a.button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:var(--text);color:var(--bg);border:0;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;text-decoration:none;transition:opacity .15s,background-color .15s;display:inline-flex}button:hover:not(:disabled),a.button:hover{opacity:.88}button:disabled{opacity:.45;cursor:default}button.secondary,a.button.secondary{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}button.secondary:hover:not(:disabled),a.button.secondary:hover{opacity:1;background:var(--surface-2)}button.link{color:var(--accent);white-space:nowrap;background:0 0;padding:4px 2px;font-weight:600}button.link.danger{color:var(--danger)}a.button.small,button.small{padding:7px 12px;font-size:.875rem}.row>button{white-space:nowrap;flex:none}select.language{width:auto;padding:6px 30px 6px 10px}.segmented{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border-radius:9px;padding:6px 12px;font-size:.875rem;font-weight:600}.segmented button:hover:not(:disabled){opacity:1;color:var(--text)}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014, inset 0 0 0 1px var(--border)}.banner,.notice{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text);margin:0;padding:12px 14px}.banner.row{flex-wrap:wrap}.banner.danger,.notice.error{background:var(--danger-soft)}.pill{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.8125rem;font-weight:550;text-decoration:none;display:inline-flex}.pill:hover{color:var(--text)}.pill-dot{background:var(--train);border-radius:50%;width:7px;height:7px}.pill-dot.busy{animation:1.2s ease-in-out infinite pulse}.pill.warn .pill-dot{background:var(--warn)}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.pill-dot.busy{animation:none}}.empty{flex-direction:column;align-items:flex-start;gap:14px;padding:20px;display:flex}.empty p{color:var(--text-2);max-width:46ch}.skeleton{flex-direction:column;gap:16px;display:flex}.skeleton>div{background:var(--surface-2);border-radius:var(--radius);animation:1.4s ease-in-out infinite pulse}.sk-title{width:40%;height:34px}.sk-card{height:120px}.google-mark{flex:none;width:18px;height:18px}.or{color:var(--muted);align-items:center;gap:12px;font-size:.875rem;display:flex}.or:before,.or:after{content:"";border-top:1px solid var(--border);flex:1}.demo-offer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding-top:12px;display:flex}.goal-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;display:grid}.goal-grid.wide{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}.goal{flex-direction:column;gap:14px;display:flex}.goal-head{align-items:flex-start;gap:12px;display:flex}.goal-name{flex-direction:column;gap:2px;min-width:0;display:flex}.goal-target{color:var(--muted);font-size:.875rem}.goal-status{font-variant-numeric:tabular-nums;background:var(--surface-2);color:var(--text-2);border-radius:999px;flex:none;align-items:center;gap:4px;padding:3px 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.goal-status.done{background:var(--area-soft);color:var(--text)}.goal-status.done .check{color:var(--area)}.goal-status.over{background:var(--warn-soft);color:var(--warn)}.meter{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.meter span{border-radius:inherit;background:var(--area,var(--text-2));height:100%;transition:width .4s;display:block}.meter.over span{background:var(--warn)}.strip{grid-template-columns:repeat(7,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.strip li{flex-direction:column;align-items:center;gap:6px;display:flex}.strip-day{color:var(--faint);text-transform:uppercase;font-size:.6875rem;font-weight:600}.strip li.today .strip-day{color:var(--text)}.strip-dot{width:26px;height:26px;box-shadow:inset 0 0 0 1.5px var(--border-strong);color:var(--accent-text);border-radius:50%;place-items:center;display:grid}.strip li.hit .strip-dot{background:var(--area);box-shadow:none;color:#fff}.strip li.miss .strip-dot{background:var(--surface-2);box-shadow:none}.strip li.none .strip-dot{box-shadow:inset 0 0 0 1.5px var(--border);background:repeating-linear-gradient(-45deg, transparent 0 3px, var(--border) 3px 4px)}.strip li.pending .strip-dot{box-shadow:inset 0 0 0 1.5px var(--text-2)}.goal.compact .strip-dot{width:22px;height:22px}.goal.compact .check{width:10px;height:10px}.bars-wrap{flex-direction:column;gap:4px;display:flex}.period-bars{align-items:flex-end;gap:6px;height:56px;margin:0;padding:0;list-style:none;display:flex;position:relative}.period-bars li{flex:1;align-items:flex-end;height:100%;display:flex}.bar-fill{background:var(--border-strong);border-radius:4px 4px 2px 2px;width:100%}.period-bars li.hit .bar-fill{background:var(--area)}.period-bars li.current .bar-fill{background:color-mix(in srgb, var(--area) 45%, var(--surface))}.period-bars li.current.hit .bar-fill{background:var(--area)}.target-line{border-top:1.5px dashed var(--faint);pointer-events:none;position:absolute;left:0;right:0}.period-labels{color:var(--faint);justify-content:space-between;font-size:.6875rem;font-weight:600;display:flex}.goal-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 12px;padding-top:12px;font-size:.875rem;font-weight:550;display:flex}.goal-foot .link{margin-left:auto}.editor{gap:16px}.editor-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.duration{gap:8px;display:flex}.duration label{flex:1;align-items:center;display:flex;position:relative}.duration input{font-variant-numeric:tabular-nums;padding-right:28px}.duration label span{color:var(--muted);pointer-events:none;position:absolute;right:12px}.editor-preview{min-height:1.5em;font-size:.875rem}.editor-actions{flex-wrap:wrap}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=760px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.tile{flex-direction:column;gap:4px;padding:14px 16px;display:flex}.tile-label{color:var(--muted);align-items:center;gap:8px;margin-bottom:4px;font-size:.8125rem;font-weight:550;display:flex}.tile-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:650;line-height:1.15}.tile-unit{color:var(--muted);letter-spacing:0;margin-left:4px;font-size:.875rem;font-weight:550}.tile-note{color:var(--muted);font-size:.8125rem}.workouts{gap:0;padding:4px 16px}.workouts li{padding:12px 0}.workouts li+li{border-top:1px solid var(--border)}.workout-icon{background:var(--area-soft,var(--surface-2));width:36px;height:36px;color:var(--area,var(--text-2));border-radius:10px;flex:none;place-items:center;display:grid}.workout-stats{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:550}.charts{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:12px;display:grid}.trend{flex-direction:column;gap:8px;min-width:0;display:flex}.trend-head{grid-template-columns:1fr auto;grid-template-areas:"title delta""figure figure";align-items:center;gap:2px 12px;display:grid}.trend-title{color:var(--muted);letter-spacing:0;grid-area:title;font-size:.875rem;font-weight:600}.trend-figure{grid-area:figure;align-items:baseline;gap:8px;display:flex}.trend-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.625rem;font-weight:650}.trend-caption{color:var(--muted);font-size:.8125rem}.delta{font-variant-numeric:tabular-nums;background:var(--surface-2);color:var(--text-2);border-radius:999px;grid-area:delta;justify-self:end;align-items:center;gap:4px;padding:2px 8px;font-size:.8125rem;font-weight:600;display:inline-flex}.trend-stats{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px 24px;margin:0;padding-top:12px;font-size:.8125rem;display:flex}.trend-stats div{flex-direction:column;gap:2px;display:flex}.trend-stats dt{color:var(--muted);font-weight:550}.trend-stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.chart{min-width:0;margin:0}.chart.card{padding:12px 14px 8px}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;min-height:1.5em;display:flex}.chart.bare .chart-head{justify-content:flex-end;min-height:1.3em}.chart-title{font-weight:600}.chart-readout{font-variant-numeric:tabular-nums;font-size:.8125rem}.chart-empty{margin:24px 0;font-size:.875rem}.chart-svg{touch-action:pan-y;width:100%;height:auto;display:block}.chart-svg .grid{stroke:var(--border);stroke-width:1px}.chart-svg .axis{fill:var(--faint);font-variant-numeric:tabular-nums;font-size:11px}.chart-svg .bar{fill:var(--area,var(--text-2))}.chart-svg .bar.dim{opacity:.3}.chart-svg .line{fill:none;stroke:var(--area,var(--text-2));stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-svg .dot{fill:var(--area,var(--text-2));stroke:var(--surface);stroke-width:2px}.chart-svg .hover-band{fill:var(--surface-2)}.chart-svg .target line{stroke:var(--text-2);stroke-width:1.5px;stroke-dasharray:4 4}.chart-svg .target text{fill:var(--text-2);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;font-size:11px;font-weight:600}.settings-list{padding:0 16px}.setting{align-items:center;gap:12px;padding:14px 0;display:flex}.setting+.setting{border-top:1px solid var(--border)}.connect{align-items:flex-start;gap:16px;padding:20px;display:flex}.connect .button{align-self:flex-start;margin-top:4px}.connect-mark{background:var(--body-soft);width:44px;height:44px;color:var(--body);border-radius:12px;flex:none;place-items:center;display:grid}.rings{align-items:center;gap:24px;padding:20px;display:flex}.rings-svg{flex:none}.ring-track{fill:none;stroke:var(--area-soft)}.ring-fill{fill:none;stroke:var(--area);stroke-linecap:round;transition:stroke-dasharray .6s}.rings-legend{flex-direction:column;flex:1;gap:10px;min-width:0;max-width:380px;display:flex}.rings-summary{letter-spacing:-.01em;font-size:1.125rem;font-weight:650}.rings-legend ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rings-legend li{align-items:center;gap:10px;font-size:.875rem;display:flex}.swatch{background:var(--area);border-radius:50%;flex:none;width:10px;height:10px}.rings-status{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}@media (width<=420px){.rings{gap:16px;padding:16px}.rings-svg{width:104px;height:104px}}.head-actions{flex-wrap:wrap;gap:8px}.customizable{flex-direction:column;min-width:0;display:flex;position:relative}.customizable-body{flex-direction:column;flex:1;min-width:0;transition:opacity .15s;display:flex}.customizable-body>*{flex:1}.customizable.off .customizable-body{opacity:.35;filter:grayscale()}.switch{cursor:pointer;display:block;position:absolute;top:10px;right:10px}.switch input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch-track{background:var(--border-strong);border-radius:999px;width:36px;height:22px;transition:background .15s;display:block;position:relative}.switch-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch input:checked+.switch-track{background:var(--text)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--text);outline-offset:2px}.tiles.editing .tile{padding-right:56px}.budget-figure{align-items:baseline;gap:8px;display:flex}.budget-spent{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:650}.budget-meter-wrap{position:relative}.budget-meter-wrap .meter{height:8px}.pace-mark{background:var(--text);opacity:.55;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.budget-note{margin-top:-6px}.period-bars li.over .bar-fill{background:var(--warn)}.connect>.area-icon{border-radius:12px;width:44px;height:44px}.connect>.area-icon svg{width:22px;height:22px}.budget.compact .budget-spent{font-size:1.25rem}.budget-choice p{max-width:52ch}
