:root{--surface: #ffffff;--surface-dim: #eef0f4;--surface-container: #f3f6fa;--surface-container-high: #e9edf3;--surface-glass: #fafcff;--outline: #dbdee4;--on-surface: #1a1f29;--on-surface-var: #646972;--on-surface-dim: #8b8f97;--primary: #0462d3;--on-primary: #ffffff;--primary-container: #d9e7fc;--on-primary-container: #0b3875;--next: #eea82f;--next-container: #feeed4;--on-next-container: #6b4306;--success: #14874e;--success-container: #dcf8e7;--on-success-container: #195434;--tertiary: #7f4bb1;--tertiary-container: #f2e8ff;--on-tertiary-container: #4d2472;--error: #c02b2f;--error-container: #fbeae8;--series-1: #276ed2;--series-2: #af7112;--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 20px;--r-xl: 28px;--r-full: 999px;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 12px;--sp-lg: 16px;--sp-xl: 20px;--sp-2xl: 24px;--sp-3xl: 32px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--t-display-size: 2rem;--t-display-weight: 600;--t-display-lh: 1.1;--t-display-ls: -.02em;--t-headline-size: 1.5rem;--t-headline-weight: 600;--t-headline-lh: 1.2;--t-headline-ls: -.015em;--t-title-size: 1.0625rem;--t-title-weight: 600;--t-title-lh: 1.3;--t-title-ls: -.01em;--t-body-size: .9375rem;--t-body-weight: 400;--t-body-lh: 1.45;--t-body-ls: normal;--t-label-size: .8125rem;--t-label-weight: 500;--t-label-lh: 1.35;--t-label-ls: normal;--t-micro-size: .75rem;--t-micro-weight: 500;--t-micro-lh: 1.3;--t-micro-ls: normal;--t-column-size: .6875rem;--t-column-weight: 500;--t-column-lh: 1.2;--t-column-ls: normal;--t-numeric-size: 1.25rem;--t-numeric-weight: 600;--t-numeric-lh: 1.2;--shadow-float: 0 1px 2px rgb(16 24 40 / .06), 0 8px 24px rgb(16 24 40 / .1);--shadow-sheet: 0 -2px 8px rgb(16 24 40 / .08), 0 -12px 40px rgb(16 24 40 / .16);--glass-bg: color-mix(in srgb, var(--surface-glass) 82%, transparent);--glass-filter: blur(24px) saturate(1.6);--ease-emphasized: cubic-bezier(.05, .7, .1, 1);--ease-standard: cubic-bezier(.2, 0, 0, 1);--dur-micro: .15s;--dur-standard: .25s;--dur-emphasized: .4s}@media(prefers-color-scheme:dark){:root{--surface: #14171d;--surface-dim: #090b0f;--surface-container: #0e1115;--surface-container-high: #1f2329;--surface-glass: #1b1e24;--outline: #2f333a;--on-surface: #eef0f4;--on-surface-var: #a0a5ae;--on-surface-dim: #767b83;--primary: #96c0fe;--on-primary: #022659;--primary-container: #004296;--on-primary-container: #cce0fc;--next: #f7b83d;--next-container: #3d2a0e;--on-next-container: #f4d29b;--success: #4bc98a;--success-container: #153524;--on-success-container: #a5eac1;--tertiary: #be95ec;--tertiary-container: #352546;--on-tertiary-container: #e2ccfd;--error: #ed756e;--error-container: #4e201e;--series-1: #5492ec;--series-2: #bd8630;--shadow-float: 0 1px 2px rgb(0 0 0 / .3), 0 8px 24px rgb(0 0 0 / .45)}}.t-display{font-family:var(--font-sans);font-size:var(--t-display-size);font-weight:var(--t-display-weight);line-height:var(--t-display-lh);letter-spacing:var(--t-display-ls)}.t-headline{font-family:var(--font-sans);font-size:var(--t-headline-size);font-weight:var(--t-headline-weight);line-height:var(--t-headline-lh);letter-spacing:var(--t-headline-ls)}.t-title{font-family:var(--font-sans);font-size:var(--t-title-size);font-weight:var(--t-title-weight);line-height:var(--t-title-lh);letter-spacing:var(--t-title-ls)}.t-body{font-family:var(--font-sans);font-size:var(--t-body-size);font-weight:var(--t-body-weight);line-height:var(--t-body-lh);letter-spacing:var(--t-body-ls)}.t-label{font-family:var(--font-sans);font-size:var(--t-label-size);font-weight:var(--t-label-weight);line-height:var(--t-label-lh);letter-spacing:var(--t-label-ls)}.t-micro{font-family:var(--font-sans);font-size:var(--t-micro-size);font-weight:var(--t-micro-weight);line-height:var(--t-micro-lh);letter-spacing:var(--t-micro-ls)}.t-column{font-family:var(--font-sans);font-size:var(--t-column-size);font-weight:var(--t-column-weight);line-height:var(--t-column-lh);letter-spacing:var(--t-column-ls)}.t-numeric{font-family:var(--font-sans);font-size:var(--t-numeric-size);font-weight:var(--t-numeric-weight);line-height:var(--t-numeric-lh);font-variant-numeric:tabular-nums}*{box-sizing:border-box}html{color-scheme:light dark;-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface-dim);color:var(--on-surface);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);overscroll-behavior-y:none}main{max-width:34rem;margin:0 auto;padding:.75rem .75rem calc(5rem + env(safe-area-inset-bottom))}main.has-minibar{padding-bottom:calc(8.5rem + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;gap:.5rem;margin:.25rem 0 .9rem}.topbar-title{flex:1;min-width:0}.topbar h1{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;font-size:1.45rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-title p{margin:0;font-size:.8rem;color:var(--on-surface-var)}.icon-btn{width:2.5rem;min-width:2.5rem;height:2.5rem;padding:0;border-radius:999px;border:1px solid var(--outline);background:var(--surface-container-high);color:var(--on-surface);font-size:1.2rem;line-height:1;display:grid;place-items:center;text-decoration:none}.card{background:var(--surface-container-high);border:1px solid var(--outline);border-radius:14px;padding:.8rem .9rem;margin-bottom:.7rem}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.card h2{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--on-surface-var);margin:0 0 .55rem;font-family:var(--font-sans)}.card-head h2{margin-bottom:.4rem}.card-aside{font-size:.75rem;color:var(--on-surface-var)}.card.good{border-left:3px solid var(--success)}.card.good h2{color:var(--success)}.card.warn,.card.bad{border-left:3px solid var(--error);background:var(--error-container)}.card.warn h2,.card.bad h2{color:var(--error)}dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .9rem;margin:0;font-size:.88rem}dt{color:var(--on-surface-var)}dd{margin:0}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-variant-numeric:tabular-nums;font-size:.92em}.num{text-align:right}.big{font-size:1.05rem;margin:.2rem 0 .4rem}.big strong{font-size:1.5rem;color:var(--on-surface)}.note{font-size:.78rem;color:var(--on-surface-var);margin:.5rem 0 0}.empty{font-size:.85rem;color:var(--on-surface-var);margin:.4rem 0}pre{white-space:pre-wrap;word-break:break-word;font-size:.8rem;margin:0}a{color:var(--primary)}button{font:inherit;font-size:.92rem;min-height:2.75rem;padding:.55rem .9rem;border-radius:11px;border:1px solid var(--outline);background:var(--surface);color:var(--on-surface);font-weight:500;cursor:pointer}button.primary{border-color:var(--primary);background:var(--primary);color:var(--on-primary);font-weight:700}button.big-btn{width:100%;min-height:3.25rem;font-size:1rem;margin-top:.3rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-sub{font-weight:500;opacity:.75;font-variant-numeric:tabular-nums}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button.danger{background:transparent;border-color:var(--error);color:var(--error)}.linkish{background:none;border:none;padding:.2rem 0;min-height:0;color:var(--primary);font-size:.8rem;text-decoration:underline}.linkish.danger-text{color:var(--error)}.btn-row{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.btn-row input[type=date]{flex:1}input,select,textarea{font:inherit;font-size:1rem;width:100%;min-height:2.75rem;padding:.5rem .6rem;border-radius:10px;border:1px solid var(--outline);background:var(--surface);color:var(--on-surface)}textarea{min-height:3.5rem;resize:vertical}.field{display:block;margin-bottom:.55rem}.checkbox-row{display:flex;align-items:center;gap:.4rem;margin:.4rem 0}.field>span{display:block;font-size:.75rem;color:var(--on-surface-var);margin-bottom:.2rem}.search{margin-bottom:.7rem}.note-input{margin-top:.5rem;font-size:.9rem}.numfield{flex:1;min-width:0}.numfield label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-var);margin-bottom:.2rem}.numfield-suffix{text-transform:none;letter-spacing:0}.numfield-row{display:flex;align-items:stretch;gap:.3rem}.numfield-row input{text-align:center;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;padding:.4rem .2rem}.stepper{width:2.75rem;min-width:2.75rem;padding:0;font-size:1.15rem;font-weight:700;background:var(--surface-container-high)}.entry-row{display:flex;gap:.55rem}.entry-flags{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem}.toggle{min-height:2.25rem;padding:.3rem .7rem;font-size:.82rem;border-radius:999px}.toggle.is-on{background:var(--primary-container);border-color:var(--primary-container);color:var(--on-primary-container);font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.2rem}.chips.indent{padding:.3rem 0 .5rem .8rem}.chip{min-height:2.25rem;padding:.3rem .7rem;font-size:.82rem;border-radius:999px;background:var(--surface)}.chip.is-on{background:var(--primary-container);border-color:var(--primary-container);color:var(--on-primary-container);font-weight:600}.chip-add{border-style:dashed;color:var(--on-surface-var)}.variant-chips{margin-bottom:.7rem}.tagrow{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin:0 0 .7rem}.tagrow-count{font-size:.75rem;color:var(--on-surface-var)}.tag{font-size:.7rem;padding:.15rem .45rem;border-radius:6px;background:var(--surface-container-high);border:1px solid var(--outline);color:var(--on-surface);white-space:nowrap}.tag-label{font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tag-record{background:transparent;border-color:var(--tertiary);color:var(--tertiary);font-weight:600}.set-pr{margin-left:auto;font-size:.7rem;color:var(--tertiary);font-weight:600;white-space:nowrap}.variant-pill{font-size:.68rem;padding:.1rem .4rem;margin-left:.35rem;border-radius:5px;background:var(--surface);border:1px solid var(--outline);color:var(--on-surface-var);white-space:nowrap}.block{display:block;width:100%;text-align:left;background:var(--surface-container-high);border:1px solid var(--outline);border-radius:14px;padding:.7rem .85rem;margin-bottom:.6rem;min-height:0}.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.block-head strong{font-size:.98rem}.block-count{font-size:.75rem;color:var(--on-surface-var);white-space:nowrap}.block.is-planned{border-style:dashed;opacity:.85}.runner-card{cursor:default}.runner-rows{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.25rem}.runner-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;border-radius:8px;border-left:3px solid transparent}.runner-row.is-done{background:var(--success-container)}.runner-row.is-next{border-left-color:var(--next)}.runner-row-body{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;background:none;border:none;text-align:left;padding:0;font:inherit;color:inherit}.check{width:2rem;height:2rem;min-width:2rem;border-radius:999px;border:1px solid var(--outline);background:var(--surface);font-size:1rem;line-height:1;padding:0}.check.is-checked{background:var(--success);border-color:var(--success);color:var(--surface)}.pain-btn{border:1px solid var(--outline);background:var(--surface);border-radius:999px;font-size:.7rem;padding:.2rem .5rem;color:var(--on-surface-var)}.runner-input{width:3.4rem;text-align:center;font-variant-numeric:tabular-nums;padding:.3rem}.runner-x{color:var(--on-surface-var)}.add-set-btn{margin-top:.4rem}.routine-item-row{display:flex;flex-direction:column;gap:.35rem;padding:.5rem 0;border-bottom:1px solid var(--outline)}.routine-item-main{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.routine-item-controls{display:flex;align-items:center;gap:.35rem}.rest-input,.target-input{width:4.5rem;font-size:.85rem}.routine-item-targets{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}.block-sets,.setlist{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.15rem}.block-sets li,.setlist li{display:flex;align-items:center;gap:.5rem;font-size:.87rem}.block-sets li.is-warmup,.setlist li.is-warmup{opacity:.6}.set-no{width:1.3rem;min-width:1.3rem;font-size:.7rem;color:var(--on-surface-var);font-variant-numeric:tabular-nums}.setline em{font-style:normal;color:var(--on-surface-var);font-size:.85em}.setline em.is-fuzzy{opacity:.6}.setrow{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:.3rem .2rem;min-height:2.4rem}.setrow .edit-hint{margin-left:auto;font-size:.7rem;color:var(--on-surface-var);opacity:.7}.editset{width:100%;padding:.5rem;border:1px dashed var(--outline);border-radius:10px;background:var(--surface);display:grid;gap:.5rem}.flash{margin-top:.6rem;padding:.45rem .7rem;border-radius:10px;font-size:.85rem;background:var(--surface);border:1px solid var(--outline);color:var(--on-surface-var)}.flash.is-pr{background:var(--success-container);border-color:var(--success);color:var(--on-surface)}.flash.is-pr strong{color:var(--success)}.picklist,.sessionlist,.varlist,.history{list-style:none;margin:0;padding:0}.picklist>li{border-bottom:1px solid var(--outline)}.picklist>li:last-child{border-bottom:none}.pickrow,.mobility-row{display:block;width:100%;text-align:left;background:none;border:none;padding:.5rem .1rem;border-radius:8px}.pickrow-name{display:block;font-size:.95rem;font-weight:500}.pickrow-meta{display:block;font-size:.75rem;color:var(--on-surface-var)}.sessionlist>li{margin-bottom:.5rem}.sessionrow{display:block;width:100%;text-align:left;background:var(--surface-container-high);border:1px solid var(--outline);border-radius:12px;padding:.6rem .8rem}.sessionrow-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.sessionrow-meta{font-size:.75rem;color:var(--on-surface-var);white-space:nowrap}.sessionrow .tagrow{margin:.35rem 0 0}.varlist>li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.9rem;padding:.35rem 0;border-bottom:1px solid var(--outline)}.varlist>li:last-child{border-bottom:none;margin-bottom:.5rem}.varlist-name{display:flex;align-items:center;flex-wrap:wrap;gap:.1rem}.variant-pill.is-muted{opacity:.75;font-style:italic}.variant-pill.is-good{border-color:var(--success);color:var(--success)}.calib-form{flex-basis:100%;background:var(--surface);border:1px solid var(--outline);border-radius:10px;padding:.6rem .7rem;margin:.2rem 0 .4rem}.numfield-pair{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.calib-result{margin:.5rem 0;font-size:.85rem;padding:.4rem .6rem;border-radius:8px;background:var(--success-container);border-left:3px solid var(--success)}.calib-result strong{font-variant-numeric:tabular-nums}.kv{display:grid;grid-template-columns:auto 1fr;gap:.1rem .7rem;margin:.5rem 0;font-size:.8rem}.kv dt{color:var(--on-surface-var)}.kv dd{margin:0;font-variant-numeric:tabular-nums}.history>li{display:flex;align-items:baseline;gap:.6rem;padding:.28rem 0;border-bottom:1px solid var(--outline);font-size:.85rem}.history>li:last-child{border-bottom:none}.history-date{min-width:6.2rem;font-size:.78rem;color:var(--on-surface-var);text-decoration:none}.history-sets{flex:1}.history-variant{font-size:.7rem;color:var(--on-surface-var)}table{width:100%;border-collapse:collapse;margin-top:.7rem;font-size:.85rem}th{text-align:left;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-var);font-weight:600;padding-bottom:.2rem}th.num{text-align:right}td{padding:.3rem 0;border-top:1px solid var(--outline)}.chart{position:relative;width:100%}.chart svg{display:block;touch-action:pan-y}.chart-empty{font-size:.8rem;color:var(--on-surface-var);padding:.6rem 0}.chart-grid{stroke:var(--outline);stroke-width:1}.chart-band{fill:var(--on-surface-var);opacity:.12}.chart-band-label{fill:var(--on-surface-var);font-size:9px;font-family:ui-monospace,SF Mono,Menlo,monospace;text-transform:uppercase;letter-spacing:.02em}.chart-axis{fill:var(--on-surface-var);font-size:10px;font-family:ui-monospace,SF Mono,Menlo,monospace}.chart-line{fill:none;stroke:var(--series-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--series-1);stroke:var(--surface-container-high);stroke-width:2}.chart-dot.is-active{stroke:var(--surface-container-high)}.chart svg g.s2 .chart-line{stroke:var(--series-2)}.chart svg g.s2 .chart-dot{fill:var(--series-2)}.chart-line.is-provisional{stroke-dasharray:5 4}.chart-legend{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.15rem .9rem;font-size:.72rem;color:var(--on-surface-var)}.chart-legend li{display:flex;align-items:center;gap:.3rem}.chart-legend-note{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--error)}.swatch{width:.7rem;height:.2rem;border-radius:2px;background:var(--series-1);flex:none}.swatch.s2{background:var(--series-2)}.chart-tip-row{display:flex;align-items:baseline;gap:.3rem}.chart-tip-meta{font-size:.68rem;opacity:.85}.chart-crosshair{stroke:var(--on-surface-var);stroke-width:1;stroke-dasharray:2 3}.chart-tip{position:absolute;transform:translate(-50%,-100%);background:var(--on-surface);color:var(--surface-dim);border-radius:8px;padding:.25rem .5rem;font-size:.72rem;line-height:1.35;pointer-events:none;white-space:nowrap;display:grid;justify-items:center}.chart-tip strong{font-size:.85rem;font-variant-numeric:tabular-nums}.app-bottom{position:fixed;left:0;right:0;bottom:0;z-index:10}.minibar{width:100%;background:var(--surface-glass);color:var(--on-surface);border-bottom:1px solid var(--outline);font-size:.85rem}.minibar-main{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;color:inherit;padding:.4rem .9rem;font:inherit}.minibar-label{font-weight:500}.minibar-elapsed{font-variant-numeric:tabular-nums}.minibar-rest{display:flex;align-items:center;gap:.5rem;padding:.3rem .9rem;border-top:1px solid var(--outline);font-size:.78rem}.minibar-rest button{padding:.2rem .5rem;font-size:.75rem;border-radius:8px}.minibar-ready{flex:1}.tabbar{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:var(--surface);border-top:1px solid var(--outline);padding-bottom:env(safe-area-inset-bottom)}.tab{border:none;border-radius:0;background:none;display:grid;justify-items:center;gap:.1rem;font-size:.68rem;letter-spacing:.03em;color:var(--on-surface-var);padding:.45rem .2rem;min-height:3.1rem}.tab span{font-size:1.05rem;line-height:1}.tab.is-on{color:var(--primary);font-weight:700}@media(prefers-reduced-motion:no-preference){.flash{animation:pop .18s ease-out}@keyframes pop{0%{transform:scale(.97);opacity:0}}}.filebtn input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.filebtn{display:inline-block;position:relative}.filebtn span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 .9rem;border:1px solid var(--outline);border-radius:10px;background:var(--surface-container-high);color:var(--on-surface);font:inherit;font-size:.85rem}.filebtn input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}.filebtn input:disabled+span{opacity:.5}.restore-summary{margin-top:.7rem;padding:.7rem;border:1px solid var(--outline);border-radius:10px;background:var(--surface-container-high)}.restore-summary>p:first-child{margin:0 0 .4rem;font-size:.85rem}.restore-summary dl{grid-template-columns:1fr auto}.restore-summary button{margin-top:.5rem;margin-right:.4rem}.good-text{color:var(--success)}.bad-text,.warn-text{color:var(--error)}hr{border:none;border-top:1px solid var(--outline);margin:.9rem 0}.periodbar{background:var(--surface);border:1px solid var(--outline);border-radius:12px;padding:.5rem .6rem;margin-bottom:.6rem;display:grid;gap:.4rem}.periodbar-range{margin:0;font-size:.75rem;color:var(--on-surface-var);font-variant-numeric:tabular-nums}.stepper-row{display:flex;align-items:center;gap:.4rem}.stepper-row strong{font-variant-numeric:tabular-nums}.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.date-pair label{display:grid;gap:.15rem;font-size:.75rem;color:var(--on-surface-var)}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin:0}.tiles>div{background:var(--surface-container-high);border-radius:10px;padding:.45rem .6rem}.tiles dt{font-size:.7rem;color:var(--on-surface-var);text-transform:uppercase;letter-spacing:.04em}.tiles dd{margin:0;font-size:1.35rem;font-weight:600;font-variant-numeric:tabular-nums}.record-list{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.6rem}.record-row{border:1px solid var(--outline);border-radius:10px;padding:.5rem .6rem}.record-row-head{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.35rem}.record-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.25rem .6rem;margin:0}.record-stats dt{font-size:.68rem;color:var(--on-surface-var);text-transform:uppercase;letter-spacing:.03em}.record-stats dd{margin:0;font-size:.85rem}.record-date{color:var(--on-surface-var);font-weight:400}.bars{list-style:none;margin:0;padding:0;display:grid;gap:2px}.bar-row{display:grid;grid-template-columns:7.5rem 1fr auto;align-items:center;gap:.5rem;width:100%;text-align:left;background:none;border:none;padding:.25rem .1rem;border-radius:8px;color:var(--on-surface);font-size:.85rem}.bars>li.is-on .bar-row{background:var(--surface-container-high)}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-label em{display:block;font-size:.68rem;font-style:normal;color:var(--on-surface-var)}.bar-track{display:block;height:.6rem}.bar-fill{display:block;height:100%;background:var(--series-1);border-radius:0 4px 4px 0}.bar-value{font-variant-numeric:tabular-nums;font-weight:600;min-width:2.2rem;text-align:right}.monthgrid-head,.monthgrid-body{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.monthgrid-head{margin-bottom:3px}.monthgrid-head span{text-align:center;font-size:.65rem;color:var(--on-surface-var)}.daycell{position:relative;aspect-ratio:1;border:1px solid var(--outline);border-radius:7px;background:var(--surface);color:var(--on-surface);font-size:.72rem;font-variant-numeric:tabular-nums;padding:0;display:flex;align-items:center;justify-content:center;min-height:2rem}.daycell.is-pad{border:none;background:none}.daycell.is-today{outline:2px solid var(--primary);outline-offset:-2px}.daycell.lvl-1{background:color-mix(in oklab,var(--series-1) 22%,var(--surface))}.daycell.lvl-2{background:color-mix(in oklab,var(--series-1) 42%,var(--surface))}.daycell.lvl-3{background:color-mix(in oklab,var(--series-1) 64%,var(--surface))}.daycell.lvl-4{background:color-mix(in oklab,var(--series-1) 88%,var(--surface));color:var(--surface)}.daycell-mob{position:absolute;right:3px;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--on-surface-var)}.daycell-cardio{position:absolute;left:3px;bottom:3px;width:4px;height:4px;background:var(--on-surface-var)}.facets{display:grid;gap:3px;margin-top:.7rem}.facet{display:grid;grid-template-columns:5.5rem 1fr;align-items:center;gap:.4rem}.facet-label{font-size:.72rem;color:var(--on-surface-var);display:flex;justify-content:space-between;gap:.3rem}.facet-label em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--on-surface)}.facet-track{display:flex;gap:1px}.facet-tick{flex:1;height:.55rem;border-radius:2px;background:var(--surface-container-high)}.facet-tick.is-on{background:var(--series-1)}.heatmap-grid{display:flex;gap:2px;overflow-x:auto;padding-bottom:.3rem}.heatmap-col{display:grid;grid-template-rows:repeat(7,1fr);gap:2px;flex:none}.heatcell{width:.55rem;height:.55rem;border-radius:2px;background:var(--surface-container-high)}.heatcell.lvl-1{background:color-mix(in oklab,var(--series-1) 28%,var(--surface))}.heatcell.lvl-2{background:color-mix(in oklab,var(--series-1) 50%,var(--surface))}.heatcell.lvl-3{background:color-mix(in oklab,var(--series-1) 72%,var(--surface))}.heatcell.lvl-4{background:var(--series-1)}.pickrow.is-on{background:var(--surface-container-high)}.streaks>summary{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;cursor:pointer;list-style:none}.streaks>summary::-webkit-details-marker{display:none}.streaks-title{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--on-surface-var);font-family:var(--font-sans)}.streaks-headline{font-size:.8rem;color:var(--on-surface);text-align:right}.streaks-title:after{content:" ▸";color:var(--on-surface-var)}.streaks[open] .streaks-title:after{content:" ▾"}.streaks[open] .streaks-headline{display:none}.streaks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.55rem .7rem;margin:.7rem 0 0}.streaks-grid dt{font-size:.7rem;color:var(--on-surface-var);line-height:1.25}.streaks-grid dd{margin:.1rem 0 0;font-size:1.15rem;font-variant-numeric:tabular-nums}.streaks-grid dd em{display:block;font-size:.68rem;font-style:normal;color:var(--on-surface-var)}.accordion>summary{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;cursor:pointer;list-style:none}.accordion>summary::-webkit-details-marker{display:none}.accordion-title{font-size:.95rem;font-weight:600}.accordion-title:after{content:" ▸";color:var(--on-surface-var);font-weight:400}.accordion[open] .accordion-title:after{content:" ▾"}.accordion-body{margin-top:.6rem}.nameform{margin:.6rem 0 .3rem}.nameform>label{display:block}.nameform>label>span{display:block;font-size:.7rem;color:var(--on-surface-var);margin-bottom:.2rem}.nameform input[type=text]{width:100%}.nameform .btn-row{margin-top:.5rem}.confirm{margin:.6rem 0 .3rem;padding:.6rem .7rem;border-radius:10px;background:var(--surface);border:1px solid var(--outline);border-left:3px solid var(--on-surface-var)}.confirm.is-destructive{border-left-color:var(--error)}.confirm-q{margin:0 0 .3rem;font-weight:600;font-size:.92rem}.confirm .btn-row{margin-top:.55rem}.refusal{margin:.55rem 0 0;padding:.5rem .6rem;border-radius:10px;border:1px solid var(--outline);border-left:3px solid var(--error);font-size:.82rem}.hit44{position:relative}.hit44:before{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}.btn{font-family:var(--font-sans);font-size:var(--t-label-size);font-weight:var(--t-label-weight);line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-sm);border:1px solid transparent;border-radius:var(--r-full);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-standard),transform var(--dur-micro) var(--ease-standard)}.btn.is-full{width:100%}.btn:disabled{opacity:.38;cursor:default}@media(prefers-reduced-motion:no-preference){.btn:not(:disabled):active{transform:scale(.97)}}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-commit{height:56px;width:100%;padding:0 var(--sp-2xl);background:var(--primary);color:var(--on-primary);font-size:var(--t-title-size);font-weight:var(--t-title-weight)}.btn-filled{height:48px;padding:0 var(--sp-xl);background:var(--primary);color:var(--on-primary)}.btn-tonal{height:44px;padding:0 18px;background:var(--primary-container);color:var(--on-primary-container)}.btn-neutral{height:44px;padding:0 18px;background:var(--surface-container-high);color:var(--on-surface)}.btn-text{height:44px;padding:0 14px;background:transparent;color:var(--primary)}.btn-destructive{height:44px;padding:0 18px;background:var(--error-container);color:var(--error)}.sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-end}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--on-surface) 32%,transparent)}.sheet{position:relative;width:100%;max-width:34rem;margin:0 auto;max-height:82vh;overflow-y:auto;background:var(--surface);color:var(--on-surface);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-sheet);padding:var(--sp-sm) var(--sp-lg) calc(var(--sp-2xl) + env(safe-area-inset-bottom))}.sheet:focus-visible{outline:none}@media(prefers-reduced-motion:no-preference){.sheet{animation:sheet-in var(--dur-emphasized) var(--ease-emphasized)}@keyframes sheet-in{0%{transform:translateY(12%)}}}.sheet-handle{display:block;width:44px;height:24px;margin:0 auto var(--sp-sm);padding:0;border:none;background:none;cursor:pointer;position:relative}.sheet-handle:after{content:"";position:absolute;top:10px;left:6px;width:32px;height:4px;border-radius:var(--r-full);background:var(--on-surface-dim)}.sheet-title{margin:0 0 var(--sp-sm);color:var(--on-surface)}.sheet-body{font-size:var(--t-body-size);line-height:var(--t-body-lh);color:var(--on-surface-var)}.sheet-body>:first-child{margin-top:0}.explain-source{margin:var(--sp-lg) 0 0;padding-top:var(--sp-sm);border-top:1px solid var(--outline);color:var(--on-surface-dim)}.explain-btn{width:24px;min-height:24px;height:24px;padding:0;margin-left:var(--sp-xs);border:1px solid var(--outline);border-radius:var(--r-full);background:transparent;color:var(--on-surface-var);font-family:var(--font-sans);font-size:var(--t-micro-size);font-weight:600;line-height:1;cursor:pointer;position:relative;flex:none}.explain-btn:before{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.explain-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.badge{display:inline-flex;align-items:center;height:22px;padding:0 var(--sp-sm);border:1px solid transparent;border-radius:var(--r-full);white-space:nowrap;flex:none}.badge-record{background:transparent;border-color:var(--tertiary);color:var(--tertiary)}.badge-progress{background:var(--tertiary-container);color:var(--on-tertiary-container)}.badge-machine{background:var(--surface-container-high);color:var(--on-surface-var)}.stattrio{display:flex;align-items:center;gap:var(--sp-lg);padding:var(--sp-md) 0}.stattrio .stat{display:grid;gap:2px}.stat-l{color:var(--on-surface-dim)}.stat-v{color:var(--on-surface);font-variant-numeric:tabular-nums}.stattrio>:last-child:not(.stat){margin-left:auto}.ptiles{display:grid;gap:var(--sp-sm);margin:0;padding:0}.ptile{display:grid;gap:2px;width:100%;min-height:60px;text-align:left;padding:var(--sp-md) var(--sp-lg);border:none;border-radius:var(--r-md);background:var(--surface);cursor:pointer}.ptile-name{color:var(--on-surface)}.ptile-state{color:var(--on-surface-var);font-variant-numeric:tabular-nums}.ptile.is-quiet{background:transparent;border:1px solid var(--outline)}.ptile:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
