:root{--bg:#0b0d12;--bg2:#0f121a;--surface:#171b24;--surface2:#1e2330;--border:#ffffff12;--text:#f3f5f8;--muted:#9aa2b1;--accent:#ff5c38;--accent2:#ff9142;--accent-soft:#ff5c3824;--success:#34d17a;--radius:20px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(120% 80% at 50% -10%, #141826 0%, var(--bg) 55%);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}#root{flex-direction:column;max-width:480px;min-height:100%;margin:0 auto;display:flex}.screen{padding:calc(env(safe-area-inset-top) + 20px) 20px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;flex:1;gap:18px;display:flex}.btn{cursor:pointer;color:#fff;border:none;border-radius:14px;padding:15px 20px;font-family:inherit;font-size:16px;font-weight:700;transition:transform 80ms,opacity .2s}.btn:active{transform:scale(.97)}.btn--primary{background:linear-gradient(135deg, var(--accent), var(--accent2));box-shadow:0 8px 22px -8px #ff5c38b3}.btn--ghost{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn--big{width:100%;padding:18px;font-size:18px}.link{color:var(--muted);cursor:pointer;background:0 0;border:none;align-self:center;padding:8px;font-family:inherit;font-size:15px;font-weight:600}.link--danger{color:#ff6b6b;opacity:.85;margin-top:auto}.iconbtn{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:12px;place-items:center;font-size:18px;display:grid}.topbar{grid-template-columns:40px 1fr 40px;align-items:center;display:grid}.topbar__title{text-align:center;font-weight:700}.home__head{justify-content:space-between;align-items:center;display:flex}.home__hello{color:var(--accent2);letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:700}.home__brand{letter-spacing:-.02em;font-size:34px;font-weight:800}.mini-ring{width:68px;height:68px;position:relative}.mini-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.mini-ring__track{fill:none;stroke:var(--surface2);stroke-width:8px}.mini-ring__prog{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .5s}.mini-ring__label{text-align:center;place-content:center;line-height:1;display:grid;position:absolute;inset:0}.mini-ring__label b{font-size:20px}.mini-ring__label span{color:var(--muted);font-size:11px}.card{background:linear-gradient(180deg, var(--surface), var(--bg2));border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:22px;display:flex}.card--intro{text-align:center;align-items:center}.card--intro h2{font-size:22px}.card--intro p{color:var(--muted);font-size:15px;line-height:1.5}.card--intro p b{color:var(--text)}.intro__emoji{font-size:52px}.badge{background:var(--accent-soft);color:var(--accent2);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:5px 11px;font-size:12px;font-weight:700}.badge--test{color:var(--success);background:#34d17a29}.card--next h2{letter-spacing:-.01em;font-size:26px}.card__sub{color:var(--muted);margin-top:-6px;font-size:15px}.card__chips{flex-wrap:wrap;gap:8px;display:flex}.card__meta{color:var(--muted);gap:16px;font-size:14px;font-weight:600;display:flex}.card__rest-note{color:#bff4d5;background:#34d17a1a;border:1px solid #34d17a40;border-radius:12px;padding:10px 12px;font-size:13px}.chip{background:var(--surface2);border:1px solid var(--border);text-align:center;border-radius:10px;min-width:38px;padding:8px 12px;font-size:15px;font-weight:700}.chip--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent2)}.chip--done{color:#a9f0c6;background:#34d17a24;border-color:#34d17a66}.goalbar{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px}.goalbar__head{color:var(--muted);justify-content:space-between;margin-bottom:10px;font-size:14px;display:flex}.goalbar__head b{color:var(--text);font-size:16px}.goalbar__track{background:var(--surface2);border-radius:999px;height:10px;overflow:hidden}.goalbar__fill{background:linear-gradient(90deg, var(--accent), var(--accent2));border-radius:999px;height:100%;transition:width .6s}.test__body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;display:flex}.test__icon{font-size:56px}.test__prompt{color:var(--muted);max-width:320px;font-size:16px;line-height:1.5}.test__unit{color:var(--muted);margin-top:-8px;font-size:15px}.test__level{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:12px;padding:12px 16px;font-size:15px}.test__level b{color:var(--accent2)}.test .btn--big{max-width:340px}.stepper{align-items:center;gap:22px;display:flex}.stepper__btn{border:1px solid var(--border);background:var(--surface2);width:64px;height:64px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;font-size:30px;font-weight:700;display:grid}.stepper__btn:active{background:var(--surface)}.stepper__value{letter-spacing:-.03em;min-width:110px;font-size:76px;font-weight:800}.stepper--sm{gap:16px}.stepper--sm .stepper__btn{width:48px;height:48px;font-size:24px}.stepper--sm .stepper__value{min-width:70px;font-size:44px}.quit__partial{flex-direction:column;align-items:center;gap:8px;display:flex}.quit__label{color:var(--muted);font-size:14px;font-weight:600}.bag{flex-direction:column;align-items:center;gap:8px;display:flex}.bag__unit{color:var(--muted);letter-spacing:0;margin-left:4px;font-size:16px;font-weight:700}.bag__hint{color:var(--muted);font-size:12px}.list__tag{color:#7fb2ff;background:#5ea0ff24;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:700}.session__head{align-items:center;gap:12px;display:flex}.session__title{text-align:center;flex-direction:column;flex:1;line-height:1.3;display:flex}.session__title strong{font-size:17px}.session__title span{color:var(--muted);font-size:13px}.session__count{text-align:right;min-width:40px;color:var(--muted);font-weight:700}.dots{justify-content:center;gap:8px;display:flex}.dot{background:var(--surface2);color:#0000;border-radius:999px;flex:1;place-items:center;max-width:44px;height:8px;font-size:10px;transition:background .3s;display:grid}.dot--done{background:var(--success)}.dot--active{background:var(--accent)}.session__body{flex:1;justify-content:center;align-items:center;display:flex}.active{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.active__kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:15px;font-weight:600}.active__target{letter-spacing:-.04em;background:linear-gradient(135deg, var(--accent), var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:120px;font-weight:800;line-height:1}.active__unit{color:var(--muted);margin-top:-6px;font-size:18px}.active__max-hint{color:var(--muted);font-size:16px}.active__max-hint b{color:var(--accent2)}.active .btn--big{max-width:340px;margin-top:10px}.session__plan{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.session__plan .chip{min-width:32px;padding:6px 10px;font-size:14px}.rest{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.rest__label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:15px;font-weight:700}.ring{aspect-ratio:1;width:min(74vw,280px);position:relative}.ring__svg{width:100%;height:100%;transform:rotate(-90deg)}.ring__track{fill:none;stroke:var(--surface2);stroke-width:16px}.ring__progress{fill:none;stroke:var(--accent);stroke-width:16px;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.ring__center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring__time{font-size:68px;font-weight:800;line-height:1}.ring__unit{color:var(--muted);font-size:15px}.rest__hint{color:var(--muted);font-size:14px}.rest__actions{gap:12px;width:100%;max-width:340px;display:flex}.rest__actions .btn{flex:1}.summary{text-align:center;flex-direction:column;align-items:center;gap:18px;width:100%;margin:auto 0;display:flex}.summary__emoji{font-size:64px}.summary__title{font-size:26px}.summary__stats{gap:12px;width:100%;display:flex}.stat{flex-direction:column;flex:1;gap:4px;display:flex}.stat--card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 8px}.stat__num{font-size:30px;font-weight:800}.stat__lbl{color:var(--muted);font-size:12px}.summary__chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.summary .btn--big{max-width:340px}.progress__stats{gap:10px;display:flex}.progress__h{color:var(--muted);margin-top:4px;font-size:16px;font-weight:700}.grid{gap:8px;display:flex}.grid__week{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:8px;padding:10px 6px;display:flex}.grid__wlabel{color:var(--muted);font-size:12px;font-weight:700}.grid__days{flex-direction:column;gap:6px;display:flex}.cell{background:var(--surface2);width:30px;height:30px;color:var(--muted);border-radius:8px;place-items:center;font-size:13px;font-weight:700;display:grid}.cell--done{background:var(--success);color:#05130b}.progress__sub{color:var(--muted);text-align:center;font-size:13px}.list{flex-direction:column;gap:8px;list-style:none;display:flex}.list__row{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 14px;font-size:15px;display:grid}.list__date{color:var(--muted);font-size:13px}.list__row b{color:var(--accent2)}.lvl{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.lvl__head{justify-content:space-between;align-items:baseline;display:flex}.lvl__name{font-size:16px;font-weight:800}.lvl__meta{color:var(--muted);font-size:12px}.lvl__cells{flex-wrap:wrap;gap:6px;display:flex}.lvl__cells .cell{width:30px;height:30px}.cell--cur{outline:2px solid var(--accent);outline-offset:1px;color:var(--accent2);background:var(--accent-soft)}.cell--test{color:var(--accent2);background:#2a2118}.cell--test.cell--done{background:var(--success);color:#05130b}.cell--tried{color:var(--accent2);background:#2a2118;box-shadow:inset 0 0 0 2px #ff91428c}.cell--abandon{background:var(--surface2);color:#7fb2ff;box-shadow:inset 0 0 0 2px #5ea0ff73}.cell--tap{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;font-family:inherit}.cell--tap:active{transform:scale(.92)}.cell--sel{outline:2px solid var(--text);outline-offset:1px}.cell{position:relative}.cell__kg{letter-spacing:-.02em;opacity:.75;pointer-events:none;font-size:9px;font-weight:800;line-height:1;position:absolute;bottom:1px;right:2px}.legend .cell__kg{font-size:6px;bottom:0;right:1px}.plan__sub{color:var(--muted);font-size:13px}.plan__pick{bottom:calc(env(safe-area-inset-bottom) + 8px);position:sticky}.legend{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:12px;list-style:none;display:flex}.legend__item{align-items:center;gap:6px;display:flex}.legend .cell{border-radius:6px;width:18px;height:18px;font-size:10px}.summary__testline{color:var(--muted);margin-top:-6px;font-size:15px}.fig{width:100%;height:auto;display:block}.fig__limb{fill:none;stroke:var(--accent2);stroke-width:8px;stroke-linecap:round;stroke-linejoin:round}.fig__head{fill:var(--accent2)}.fig__prop{fill:none;stroke:var(--muted);stroke-width:5px;stroke-linecap:round;opacity:.55}.fig__ground{stroke:var(--border);stroke-width:4px;stroke-linecap:round}.fig__hint{fill:none;stroke:var(--accent2);stroke-width:5px;stroke-linecap:round;opacity:.7}.stretch{gap:12px}.stretch__fig{background:var(--accent-soft);border:1px solid var(--border);border-radius:16px;justify-content:center;padding:8px;display:flex}.stretch__fig .fig{width:auto;max-height:190px}.stretch__info{text-align:center;flex-direction:column;gap:5px;display:flex}.stretch__name{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:22px;font-weight:800;display:flex}.stretch__side{color:var(--accent2);background:var(--accent-soft);border-radius:999px;padding:4px 11px;font-size:13px;font-weight:700}.stretch__target{color:var(--muted);font-size:13px}.stretch__how{color:var(--muted);max-width:340px;margin:0 auto;font-size:14.5px;line-height:1.5}.stretch__timer{flex-direction:column;align-items:center;gap:10px;display:flex}.ring.ring--sm{width:min(46vw,190px)}.ring--prep .ring__progress{stroke:var(--muted)}.ring--prep .ring__unit{font-size:13px}.reminder{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.reminder__head{font-size:16px;font-weight:800}.reminder__sub{color:var(--muted);margin-top:-4px;font-size:14px}.reminder__actions{flex-wrap:wrap;gap:10px;display:flex}.reminder__actions .btn{flex:1;min-width:150px;padding:12px;font-size:15px}.reminder__ok{color:var(--success);align-self:center;font-size:14px;font-weight:700}.reminder__msg{color:var(--accent2);font-size:13px;font-weight:600}.reminder__note{color:var(--muted);font-size:12px;line-height:1.5}.badge--run{color:var(--success);background:#34d17a29}.run__label{text-align:center;justify-content:center;align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.run--run .ring__progress--run{stroke:var(--success)}.run--walk .ring__progress--walk{stroke:var(--accent2)}.run--run .run__label{color:var(--success)}.run--walk .run__label{color:var(--accent2)}.run .session__plan{justify-content:center;gap:5px}.run .session__plan .chip{padding:4px 7px;font-size:12px}.badge--skill{color:#7fb2ff;background:#5ea0ff29}.hs__h{text-align:center;font-size:22px;font-weight:800}.hs__hint{color:var(--muted);text-align:center;max-width:340px;margin:0 auto;font-size:14px;line-height:1.5}.hs__center{justify-content:center;align-items:center;gap:14px}.hs__count{color:var(--accent2);font-size:92px;font-weight:800;line-height:1}.hs__chrono{letter-spacing:-.03em;font-size:88px;font-weight:800;line-height:1}.hs__note{color:#cfe2ff;background:#5ea0ff1a;border:1px solid #5ea0ff40;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.5}.hs__prep{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:14px;width:100%}.hs__prep .hs__h{margin-top:4px}.hs__prep .btn--big{margin-top:auto}.card__rest-note--soft{background:var(--surface2);border-color:var(--border);color:var(--muted)}.prep{flex-direction:column;gap:10px;list-style:none;display:flex}.prep__row{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.prep__sec{color:var(--accent2);min-width:34px;font-size:14px;font-weight:800}.prep__text{flex-direction:column;gap:3px;display:flex}.prep__text b{font-size:14.5px}.prep__text span{color:var(--muted);font-size:12.5px;line-height:1.45}.axis{flex-direction:column;gap:10px;margin-top:6px;display:flex}.axis__head{align-items:flex-start;gap:12px;display:flex}.axis__emoji{font-size:24px;line-height:1.1}.axis__head b{font-size:16px;display:block}.axis__head span{color:var(--muted);margin-top:2px;font-size:12.5px;line-height:1.45;display:block}.axis__steps{flex-direction:column;gap:8px;list-style:none;display:flex}.stepopt{text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.stepopt--on{border-color:var(--accent);background:var(--accent-soft)}.stepopt__n{background:var(--surface2);border:1px solid var(--border);width:22px;height:22px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-weight:800;display:grid}.stepopt--on .stepopt__n{background:var(--accent);border-color:var(--accent);color:#fff}.stepopt__text{flex-direction:column;gap:5px;display:flex}.stepopt__label{font-size:14.5px;font-weight:600;line-height:1.35}.stepopt__how{color:var(--muted);font-size:12.5px;line-height:1.45}.drills{flex-direction:column;gap:8px;list-style:none;display:flex}.drills__row{background:var(--surface2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.drills__emoji{font-size:18px}.drills__text{flex-direction:column;gap:1px;display:flex}.drills__axis{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.drills__text b{font-size:14px;line-height:1.35}.order{background:#5ea0ff17;border:1px solid #5ea0ff38;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.order b{color:#9cc6ff;font-size:14.5px}.order span{color:var(--muted);font-size:12.5px;line-height:1.45}.onboarding__body{flex-direction:column;gap:14px;display:flex}.onboarding__q{letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1.15}.onboarding__sub{color:var(--muted);margin-top:-6px;font-size:15px;line-height:1.5}.onboarding__hint{color:var(--accent2);text-align:center;font-size:13.5px;line-height:1.5}.goals{flex-direction:column;gap:10px;margin-top:4px;list-style:none;display:flex}.goal{text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:16px;align-items:center;gap:14px;padding:14px 16px;font-family:inherit;transition:border-color .15s,background .15s,transform 80ms;display:flex}.goal:active{transform:scale(.985)}.goal--on{border-color:var(--accent);background:var(--accent-soft)}.goal__emoji{font-size:28px;line-height:1}.goal__text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.goal__label{flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.goal__tagline{color:var(--muted);font-size:13px;line-height:1.4}.goal__soon{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:800}.goal__check{border:2px solid var(--border);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:14px;font-weight:800;display:grid}.goal--on .goal__check{background:var(--accent);border-color:var(--accent)}.btn:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.btn:disabled:active{transform:none}.soon{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.soon__head{font-size:16px;font-weight:800}.soon__list{flex-direction:column;gap:12px;list-style:none;display:flex}.soon__row{opacity:.72;align-items:center;gap:12px;display:flex}.soon__emoji{font-size:22px;line-height:1}.soon__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.soon__text b{font-size:14.5px}.soon__text span{color:var(--muted);font-size:12.5px}.soon__badge{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface2);border:1px solid var(--border);border-radius:999px;flex:none;padding:3px 8px;font-size:10.5px;font-weight:800}.cal{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.cal__nav{grid-template-columns:40px 1fr 40px;align-items:center;display:grid}.cal__nav .iconbtn:disabled{opacity:.3;cursor:default}.cal__month{text-align:center;text-transform:capitalize;font-size:16px;font-weight:800}.cal__wd,.cal__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal__wd span{text-align:center;color:var(--muted);font-size:11px;font-weight:700}.cal__day{aspect-ratio:1;background:var(--surface2);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:13px;font-weight:700;display:flex}.cal__day:active{transform:scale(.92)}.cal__day--out{opacity:.28}.cal__day--today{color:var(--accent2);border-color:#ff914280}.cal__day--sel{outline:2px solid var(--text);outline-offset:1px}.cal__num{line-height:1}.cal__dots{align-items:center;gap:3px;height:7px;display:flex}.cal__dot{width:7px;height:7px;color:var(--muted);background:currentColor;border-radius:50%;flex:none;display:block}.cal__dot--pushups{color:var(--accent)}.cal__dot--handstand{color:#5ea0ff}.cal__dot--core{color:#b98bff}.cal__dot--running{color:var(--success)}.cal__dot--partial{background:0 0;box-shadow:inset 0 0 0 2px}.cal__empty{color:var(--muted);text-align:center;font-size:14px}.list__emoji{margin-right:2px}.install{flex-direction:column;align-items:center;gap:8px;display:flex}.install__btn{width:100%;max-width:340px}.install__hint{color:var(--muted);text-align:center;max-width:340px;font-size:13px;line-height:1.5}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.cal__dot--activity{color:#ffd166}.field{flex-direction:column;gap:6px;display:flex}.field__label{color:var(--muted);font-size:13px;font-weight:700}.field__input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;border-radius:12px;padding:13px 14px;font-size:16px}.field__input:focus{outline:2px solid var(--accent);outline-offset:1px}.field__area{resize:vertical;min-height:72px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface2);border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.chip:active{background:var(--surface)}.chip--on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent2)}.act__h{color:var(--muted);font-size:14px;font-weight:800}.act__err{color:var(--accent2);font-size:14px;font-weight:600}.meas{flex-direction:column;gap:10px;display:flex}.meas__row{grid-template-columns:1fr auto auto;align-items:center;gap:10px;display:grid}.meas__label{font-size:15px;font-weight:600}.meas__dur{align-items:center;gap:6px;display:flex}.meas__input{text-align:center;width:74px;padding:10px}.meas__unit{color:var(--muted);min-width:26px;font-size:13px;font-style:normal;font-weight:700}.meas__drop{border:1px solid var(--border);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;font-size:14px}.actday{flex-direction:column;gap:8px;display:flex}.actrow{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.actrow:active{background:var(--surface2)}.actrow__main{flex-direction:column;gap:3px;min-width:0;display:flex}.actrow__main b{font-size:15px}.actrow__meas{color:var(--accent2);font-size:14px;font-weight:700}.actrow__note{color:var(--muted);font-size:13px}.actrow__go{color:var(--muted);font-size:20px}.list__note{color:var(--muted);grid-column:1/-1;font-size:13px;font-style:normal}.quickadd{flex-direction:column;gap:8px;display:flex}.btn--danger{color:#fff;background:#b3261e;border:none}.link--danger{color:#ff8a80}.act__danger{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.act__danger p{font-size:15px}.act__danger-row{gap:10px;display:flex}.act__danger-row .btn{flex:1}.range{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tally{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tally__cell{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;display:flex}.tally__cell b{color:var(--accent2);letter-spacing:-.02em;font-size:26px;font-weight:800}.tally__cell span{color:var(--muted);font-size:11px;font-weight:600;line-height:1.3}.strip{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.photo{background:var(--surface2);border-radius:12px;width:100%;display:block;position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;display:block}.photo--gone{opacity:.5;place-items:center;font-size:20px;display:grid}.photo--pending em{color:#fff;background:#0009;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-style:normal;font-weight:700;display:grid;position:absolute;top:4px;right:4px}.photo__btn{cursor:pointer;background:0 0;border:none;width:100%;padding:0;display:block}.strip__add{aspect-ratio:1;border:1px dashed var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:12px;place-items:center;font-size:24px;display:grid}.strip__add:active{background:var(--surface2)}.strip__add:disabled{opacity:.5}.cal__pic{opacity:.85;font-size:10px;font-style:normal;line-height:1;position:absolute;top:3px;right:4px}.cal__day{position:relative}.viewer{z-index:40;background:var(--bg);flex-direction:column;gap:14px;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.viewer__frame{flex:1;place-items:center;min-height:0;display:grid}.viewer__frame img{border-radius:14px;max-width:100%;max-height:70vh;display:block}.backup__ok{color:var(--success);text-align:center;font-size:14px;font-weight:600}.place{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.place__gps{white-space:nowrap;padding:12px 14px;font-size:14px}.setting{flex-direction:column;gap:8px;display:flex}.setting__row{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.setting__text{flex-direction:column;gap:4px;display:flex}.setting__text b{font-size:15px}.setting__text span{color:var(--muted);font-size:13px;line-height:1.4}.toggle{background:var(--surface2);border:1px solid var(--border);border-radius:999px;flex:none;width:48px;height:28px;transition:background .15s;display:block;position:relative}.toggle i{background:var(--muted);border-radius:50%;width:20px;height:20px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.toggle--on{background:var(--accent-soft);border-color:var(--accent)}.toggle--on i{background:var(--accent);transform:translate(20px)}.since{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.since__main{align-items:baseline;gap:10px;display:flex}.since__num{font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1}.since__label{color:var(--muted);font-size:14px}.since__list{flex-direction:column;gap:8px;list-style:none;display:flex}.since__row{justify-content:space-between;align-items:center;font-size:14.5px;display:flex}.since__row b{font-variant-numeric:tabular-nums}.since__late{color:#ffb86b}.since__never{color:var(--muted);font-weight:500}.since__edit{align-self:flex-start;padding:0}.cal__dot--press{color:#ff7ab6}.cal__dot--jump{color:#ff9f43}.jump__target{flex-direction:column;align-items:center;gap:4px;display:flex}.jump__unit{color:var(--muted);font-size:14px;font-weight:600}.jfig{width:auto;max-height:170px;margin:0 auto}.jfig__a{animation:1.6s step-end infinite jfig-a}.jfig__b{animation:1.6s step-end infinite jfig-b}.jfig--fast .jfig__a,.jfig--fast .jfig__b{animation-duration:.5s}@keyframes jfig-a{0%{opacity:1}50%{opacity:0}}@keyframes jfig-b{0%{opacity:0}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.jfig__a,.jfig__b{animation:none}.jfig__a{opacity:.3}}
