:root{--bg:#eef1f4;--surface:#fff;--text:#1b2733;--muted:#667180;--border:#e2e7ec;--track:#e6ebf0;--primary:#2f6fb0;--primary-ink:#fff;--primary-soft:#dce8f5;--accent-warm:#b8862b;--accent-warm-ink:#8a6318;--accent-soft:#f0e6cf;--positive:#2f8f5e;--positive-soft:#d9efe2;--negative:#c14a3d;--negative-soft:#f6ddd8;--walk-mark:#9fc0e6;--shadow:0 1px 2px #141e2d0d, 0 4px 14px #141e2d0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#0f1418;--surface:#1a2127;--text:#e6ecf1;--muted:#96a2ae;--border:#2a333b;--track:#29323a;--primary:#5b9bd8;--primary-ink:#07121f;--primary-soft:#1a2c3e;--accent-warm:#d9a648;--accent-warm-ink:#d9a648;--accent-soft:#332f1f;--positive:#57b98a;--positive-soft:#17362a;--negative:#e0796c;--negative-soft:#3a2320;--walk-mark:#3c5f86;--shadow:none}}:root[data-theme=dark]{--bg:#0f1418;--surface:#1a2127;--text:#e6ecf1;--muted:#96a2ae;--border:#2a333b;--track:#29323a;--primary:#5b9bd8;--primary-ink:#07121f;--primary-soft:#1a2c3e;--accent-warm:#d9a648;--accent-warm-ink:#d9a648;--accent-soft:#332f1f;--positive:#57b98a;--positive-soft:#17362a;--negative:#e0796c;--negative-soft:#3a2320;--walk-mark:#3c5f86;--shadow:none}*{box-sizing:border-box}html,body,#root{height:100%}html,body{overscroll-behavior-y:contain}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans JP,system-ui,-apple-system,sans-serif}button{font-family:inherit}.ptr{justify-content:center;align-items:flex-end;transition:height .22s;display:flex;overflow:hidden}.ptr--dragging{transition:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ptr__label{color:var(--muted);white-space:nowrap;padding-bottom:8px;font-size:11px}.app{flex-direction:column;max-width:480px;min-height:100%;margin:0 auto;display:flex}.appbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:13px 16px;display:flex;position:sticky;top:0}.appbar__title{font-size:16px;font-weight:700}.appbar__actions{align-items:center;gap:14px;display:flex}.appbar__link{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.appbar__link--logout{color:var(--negative)}.appbar__back{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:1px;padding:0;font-size:14px;display:inline-flex}.appbar__icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:21px;display:flex}.content{flex:1;padding:14px 14px 88px}.stack{flex-direction:column;gap:12px;display:flex}.splash{height:100%;color:var(--muted);place-items:center;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:15px}.card--hero{padding:17px}.ctitle{letter-spacing:.03em;color:var(--muted);margin:0 0 11px;font-size:12px;font-weight:700}.ctitle .day{color:var(--text);margin-left:6px}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field__label{color:var(--muted);font-size:13px}.field__note{color:var(--muted);margin:-4px 0 12px;font-size:11.5px;line-height:1.5}.field__note--warn{color:var(--accent-warm)}input,select{width:100%;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:16px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.btn{background:var(--primary);width:100%;color:var(--primary-ink);cursor:pointer;border:1px solid #0000;border-radius:10px;padding:13px;font-size:15px;font-weight:700}.btn:disabled{opacity:.6}.btn--ghost{background:var(--bg);color:var(--muted);border-color:var(--border)}.btn--auto{width:auto}.error{color:var(--negative);margin:0 0 10px;font-size:13px}.saved{color:var(--positive);margin:0 0 10px;font-size:13px}.muted{color:var(--muted);margin:0;font-size:14px}.hint{color:var(--muted);margin:9px 0 0;font-size:11.5px}.hint a{color:var(--primary);text-decoration:none}.link{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0}.spark .go.link{font-size:12px}.hero__row{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.hero__unitlabel{color:var(--muted);margin-bottom:2px;font-size:12px}.hero__big{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:.95}.hero__big small{color:var(--muted);margin-left:3px;font-size:16px;font-weight:700}.hero__goal{text-align:right}.hero__goal b{font-variant-numeric:tabular-nums;color:var(--primary);font-size:20px;font-weight:800}.hero__goal span{color:var(--muted);font-size:11px;display:block}.bar{background:var(--track);border-radius:999px;height:9px;margin:15px 0 6px;position:relative}.bar__fill{background:var(--primary);border-radius:999px;position:absolute;inset:0 auto 0 0}.bar__fill.warm{background:var(--accent-warm)}.bar__dot{background:var(--surface);border:3px solid var(--primary);border-radius:50%;width:15px;height:15px;position:absolute;top:50%;transform:translate(-50%,-50%)}.bar__ends{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:11px;display:flex}.bar__ends .mid{color:var(--primary);font-weight:700}.pace-pick{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px;display:grid}.pace-pick__opt{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;border-radius:10px;padding:8px 0;font-size:13px}.pace-pick__opt--on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:700}.pace-pick__opt:disabled{opacity:.45;cursor:default}.pace{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:11px;padding-top:10px;display:flex}.pace__line{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;display:flex}.pace__line--sub{color:var(--muted);font-size:11.5px}.pace__item{color:var(--muted)}.pace__item b{color:var(--text);margin-left:3px;font-weight:700}.pace__badge{border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.pace__badge--ok{background:var(--positive-soft);color:var(--positive)}.pace__badge--warn{background:var(--accent-soft);color:var(--accent-warm)}.hero__meta{gap:14px;margin-top:11px;font-size:12px;display:flex}.hero__meta .down{color:var(--positive);font-weight:700}.hero__meta .up{color:var(--negative);font-weight:700}.bmi{border-top:1px solid var(--border);margin-top:14px;padding-top:13px}.bmi__label{margin-bottom:8px;font-size:12px}.bmi__label b{font-variant-numeric:tabular-nums;font-weight:800}.bmi__label .status{margin-left:5px;font-weight:700}.bmiscale{border-radius:7px;height:13px;display:flex;position:relative}.bmiscale i{display:block}.bmiscale i:first-child{border-radius:7px 0 0 7px}.bmiscale i:last-of-type{border-radius:0 7px 7px 0}.bmiscale b{background:var(--text);border-radius:2px;width:3px;height:19px;position:absolute;top:-3px;transform:translate(-50%)}.bmiscale u{border-left:2px dashed var(--primary);height:21px;position:absolute;top:-4px;transform:translate(-50%)}.bmiticks{height:15px;margin-top:3px;position:relative}.bmiticks span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9.5px;position:absolute;transform:translate(-50%)}.bmi__cap{color:var(--muted);margin-top:5px;font-size:11px}.lunch{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.lunch__q{color:var(--muted);font-size:12px}.lunch__row{gap:6px;display:flex}.lunch__btn{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:12px}.lunch__btn--on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:700}.lunch__btn:disabled{opacity:.6}.chips{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.chip{border:1px solid var(--border);text-align:center;color:var(--muted);background:var(--bg);border-radius:10px;padding:9px 6px;font-size:11.5px}.chip b{color:var(--text);font-variant-numeric:tabular-nums;margin-top:3px;font-size:13px;font-weight:700;display:block}.chip--done{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.chip--done b{color:var(--primary-ink)}.chip--todo{border-color:var(--primary)}.chip--todo b{color:var(--primary)}.chip--miss{border-color:var(--negative)}.chip--miss b{color:var(--negative)}.weighin{align-items:center;gap:8px;margin-top:11px;display:flex}.weighin .field2{border:1px solid var(--border);background:var(--bg);border-radius:9px;flex:1;align-items:baseline;gap:4px;padding:4px 11px;display:flex}.weighin .field2 input{background:0 0;border:0;padding:8px 0;font-weight:700}.weighin .field2 span{color:var(--muted);font-size:12px}.weighin .btn{width:auto}.done-line{align-items:center;gap:8px;margin-top:11px;font-size:14px;display:flex}.done-line b{font-variant-numeric:tabular-nums;font-weight:800}.done-line .ok{color:var(--positive);font-size:12px}.swipe{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;display:flex;overflow-x:auto}.swipe::-webkit-scrollbar{display:none}.swipe__pane{scroll-snap-align:start;flex:0 0 100%}.ingest{color:var(--muted);text-align:center;margin:8px 0 0;font-size:11px}.ingest--stale{color:var(--accent-warm-ink)}.ingest__hint{margin-top:2px;line-height:1.5;display:block}.dots{justify-content:center;margin-top:4px;display:flex}.dots__d{cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:24px;padding:0;display:grid}.dots__d:before{content:"";border:1px solid var(--muted);border-radius:50%;width:7px;height:7px}.dots__d[aria-current=true]:before{background:var(--primary);border-color:var(--primary)}.tiles{text-align:center;grid-template-columns:repeat(3,1fr);gap:12px 10px;display:grid}.tile__v{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.tile__v small{color:var(--muted);margin-left:1px;font-size:11px;font-weight:600}.tile__l{color:var(--muted);margin-top:1px;font-size:11px}.tile__sub{color:var(--muted);margin-top:2px;font-size:10.5px}.minibar{background:var(--track);border-radius:999px;height:5px;margin-top:6px;overflow:hidden}.minibar>i{background:var(--primary);height:100%;display:block}.mrow{grid-template-columns:1fr auto;align-items:center;gap:4px 10px;margin-bottom:10px;display:grid}.mrow:last-child{margin-bottom:0}.mrow__name{font-size:13px}.mrow__val{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.mrow .bar{grid-column:1/-1;height:7px;margin:2px 0 0}.spark{align-items:center;gap:12px;display:flex}.spark svg{flex:1;height:42px}.spark .go{color:var(--primary);white-space:nowrap;font-size:12px}.prog__head{justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;display:flex}.prog__head b{font-weight:800}.prog__head span{color:var(--muted);white-space:nowrap;font-size:11.5px}.prog__today{color:var(--muted);margin-top:8px;font-size:12px}.walkgoal{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:0 0 12px;display:grid}.walkgoal .name{font-size:14px}.walkgoal .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.walkgoal .bar{grid-column:1/-1;height:7px;margin:4px 0 0}.ex{border-top:1px solid var(--border);padding:12px 0}.ex:first-of-type,.walkgoal+.ex{border-top:0}.ex__top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ex__name{font-size:14px;font-weight:600}.ex__name.done{color:var(--primary);font-weight:700}.ex__target{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px}.ex__tipbtn{border:1px solid var(--border);background:var(--bg);color:var(--muted);font:inherit;cursor:pointer;vertical-align:1px;border-radius:6px;margin-left:8px;padding:1px 7px;font-size:10.5px;font-weight:600}.ex__tip{color:var(--muted);background:var(--bg);border-radius:8px;margin:6px 0 0;padding:8px 10px;font-size:12px;line-height:1.5}.ex__row{align-items:center;gap:9px;margin-top:9px;display:flex}.ex__dots{gap:4px;display:flex}.ex__dots i{background:var(--track);border-radius:3px;width:20px;height:6px}.ex__dots i.on{background:var(--primary)}.ex__count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.ex__btn{border:1px solid var(--primary);background:var(--primary);color:var(--primary-ink);cursor:pointer;white-space:nowrap;border-radius:9px;margin-left:auto;padding:9px 15px;font-size:13px;font-weight:700}.ex__btn.timed{background:var(--surface);color:var(--primary)}.ex__btn:disabled{opacity:.6}.ex__done{color:var(--primary);margin-left:auto;font-size:12.5px;font-weight:700}.segbtns{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:11px;display:grid}.segbtns button{border:1px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:9px;padding:9px;font-size:13px;font-weight:700}.segbtns button.on{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.timer{align-items:center;gap:10px;display:flex}.timer__t{font-variant-numeric:tabular-nums;min-width:68px;font-size:24px;font-weight:800}.timer .btn{flex:1}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sets__row{grid-template-columns:1fr 72px 88px;gap:6px;margin-bottom:8px;display:grid}.sets__row input,.sets__row select{padding:10px;font-size:14px}.week{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.week__d{color:var(--muted);font-size:10px}.week__p{color:var(--muted);margin-top:3px;font-size:9.5px}.week__s{color:var(--primary);margin-top:3px;font-size:14px}.week__s.miss{color:var(--muted)}.week__cell{border:1px solid #0000;border-radius:8px;padding:2px 0}.week__cell.today{border-color:var(--primary)}.week__legend{color:var(--muted);letter-spacing:.02em;margin-top:9px;font-size:10.5px}.week__sum{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:6px;font-size:11.5px}.loglist{margin:0;padding:0;list-style:none}.loglist__row{border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.loglist__row--edit{gap:6px}.loglist__row--edit input{flex:auto;min-width:0}.loglist__row--edit input[type=number]{flex:0 0 76px}.loglist__row:first-child{border-top:none}.loglist__date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.loglist__val{font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px;font-weight:600}.actlist__detail{text-align:right;font-variant-numeric:tabular-nums;margin-left:auto;margin-right:4px;font-size:12.5px}.actlist__detail small{color:var(--muted);font-size:11px;display:block}.calhead{justify-content:space-between;align-items:center;display:flex}.calhead b{font-size:15px;font-weight:800}.calhead button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:18px}.calsum{color:var(--muted);font-variant-numeric:tabular-nums;margin:8px 0 12px;font-size:11px;line-height:1.6}.cal{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal__wd{text-align:center;color:var(--muted);padding-bottom:2px;font-size:10px}.cal__c{aspect-ratio:1/1.12;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:7px;flex-direction:column;align-items:center;gap:2px;padding-top:4px;display:flex}.cal__c.empty{cursor:default;background:0 0;border:0}.cal__c.ach{background:var(--primary-soft);border-color:var(--primary)}.cal__c.sel{outline:2px solid var(--primary)}.cal__n{color:var(--text);font-size:10px}.cal__w{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.cal__m{gap:2px;min-height:5px;display:flex}.cal__m i{border-radius:50%;width:5px;height:5px}.cal__m i.walk{background:var(--walk-mark)}.cal__m i.str{background:var(--primary)}.cal__c.future .cal__n{color:var(--muted)}.cal__plan{color:var(--muted);font-size:8.5px}.callegend{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:9px;font-size:10.5px;display:flex}.callegend i{vertical-align:-1px;border-radius:50%;width:8px;height:8px;margin-right:3px;display:inline-block}.detail__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.detail__head b{font-size:14px;font-weight:800}.badge{border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.badge--ok{color:var(--primary);background:var(--primary-soft)}.badge--miss{color:var(--negative);background:var(--negative-soft)}.drow{grid-template-columns:52px 1fr;gap:3px 10px;margin-top:9px;font-size:12px;display:grid}.drow__k{color:var(--muted)}.drow__v{font-variant-numeric:tabular-nums}.drow__v .ok{color:var(--positive);font-weight:700}.rangeseg{gap:6px;margin-bottom:11px;display:flex}.rangeseg button{border:1px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:8px;flex:1;padding:7px;font-size:12px}.rangeseg button.on{background:var(--surface);color:var(--primary);border-color:var(--primary);font-weight:700}.chart{touch-action:pan-y;width:100%;height:210px;display:block}.trend__label{color:var(--muted);margin:10px 0 2px;font-size:11.5px}.trend__label:first-of-type{margin-top:2px}.trend__chart{width:100%;height:120px;display:block}.chart__cap{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:6px;font-size:11.5px}.medgrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.medal{border:1px solid var(--border);border-radius:10px;padding:9px 10px}.medal.got{border-color:var(--accent-warm);background:var(--accent-soft)}.medal__n{font-size:12.5px;font-weight:700}.medal.got .medal__n{color:var(--accent-warm)}.medal__s{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:10.5px}.medal .minibar>i{background:var(--accent-warm)}.course-form{grid-template-columns:1fr 80px auto;gap:6px;margin-top:10px;display:grid}.course-form input{padding:10px;font-size:14px}.course-form .btn{width:auto}.backup{gap:8px;margin-bottom:8px;display:flex}.backup .btn{flex:1;width:auto}.tabbar{background:var(--surface);border-top:1px solid var(--border);width:100%;max-width:480px;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar__item{color:var(--muted);flex-direction:column;align-items:center;gap:3px;padding:8px 0 10px;text-decoration:none;display:flex}.tabbar__icon{font-size:22px}.tabbar__label{font-size:10.5px}.tabbar__item.active{color:var(--primary);font-weight:700}.auth{place-items:center;min-height:100%;padding:24px;display:grid}.auth__form{width:100%;max-width:360px}.auth__title{text-align:center;margin:0 0 20px;font-size:22px}.banner{background:var(--primary);color:var(--primary-ink);text-align:center;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:700}.buddy{border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.55}.buddy--good{background:var(--positive-soft);color:var(--text)}.buddy--soft{background:var(--primary-soft);color:var(--text)}.propose{background:var(--accent-soft);border:1px solid var(--accent-warm);border-radius:14px;padding:14px 15px}.propose__ct{color:var(--accent-warm);letter-spacing:.02em;margin:0 0 6px;font-size:12.5px;font-weight:800}.propose p{margin:0 0 8px;font-size:13.5px;line-height:1.55}.propose__ahead{color:var(--muted);margin-top:4px;font-size:11px;display:block}.propose__bd{color:var(--muted);font-size:12px}.propose__row{gap:8px;margin-top:6px;display:flex}.propose__yes{background:var(--accent-warm);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:9px;flex:1;padding:10px;font-size:13px;font-weight:700}.propose__no{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:9px;flex:1;padding:10px;font-size:13px;font-weight:600}.propose button:disabled{opacity:.6}.offline{z-index:50;text-align:center;background:var(--negative);color:#fff;padding:8px;font-size:13px;font-weight:600;position:fixed;top:0;left:0;right:0}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
