:root{--base: #0d1014;--surface: #1c232b;--edge: #556472;--fg: #e9eef2;--dim: #909ca6;--live: #ccff33;--fault: #ff6b4a;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 40px;--fast: .12s;--slow: .26s;--ease: cubic-bezier(.2, 0, 0, 1);--t-display: clamp(3.25rem, 16vw, 4.5rem);--t-title: 1.25rem;--t-body: .9375rem;--t-control: 1rem;--measure: 46rem;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{margin:0;min-height:100dvh;background:var(--base);color:var(--fg);font-family:Archivo,Helvetica Neue,Arial,sans-serif;font-size:var(--t-body);line-height:1.55;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}.display{font-size:var(--t-display);font-weight:700;font-stretch:125%;letter-spacing:-.035em;line-height:.9;margin:0;font-variant-numeric:tabular-nums}h1,.title{font-size:var(--t-title);font-weight:600;font-stretch:100%;letter-spacing:-.015em;line-height:1.25;margin:0}h2,h3,.label{font-size:var(--t-body);font-weight:600;letter-spacing:.02em;color:var(--dim);margin:0}p{margin:0;max-width:36rem}.sub{color:var(--dim);max-width:34rem}.num{font-variant-numeric:tabular-nums;font-stretch:125%;font-weight:700;letter-spacing:-.02em}a{color:inherit;text-underline-offset:3px}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--live);outline-offset:2px;border-radius:4px;box-shadow:0 0 0 6px color-mix(in srgb,var(--live) 22%,transparent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.shell{max-width:var(--measure);margin:0 auto;padding-inline:max(var(--s4),env(safe-area-inset-left)) max(var(--s4),env(safe-area-inset-right));padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom))}.masthead{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) 0;padding-top:calc(var(--s3) + env(safe-area-inset-top))}.wordmark{font-stretch:125%;font-weight:800;font-size:var(--t-body);letter-spacing:.02em;text-transform:lowercase;margin:0}.masthead .who{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s2);margin-right:calc(var(--s2) * -1);background:none;border:0;color:var(--dim);cursor:pointer;transition:color var(--fast) var(--ease)}.masthead .who:hover{color:var(--fg)}.tabs{display:flex;gap:var(--s5);border-bottom:1px solid color-mix(in srgb,var(--edge) 45%,transparent);margin-bottom:var(--s5)}.tabs a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--dim);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.tabs a:hover{color:var(--fg)}.tabs a[aria-current=page]{color:var(--fg);border-bottom-color:var(--live);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--s5);border-radius:999px;border:1px solid var(--edge);background:transparent;color:var(--fg);font-weight:600;cursor:pointer;text-decoration:none;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.btn:hover:not(:disabled){border-color:var(--fg)}.btn-primary:not(:disabled){background:var(--fg);border-color:var(--fg);color:var(--base)}.btn-danger:not(:disabled){background:var(--fault);border-color:var(--fault);color:var(--base)}.btn:disabled{color:var(--dim);border-color:color-mix(in srgb,var(--edge) 55%,transparent);background:transparent;cursor:default}.btn-small{min-height:44px;padding:0 var(--s4)}.btn-link-danger.quiet{color:var(--dim);font-weight:400}.btn-link-danger.quiet:hover{color:var(--fault)}.btn-link-danger{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s2);background:none;border:0;color:var(--fault);font-weight:600;cursor:pointer}.input{font:inherit;font-size:var(--t-control);font-variant-numeric:tabular-nums;color:var(--fg);background:var(--base);border:1px solid var(--edge);border-radius:10px;min-height:44px;padding:0 var(--s3);width:100%;min-width:0;transition:border-color var(--fast) var(--ease)}.input[type=date]{-webkit-appearance:none;appearance:none;text-align:left;height:44px}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--fault)}.input:hover{border-color:var(--dim)}.input::placeholder{color:var(--dim)}.input::-webkit-outer-spin-button,.input::-webkit-inner-spin-button{appearance:none;margin:0}.input[type=number]{-moz-appearance:textfield;appearance:textfield}.input-narrow{width:5.5rem;flex:none}.select{font:inherit;font-size:var(--t-control);color:var(--fg);background-color:var(--base);border:1px solid var(--edge);border-radius:10px;min-height:44px;width:100%;min-width:0;padding:0 calc(var(--s5) + var(--s1)) 0 var(--s3);-webkit-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--fast) var(--ease);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23909ca6' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M1 1.5 6 6.5 11 1.5'/></svg>");background-repeat:no-repeat;background-position:right var(--s3) center;background-size:12px 8px}.select:hover{border-color:var(--dim)}.select option{background:var(--surface);color:var(--fg)}.field{display:flex;flex-direction:column;gap:var(--s2);min-width:0}.field-row{display:flex;align-items:flex-start;gap:var(--s3);flex-wrap:wrap}.field-row>.btn{margin-top:calc(1em * 1.55 + var(--s2))}.field-row>.field{flex:1 1 9rem}.field-error{color:var(--fault);font-weight:600}.field-hint{color:var(--dim)}.panel{background:var(--surface);border-radius:12px;padding:var(--s4);display:flex;flex-direction:column;gap:var(--s4)}.section{padding-top:var(--s5);margin-top:var(--s5);border-top:1px solid color-mix(in srgb,var(--edge) 45%,transparent)}.section-label{margin-bottom:var(--s4)}.stack{display:flex;flex-direction:column;gap:var(--s3)}.notice{background:var(--surface);border-left:3px solid var(--edge);border-radius:0 10px 10px 0;padding:var(--s3) var(--s4);margin:var(--s4) 0;display:flex;flex-direction:column;gap:var(--s2);align-items:flex-start}.notice.bad{border-left-color:var(--fault)}.centered{min-height:70dvh;display:flex;flex-direction:column;justify-content:center;gap:var(--s3);align-items:flex-start}@media(prefers-reduced-motion:no-preference){.fade-in{animation:fade-in var(--slow) var(--ease) both}}@keyframes fade-in{0%{opacity:0}}.headline{padding:var(--s2) 0 var(--s5)}.headline .display{margin:var(--s1) 0 var(--s2)}.headline-delta{font-weight:600}.headline-delta.up{color:var(--live)}.headline-delta.down{color:var(--dim)}.days{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2)}.day{background:var(--surface);border-radius:12px;overflow:hidden}.day-summary{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"chevron when  score" "chevron counts score" "bar     bar   bar";align-items:baseline;gap:0 var(--s3);width:100%;min-height:44px;padding:var(--s3) var(--s4);background:none;border:0;text-align:left;cursor:pointer}.day-chevron{grid-area:chevron;align-self:center;width:10px;height:10px;border-right:2px solid var(--dim);border-bottom:2px solid var(--dim);transform:rotate(-45deg);transition:transform var(--fast) var(--ease),border-color var(--fast) var(--ease)}.day-summary[aria-expanded=true] .day-chevron{transform:rotate(45deg);border-color:var(--fg)}.day-when{grid-area:when;font-weight:600;min-width:0}.day-counts{grid-area:counts;color:var(--dim);min-width:0}.day-score{grid-area:score;align-self:center;font-size:var(--t-title)}.day-bar{grid-area:bar;display:block;height:4px;border-radius:2px;margin-top:var(--s3);background:var(--edge);overflow:hidden}.day-bar>span{display:block;height:100%;border-radius:2px;background:var(--live)}.day.today .day-when{color:var(--live)}.day.today .day-bar>span{box-shadow:0 0 12px color-mix(in srgb,var(--live) 55%,transparent)}.day-detail{padding:0 var(--s4) var(--s4)}.exercise{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 var(--s3);padding:var(--s3) 0;border-top:1px solid color-mix(in srgb,var(--edge) 30%,transparent)}.exercise-name{font-weight:600}.exercise-sets{grid-column:1;color:var(--dim);overflow-wrap:anywhere}.exercise-score{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--dim)}.tag-supported{color:var(--dim)}.day-foot{color:var(--dim);margin-top:var(--s3)}.day-edit{margin-top:var(--s3)}.crumb{display:inline-flex;align-items:center;min-height:44px;color:var(--dim);text-decoration:none}.crumb:hover{color:var(--fg)}.editor-head{padding-bottom:var(--s4);margin-bottom:var(--s5);border-bottom:1px solid color-mix(in srgb,var(--edge) 45%,transparent)}.editor-head .title{margin-bottom:var(--s1)}.spaced{margin-top:var(--s3)}.exercise-edit{margin-top:var(--s5);background:var(--surface);border-radius:12px;padding:var(--s4);margin-bottom:var(--s3)}.exercise-edit-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s2)}.exercise-edit-head .title{font-size:var(--t-body);font-weight:600;letter-spacing:0;color:var(--fg)}.set{border-top:1px solid color-mix(in srgb,var(--edge) 30%,transparent);padding:var(--s3) 0}.set-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:var(--s2)}.set-line .input{width:100%}.set-line>.set-index,.set-line>.input,.set-line>.set-unit{grid-row:1}.set-line>.field-error{grid-column:1 / -1}.set-index{color:var(--dim);min-width:1.25rem}.set-unit{color:var(--dim);white-space:nowrap}.set-foot{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s2);padding-left:calc(1.25rem + var(--s2))}.set-score{margin-left:auto;color:var(--dim)}.toggle{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s3);border-radius:999px;border:1px solid color-mix(in srgb,var(--edge) 60%,transparent);background:transparent;color:var(--dim);cursor:pointer;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.toggle:hover{border-color:var(--dim)}.toggle[aria-pressed=true]{border-color:var(--fg);color:var(--fg);font-weight:600}.toggle-box{width:14px;height:14px;border-radius:4px;border:1px solid currentColor;flex:none;position:relative}.toggle[aria-pressed=true] .toggle-box{background:var(--fg)}.toggle[aria-pressed=true] .toggle-box:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border-right:2px solid var(--base);border-bottom:2px solid var(--base);transform:rotate(45deg)}.actions{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid color-mix(in srgb,var(--edge) 45%,transparent)}.actions .btn-link-danger{margin-left:auto}.confirm{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.picker{position:fixed;inset:0;z-index:10;background:var(--base);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.picker-head{display:flex;flex-wrap:wrap;gap:var(--s2);padding:var(--s4);border-bottom:1px solid color-mix(in srgb,var(--edge) 45%,transparent)}.picker-head .input{flex:1 1 10rem}.picker-head .btn{flex:none}.picker-filter{flex:1 1 100%}.picker-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 var(--s4) var(--s6);flex:1}.picker-group-name{margin:var(--s5) 0 var(--s2)}.picker-list{list-style:none;margin:0;padding:0;background:var(--surface);border-radius:12px;overflow:hidden}.picker-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);width:100%;min-height:44px;padding:var(--s2) var(--s4);text-align:left;background:none;border:0;cursor:pointer;transition:background var(--fast) var(--ease)}.picker-item+.picker-item{border-top:1px solid color-mix(in srgb,var(--edge) 30%,transparent)}.picker-item:hover{background:color-mix(in srgb,var(--edge) 22%,transparent)}.picker-item span:last-child{color:var(--dim);flex:none}.range-row{display:flex;gap:var(--s2);margin-bottom:var(--s5)}.range{min-height:44px;padding:0 var(--s4);border-radius:999px;border:1px solid color-mix(in srgb,var(--edge) 60%,transparent);background:transparent;color:var(--dim);cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.range:hover{border-color:var(--dim);color:var(--fg)}.range.on{background:var(--live);border-color:var(--live);color:var(--base);font-weight:600}.chart{margin:0 calc(var(--s2) * -1);min-width:0}.tooltip{background:var(--surface);border:1px solid var(--edge);border-radius:10px;padding:var(--s2) var(--s3);line-height:1.35}.tooltip-when{color:var(--dim)}.tooltip-score{font-size:var(--t-title)}.chart-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--s2);margin-top:var(--s4)}.stat{background:var(--surface);border-radius:12px;padding:var(--s3) var(--s4)}.stat-value{font-size:var(--t-title);display:block;margin-top:var(--s1)}.chart-note{color:var(--dim);margin-top:var(--s4)}.screen-head{padding:var(--s2) 0 var(--s5)}.screen-head .title{margin:var(--s1) 0 var(--s2)}.formula{font-weight:600;font-variant-numeric:tabular-nums;background:var(--surface);border-radius:10px;padding:var(--s3);margin:0;text-align:center;max-width:none}.constants{margin:var(--s4) 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--s3)}.constants dt{color:var(--dim);padding:var(--s3) 0;border-top:1px solid color-mix(in srgb,var(--edge) 30%,transparent)}.constants dd{margin:0;padding:var(--s3) 0;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;border-top:1px solid color-mix(in srgb,var(--edge) 30%,transparent)}.factors-head{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}.factors-head .input{flex:1 1 10rem;min-width:0}.factors-head .btn{flex:none}.factors-filter{flex:1 1 100%}.factor-group{margin-top:var(--s5)}.factor-group-name{margin-bottom:var(--s2)}.factor-list{list-style:none;margin:0;padding:0;background:var(--surface);border-radius:12px;overflow:hidden}.factor-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4)}.factor-row+.factor-row{border-top:1px solid color-mix(in srgb,var(--edge) 30%,transparent)}.factor-unit{color:var(--dim);margin-left:var(--s2)}.factor-value{font-variant-numeric:tabular-nums;font-weight:600;flex:none}.factor-value.zero{color:var(--dim);font-weight:400}.factors-empty{padding-top:var(--s4)}.signin{max-width:26rem;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:var(--s3);padding-block:var(--s6);padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom))}.signin-mark{font-stretch:125%;font-weight:800;font-size:var(--t-body);letter-spacing:.02em;color:var(--fg);margin-bottom:var(--s5)}.signin .display{font-size:clamp(2.25rem,11vw,3rem);font-stretch:112%;letter-spacing:-.03em;line-height:1.05}.signin-form{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s4)}.signin-form .btn{width:100%}.phone-group{display:flex;align-items:stretch}.phone-group .select{width:auto;flex:none;border-radius:10px 0 0 10px;font-variant-numeric:tabular-nums}.phone-group .input{flex:1;border-radius:0 10px 10px 0;border-left:0}.phone-group .select:focus-visible,.phone-group .input:focus-visible{position:relative;z-index:1}.code-input{font-size:var(--t-title);letter-spacing:.35em;font-weight:600}.signin-alt{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid color-mix(in srgb,var(--edge) 45%,transparent);color:var(--dim)}
