:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f5f7;--surface:#fff;--surface-2:#eceef1;--line:#dfe2e7;--text:#14171a;--muted:#667079;--accent:#2f7d1f;--accent-ink:#fff;--accent-soft:#e3f3dd;--danger:#c0392b;--warn:#b7791f;--radius:16px;--tabbar:62px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#101214;--surface:#1a1d21;--surface-2:#24282d;--line:#2e3339;--text:#f1f3f5;--muted:#98a2ad;--accent:#b6f03c;--accent-ink:#12160a;--accent-soft:#2a3516;--danger:#ff6b5e;--warn:#f0b84a}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;background:var(--bg);min-height:100%}body{background:var(--bg);color:var(--text);overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.4}body.sheet-open{overflow:hidden}#root{min-height:100dvh}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}.icon{flex:none}.page{max-width:640px;min-height:100dvh;padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 28px);margin:0 auto}.topbar{z-index:5;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);align-items:center;gap:6px;display:flex;position:sticky;top:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:22px;font-weight:700;overflow:hidden}.topbar h1.brand{letter-spacing:-.02em;flex:none;font-size:26px;overflow:visible}.topbar h1.brand+.topbar-actions{flex:1;justify-content:flex-end}.topbar h1.brand+.topbar-actions .gym-select{flex:0 auto;width:auto;min-width:0;max-width:100%}.topbar-actions{align-items:center;gap:4px;min-width:0;display:flex}main{flex-direction:column;gap:12px;padding:4px 16px 0;display:flex}.iconbtn{width:44px;height:44px;color:var(--text);border-radius:50%;flex:none;place-items:center;display:grid}.iconbtn:active{background:var(--surface-2)}.iconbtn.danger{color:var(--muted)}.topbar>.iconbtn:first-child{margin-left:-10px}.gym-select{border:1px solid var(--line);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23889' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E") no-repeat right 11px center;appearance:none;text-overflow:ellipsis;border-radius:19px;max-width:46vw;height:38px;padding:0 30px 0 14px;font-weight:600}.card{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.card.flush{gap:0;padding:0;overflow:hidden}.card h2{font-size:17px}.section{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:10px 4px -4px;font-size:13px;font-weight:600}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:13px}.error{color:var(--danger);font-weight:600}.empty{color:var(--muted);text-align:center;padding:22px 12px}.pre{white-space:pre-wrap}.accent{color:var(--accent)}.steps{color:var(--muted);flex-direction:column;gap:6px;margin:0;padding-left:22px;display:flex}.btn{background:var(--surface);border:1px solid var(--line);min-height:48px;color:var(--text);text-align:center;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.985)}.btn.block{width:100%;display:flex}.btn.big{min-height:56px;font-size:17px}.btn.small{min-height:38px;padding:0 12px;font-size:14px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn:disabled{opacity:.5}.card .btn:not(.primary){background:var(--surface-2);border-color:#0000}.scan-hero{cursor:pointer;background:var(--accent);color:var(--accent-ink);border-radius:22px;align-items:center;gap:16px;padding:20px;display:flex}.scan-hero:active{transform:scale(.985)}.scan-hero-icon{background:color-mix(in srgb, var(--accent-ink) 14%, transparent);border-radius:50%;flex:none;place-items:center;width:64px;height:64px;display:grid}.scan-hero-text{flex-direction:column;gap:2px;display:flex}.scan-hero-text strong{font-size:20px}.scan-hero-text span{opacity:.8;font-size:14px}.list{margin:0;padding:0;list-style:none}.list li+li{border-top:1px solid var(--line)}.row{width:100%;min-height:56px;color:var(--text);align-items:center;gap:12px;padding:12px 16px;display:flex}.row:active{background:var(--surface-2)}.row>.icon{color:var(--muted)}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-title{flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.row-sub{color:var(--muted);font-size:14px}.row-sets{font-variant-numeric:tabular-nums;font-size:15px}.row-note{color:var(--muted);font-size:14px;font-style:italic}.thumb{object-fit:cover;background:var(--surface-2);border-radius:12px;flex:none;width:52px;height:52px}.img-placeholder{color:var(--muted);place-items:center;display:grid}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.badge.live,.badge.high{background:var(--accent-soft);color:var(--accent)}.badge.mid{color:var(--warn)}.meter{background:var(--surface-2);border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.meter span{background:var(--muted);border-radius:2px;height:100%;display:block}.meter.high span{background:var(--accent)}.meter.mid span{background:var(--warn)}.row.match.best{background:color-mix(in srgb, var(--accent-soft) 55%, transparent)}.chips{gap:8px;display:flex}.chips.wrap{flex-wrap:wrap}.chips.scroll{scrollbar-width:none;margin:0 -16px;padding:0 16px;overflow-x:auto}.chips.scroll::-webkit-scrollbar{display:none}.chip{background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:18px;flex:none;min-height:36px;padding:0 14px;font-size:14px;font-weight:500}.card .chip{background:var(--surface-2);border-color:#0000}.chip.active,.card .chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.searchbox{background:var(--surface);border:1px solid var(--line);height:46px;color:var(--muted);border-radius:14px;align-items:center;gap:8px;padding:0 14px;display:flex}.sheet .searchbox{background:var(--surface-2);border-color:#0000}.searchbox input{min-width:0;color:var(--text);-webkit-appearance:none;background:0 0;border:0;outline:0;flex:1;height:100%}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--muted);font-size:13px;font-weight:600}.field input,.field select,.field textarea,textarea.note{background:var(--surface-2);resize:none;border:1px solid #0000;border-radius:12px;outline:0;width:100%;min-height:46px;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus,textarea.note:focus,.set-row input:focus{border-color:var(--accent)}.check{align-items:center;gap:10px;font-weight:500;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent)}.checkbox{border:2px solid var(--line);border-radius:8px;flex:none;place-items:center;width:24px;height:24px;display:grid}.checkbox.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.segmented{background:var(--surface-2);border-radius:12px;gap:2px;padding:3px;display:flex}.segmented button{min-height:40px;color:var(--muted);text-align:center;border-radius:10px;flex:1;padding:0 4px;font-size:14px;font-weight:600}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000026}@media (prefers-color-scheme:dark){.segmented button.active{background:#3a4047}}.photo-strip{scrollbar-width:none;gap:10px;margin:0 -16px;padding:0 16px;display:flex;overflow-x:auto}.photo{background:var(--surface-2);border-radius:14px;flex:none;width:92px;height:92px;position:relative;overflow:hidden}.photo img,.photo .img-placeholder{object-fit:cover;width:100%;height:100%}.photo.add{color:var(--muted);border:2px dashed var(--line);cursor:pointer;background:0 0;place-items:center;display:grid}.photo-del{color:#fff;background:#0009;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:4px;right:4px}.scan-preview{object-fit:cover;border-radius:var(--radius);width:100%;max-height:34vh;display:block}.scan-actions{flex-direction:column;gap:10px;margin-top:4px;display:flex}.scan-actions.large{margin-top:18vh}.status{color:var(--muted);align-items:center;gap:10px;padding:6px 4px;display:flex}.spinner{border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.picked-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.picked-head h2{font-size:22px}.choice-grid{flex-direction:column;gap:8px;display:flex}.btn.choice{text-align:left;justify-content:flex-start;min-height:56px;font-size:17px}section>.section{margin:14px 4px 8px}.workout-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:0 4px;font-size:14px;display:flex}.stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stats div{background:var(--surface);text-align:center;border-radius:14px;flex-direction:column;gap:2px;min-width:0;padding:10px 6px;display:flex}.stats strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px}.stats span{color:var(--muted);font-size:11px}.workout-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.entry{gap:10px}.entry-head{align-items:flex-start;gap:8px;margin:-4px -8px 0 0;display:flex}.entry-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.entry-title h2{font-size:18px}.entry-title .muted{font-size:14px}.last{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:12px;flex-direction:column;gap:2px;padding:8px 12px;font-size:14px;display:flex}.sets{flex-direction:column;gap:6px;display:flex}.set-row{grid-template-columns:40px 1fr 1fr 52px;align-items:center;gap:8px;display:grid}.sets.reps .set-row,.sets.time .set-row{grid-template-columns:40px 1fr 52px}.set-row.head{color:var(--muted);text-align:center;font-size:12px;font-weight:600}.set-row input{background:var(--surface-2);text-align:center;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:12px;outline:0;width:100%;min-width:0;height:48px;padding:0 4px;font-size:19px;font-weight:600}.set-row input::placeholder{color:color-mix(in srgb, var(--muted) 60%, transparent);font-weight:500}.set-index{text-align:center;height:48px;color:var(--muted);background:var(--surface-2);border-radius:12px;font-weight:700}.kind-warmup .set-index{color:var(--warn)}.kind-drop .set-index{color:var(--accent)}.set-done{background:var(--surface-2);height:48px;color:var(--muted);border-radius:12px;place-items:center;display:grid}.set-row.done .set-done{background:var(--accent);color:var(--accent-ink)}.set-row.done input{background:var(--accent-soft)}textarea.note{field-sizing:content;min-height:42px;font-size:15px}.facts{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:15px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.sheet-backdrop{z-index:30;background:#00000080;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:22px 22px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:88dvh;animation:.2s ease-out up;display:flex}.sheet-head{justify-content:space-between;align-items:center;padding:14px 8px 6px 20px;display:flex}.sheet-head h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:19px;overflow:hidden}.sheet-body{overscroll-behavior:contain;flex-direction:column;gap:12px;padding:6px 16px 16px;display:flex;overflow-y:auto}.sheet-body .list{margin:0 -16px}.sheet-foot{padding:10px 16px calc(env(safe-area-inset-bottom) + 12px);border-top:1px solid var(--line)}.sheet:not(:has(.sheet-foot)) .sheet-body{padding-bottom:calc(env(safe-area-inset-bottom) + 18px)}.sheet .section{margin:6px 4px -6px}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:0;transform:translateY(30px)}}.toast{left:16px;right:16px;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 20px);z-index:20;background:var(--text);max-width:420px;color:var(--bg);text-align:center;border-radius:14px;margin:0 auto;padding:12px 16px;font-weight:500;position:fixed}.tabbar{z-index:10;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{height:var(--tabbar);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex}.tabbar button.active{color:var(--accent)}.tab-scan{cursor:pointer;background:var(--accent);width:62px;height:62px;color:var(--accent-ink);border:4px solid var(--bg);border-radius:50%;justify-self:center;place-items:center;margin-top:-22px;display:grid;box-shadow:0 4px 14px #0000004d}.tabbar .tab-scan,.tabbar .tab-scan.active{height:62px;color:var(--accent-ink)}.tab-scan:active{transform:scale(.95)}body.sheet-open .tabbar{display:none}@media (prefers-reduced-motion:reduce){*{animation:none!important}}.badge.record{background:var(--accent);color:var(--accent-ink);vertical-align:middle;margin-left:8px}.set-extra{width:100%;color:var(--muted);text-align:left;margin:-2px 0 2px;padding:0 60px 0 48px;font-size:13px;display:block}.set-extra.record{color:var(--accent);font-weight:600}.restbar{left:12px;right:12px;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 30px);z-index:12;background:var(--surface-2);border:1px solid var(--line);border-radius:18px;align-items:center;gap:6px;max-width:616px;margin:0 auto;padding:6px;display:flex;position:fixed;overflow:hidden;box-shadow:0 6px 20px #00000059}.restbar-fill{background:var(--accent-soft);transition:width .25s linear;position:absolute;inset:0 auto 0 0}.restbar.over .restbar-fill{background:var(--accent)}.restbar>button{position:relative}.restbar-main{flex:1;align-items:baseline;gap:10px;min-width:0;min-height:44px;padding:0 10px;display:flex}.restbar-main span{color:var(--muted);font-size:14px;font-weight:600}.restbar-main strong{font-variant-numeric:tabular-nums;font-size:24px}.restbar.over .restbar-main span{color:var(--accent-ink);font-size:17px}.restbar.over .restbar-btn{color:var(--accent-ink);background:color-mix(in srgb, var(--accent-ink) 12%, transparent)}.restbar-btn{background:var(--surface);white-space:nowrap;border-radius:12px;min-height:44px;padding:0 14px;font-size:14px;font-weight:600}body.sheet-open .restbar{display:none}body:has(.restbar) .page{padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 110px)}.planday{gap:10px}.planday-head{align-items:center;gap:6px;margin:-6px -8px -4px 0;display:flex}.planday-name{background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;outline:0;flex:1;min-width:0;padding:6px 0;font-size:18px;font-weight:700}.planday-name:focus{border-bottom-color:var(--accent)}.plan-items{flex-direction:column;gap:6px;display:flex}.plan-item{grid-template-columns:1fr 44px 96px 32px;align-items:center;gap:8px;display:grid}.plan-item.head{color:var(--muted);text-align:center;font-size:12px;font-weight:600}.plan-item-name{overflow-wrap:anywhere;min-width:0;color:var(--text);font-size:15px;font-weight:600}.plan-item .iconbtn{width:32px;height:40px}.reps-range{grid-template-columns:1fr 1fr;gap:4px;display:grid}.numbox{background:var(--surface-2);text-align:center;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:10px;outline:0;width:100%;min-width:0;height:40px;padding:0;font-weight:600}.numbox:focus{border-color:var(--accent)}.planday-foot{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.plan-next{flex-direction:column;gap:8px;display:flex}.target{color:var(--muted);font-size:14px}.target strong{color:var(--accent);font-weight:600}.card.plan-card{gap:10px}.plan-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.linkbtn{color:var(--accent);font-size:14px;font-weight:600}.plan-item-name{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.btn.primary .row-sub{color:inherit;opacity:.7}.btn.choice .row-main{text-align:left}.row:disabled{opacity:.5}.row.static:active{background:0 0}.per-week{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.per-week .segmented{flex:1;min-width:120px}.per-week .segmented button{min-height:34px}.pi{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding:8px 0;display:flex}.pi-top{align-items:center;gap:2px;margin-right:-8px;display:flex}.pi-top .iconbtn{width:36px;height:36px;color:var(--muted)}.pi-top .iconbtn:disabled{opacity:.25}.pi-name{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;flex:1;min-width:0;font-weight:600}.pi-bottom{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.pi-stat{flex:1;min-width:0}.pi-bottom label{white-space:nowrap;align-items:center;gap:5px;display:flex}.pi-bottom .numbox{width:38px;height:34px;color:var(--text)}.suggestions{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:8px;display:flex}.suggestion{background:var(--accent-soft);border-radius:12px;align-items:center;gap:10px;padding:8px 10px 8px 12px;font-size:14px;display:flex}.suggestion span{flex:1;min-width:0}.suggestion .btn{background:var(--surface);flex:none}.bars{flex-direction:column;gap:8px;display:flex}.bar{grid-template-columns:78px 1fr 28px;align-items:center;gap:10px;font-size:14px;display:grid}.bar-track{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.bar-track span{background:var(--accent);border-radius:5px;height:100%;display:block}.bar strong{text-align:right;font-variant-numeric:tabular-nums}.hint.warn{color:var(--warn)}.review{flex-direction:column;gap:4px;display:flex}.review .check{align-items:flex-start;padding:8px 0;font-weight:400}.review .check input{flex:none;margin-top:1px}.usual{opacity:.75;font-size:12px;font-weight:600}.pi-name small{color:var(--muted);font-size:13px;font-weight:400;display:block}.pi-bottom{justify-content:flex-end}.card.today{gap:10px}.planned{gap:8px;display:flex}.planned .btn.choice{flex:1;min-width:0}.planned .btn.busy{min-height:56px;color:var(--muted);flex:none;padding:0 12px;font-size:13px}.budget{color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.budget span{flex:1}.budget.over{color:var(--warn)}.preview{background:var(--surface-2);border-radius:12px;margin:0;padding:0;list-style:none}.preview li{justify-content:space-between;gap:10px;padding:9px 12px;font-size:15px;display:flex}.preview li+li{border-top:1px solid var(--line)}.preview .muted{white-space:nowrap}.body-card{gap:8px;padding:8px 8px 12px}.body3d{touch-action:pan-y;cursor:grab;justify-content:center;width:100%;height:min(58vh,500px)}.body3d canvas{width:100%;height:100%;display:block}.body-tools{justify-content:space-between;align-items:center;gap:12px;padding:0 8px;display:flex}.segmented.small{flex:none}.segmented.small button{min-height:34px;padding:0 14px}.legend{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.legend-bar{border-radius:4px;width:70px;height:8px}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-row>*{min-width:0}.row-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.row-actions .btn{flex:1}.ai-card h2{align-items:center;gap:6px;display:flex}.ai-label{margin:4px 0;font-weight:600}.ai-btn{justify-content:center;align-items:center;gap:8px;display:flex}.restbar-main{text-align:left;align-items:center}.restbar-text{flex-direction:column;gap:0;min-width:0;display:flex}.restbar-main .restbar-next{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.restbar.over .restbar-main .restbar-next{font-size:12px}.scan-hero{text-align:left;width:100%;color:var(--accent-ink)}.camera-backdrop{z-index:60;padding:16px 16px calc(var(--tabbar) + env(safe-area-inset-bottom) + 12px);background:#00000059;justify-content:center;align-items:flex-end;animation:.12s ease-out camera-fade;display:flex;position:fixed;inset:0}.camera-window{aspect-ratio:1;background:#000;border-radius:22px;width:100%;max-width:420px;max-height:46vh;animation:.14s ease-out camera-in;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000059}.camera-video{object-fit:cover;width:100%;height:100%;display:block}.camera-overlay{color:#fff;text-align:center;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.camera-overlay.column{background:#0009;flex-direction:column;justify-content:center;gap:14px;display:flex}.camera-close{color:#fff;background:#00000073;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:10px;right:10px}.camera-bar{justify-content:space-around;align-items:center;display:flex;position:absolute;bottom:14px;left:0;right:0}.camera-side{color:#fff;background:#00000073;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}span.camera-side{background:0 0}.camera-shutter{background:#fff;border-radius:50%;width:70px;height:70px;box-shadow:0 0 0 4px #00000040,inset 0 0 0 3px #fff,inset 0 0 0 6px #00000026}.camera-shutter:active{transform:scale(.92)}.camera-shutter:disabled{opacity:.5}.camera-suggestion{background:var(--accent);color:var(--accent-ink);white-space:nowrap;text-overflow:ellipsis;border-radius:14px;align-items:center;gap:8px;padding:10px 14px;font-weight:700;animation:.12s ease-out camera-in;display:flex;position:absolute;top:12px;left:12px;right:60px;overflow:hidden}.camera-suggestion span{opacity:.85;margin-left:auto;font-weight:600}@keyframes camera-fade{0%{opacity:0}}@keyframes camera-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.entry.collapsed{gap:6px;padding-top:12px;padding-bottom:12px}.entry.collapsed .entry-title h2{font-size:16px}.entry-summary{text-align:left;flex-direction:column;gap:2px;font-size:14px;display:flex}.entry-summary>span:first-child{color:var(--accent);align-items:center;gap:6px;font-weight:600;display:flex}.entry.in-superset{border-left:4px solid var(--accent)}.superset-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);align-self:flex-start;font-size:11px;font-weight:700}.hint.timing{margin:-4px 0 0}.chart{flex-direction:column;gap:4px;margin:0;display:flex}.chart svg{touch-action:pan-y;width:100%;height:auto;display:block}.chart-readout{color:var(--text);font-variant-numeric:tabular-nums;min-height:18px;font-size:13px}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-axis{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.chart-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-area{fill:var(--accent);opacity:.1}.chart-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart-cross{stroke:var(--muted);stroke-width:1px;opacity:.5}.chart-bar{fill:var(--accent);opacity:.55}.chart-bar.active{opacity:1}.chart-goal{stroke:var(--text);stroke-width:1px;stroke-dasharray:0;opacity:.35}.spark{flex:none}.spark path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.spark circle{fill:var(--accent)}.heatmap{touch-action:pan-y;width:100%;height:auto;display:block}.heat{fill:var(--surface-2)}.heat.l1{fill:color-mix(in srgb, var(--accent) 22%, var(--surface-2))}.heat.l2{fill:color-mix(in srgb, var(--accent) 45%, var(--surface-2))}.heat.l3{fill:color-mix(in srgb, var(--accent) 70%, var(--surface-2))}.heat.l4{fill:var(--accent)}.heat.selected{stroke:var(--text);stroke-width:1.5px}.stats button{background:var(--surface);text-align:center;border-radius:14px;flex-direction:column;gap:2px;min-width:0;padding:10px 6px;display:flex}.coach-btn{justify-content:center;align-items:center;gap:8px;display:flex}.coach-answer{white-space:pre-wrap;line-height:1.45}.coach-suggestion{background:var(--surface-2);gap:6px}.share-code{letter-spacing:.18em;text-align:center;font-variant-numeric:tabular-nums;margin:6px 0;font-size:32px;font-weight:800}.share-row{align-items:center;gap:8px;display:flex}.shared-note{background:var(--accent-soft);color:var(--text);border-radius:12px;padding:10px 12px}.ex-images{grid-template-columns:1fr 1fr;gap:8px;margin:-4px -4px 4px;display:grid}.ex-images figure{flex-direction:column;gap:4px;margin:0;display:flex}.ex-images img{aspect-ratio:3/2;object-fit:cover;background:var(--surface-2);border-radius:12px;width:100%;height:auto}.ex-images figcaption{color:var(--muted);text-align:center;font-size:12px}.ex-thumb{border-radius:10px;width:44px;height:44px}.ex-thumb.empty{display:inline-block}.card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.big-number{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.big-number .hint{margin-left:6px;font-size:14px;font-weight:400}.buckets{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.buckets li{grid-template-columns:minmax(96px,1.2fr) 2fr 64px;align-items:center;gap:8px;font-size:15px;display:grid}.bucket-bar{background:var(--surface-2);border-radius:5px;height:10px;position:relative}.bucket-bar:before{content:"";background:var(--line);width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}.bucket-bar span{border-radius:5px;position:absolute;top:0;bottom:0}.bucket-bar .pos{background:var(--accent);left:50%}.bucket-bar .neg{background:var(--muted);right:50%}.bucket-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.bucket-value.neg{color:var(--muted)}.coach-round{flex-direction:column;gap:10px;display:flex}.coach-round+.coach-round{border-top:1px solid var(--line);padding-top:12px}.coach-question{background:var(--accent-soft);max-width:85%;color:var(--text);border-radius:14px 14px 4px;align-self:flex-end;padding:8px 12px}.share-app{flex-direction:column;align-items:center;gap:10px;padding:4px 0 6px;display:flex}.qr-frame{background:#fff;border-radius:20px;padding:10px;line-height:0;box-shadow:0 2px 12px #00000026}.qr{width:min(220px,60vw);height:auto;display:block}.share-url{letter-spacing:.2px;font-size:17px;font-weight:600}.center{text-align:center}.intro{z-index:80;background:var(--bg);padding:calc(env(safe-area-inset-top) + 8px) 20px calc(env(safe-area-inset-bottom) + 16px);touch-action:pan-y;flex-direction:column;display:flex;position:fixed;inset:0}.intro-top{justify-content:flex-end;min-height:40px;display:flex}.intro-body{flex-direction:column;flex:1;min-height:0;animation:.22s ease-out intro-in;display:flex;overflow-y:auto}.intro-body>*{margin:auto}.intro-feature{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:420px;display:flex}.intro-feature h1{font-size:30px;line-height:1.15}.intro-feature h2{font-size:24px;line-height:1.2}.intro-feature p{color:var(--muted);font-size:17px}.intro-icon,.intro-logo{background:var(--accent-soft);width:84px;height:84px;color:var(--accent);border-radius:26px;place-items:center;margin-bottom:6px;display:grid}.intro-logo{color:#b6f03c;background:#101214;border:1px solid #2e3339;border-radius:30px;width:104px;height:104px;box-shadow:0 8px 28px #00000040}.intro-input{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:14px;outline:0;width:100%;min-height:52px;padding:12px 14px;font-size:18px}.intro-input:focus{border-color:var(--accent)}.intro-steps{text-align:left;flex-direction:column;gap:8px;margin:0;padding-left:22px;font-size:16px;display:flex}.intro-foot{flex-direction:column;gap:8px;width:100%;max-width:420px;margin:0 auto;display:flex}.intro-dots{justify-content:center;gap:6px;margin-bottom:8px;display:flex}.intro-dots span{background:var(--line);border-radius:4px;width:7px;height:7px;transition:width .2s}.intro-dots span.on{background:var(--accent);width:22px}@keyframes intro-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.news{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.news li{align-items:flex-start;gap:12px;display:flex}.news-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.news-main{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.row-sub.suggest{color:var(--accent);font-weight:600}.friend-gym{flex-direction:row;align-items:center;gap:12px}.friend-gym-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.toggle-row>span{flex-direction:column;gap:2px;display:flex}.toggle-row input{width:22px;height:22px;accent-color:var(--accent);flex:none}.friend-hint{text-align:left;align-items:center;gap:12px;width:100%;display:flex}.iconbtn .badge-dot{background:var(--danger);border:2px solid var(--bg);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;right:6px}.iconbtn{position:relative}.intro-already{background:var(--accent-soft);color:var(--text);border-radius:999px;margin-top:6px;padding:8px 14px;font-size:15px;font-weight:600}.hero{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent-soft);border-radius:22px;flex-direction:column;gap:4px;padding:20px 18px 14px;display:flex}.hero-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.hero-title{letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1.15}.hero-sub{color:var(--muted);margin-bottom:12px;font-size:15px}.hero-links{justify-content:space-between;gap:8px;padding:10px 4px 0;display:flex}.live-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite live-pulse}@keyframes live-pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}.week{text-align:left;color:var(--text);gap:14px}.week:active{transform:scale(.99)}.week-head{color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:15px;display:flex}.week-head strong{color:var(--text);margin-right:2px;font-size:20px}.week-streak{color:var(--text);white-space:nowrap;font-size:14px;font-weight:600}.week-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.week-day{color:var(--muted);flex-direction:column;align-items:center;gap:6px;font-size:12px;display:flex}.week-dot{background:var(--surface-2);border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.week-day.on .week-dot{background:var(--accent);color:var(--accent-ink)}.week-day.today{color:var(--text);font-weight:700}.week-day.today:not(.on) .week-dot{box-shadow:inset 0 0 0 2px var(--accent)}.tiles{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tile{color:var(--text);flex-direction:row;align-items:center;gap:10px;padding:16px;font-weight:600}.tile .icon{color:var(--accent)}.tile:active{transform:scale(.985)}.tip{color:var(--text);text-align:left;flex-direction:row;align-items:center;gap:12px}.tip-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.section-head{justify-content:space-between;align-items:baseline;margin:10px 4px -4px;display:flex}.section-head .section{margin:0}.row-date{color:var(--muted);white-space:nowrap;font-size:14px}.import-text{resize:vertical;background:var(--surface-2);border:1px solid #0000;border-radius:12px;outline:0;width:100%;min-height:140px;padding:10px 12px}.import-text:focus{border-color:var(--accent)}.import-photos{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.import-thumb{background:var(--surface-2);border-radius:10px;width:64px;height:84px;position:relative;overflow:hidden}.import-thumb img{object-fit:cover;width:100%;height:100%}.import-thumb button{color:#fff;background:#0009;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:3px;right:3px}.import-add{flex:1;min-width:180px}.import-block{background:var(--surface-2);border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.import-block h3{font-size:15px}.import-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.import-list li{justify-content:space-between;gap:8px;font-size:14px;display:flex}.import-list li .muted{white-space:nowrap}.install-steps{text-align:left;flex-direction:column;gap:10px;width:100%;margin:4px 0 0;padding:0;list-style:none;display:flex}.install-steps li{background:var(--surface);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:16px;display:flex}.install-num{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.install-text{flex:1}.install-glyph{background:var(--surface-2);color:#0a84ff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.intro-warn{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--text);text-align:left;border-radius:14px;padding:12px 14px;font-size:15px}.intro.install .intro-logo{border-radius:22px;width:72px;height:72px;margin-bottom:0}.intro.install .intro-feature{gap:12px;padding:8px 0}.intro.install h1{font-size:26px}.intro.install .intro-feature>p{font-size:16px}.intro.install .install-steps li{padding:10px 12px;font-size:15px}.news-hint{flex-direction:row;align-items:center;gap:4px;padding:10px 6px 10px 14px}.news-hint-main{text-align:left;min-width:0;color:var(--text);flex:1;align-items:center;gap:12px;display:flex}
