@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/oswald-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/oswald-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/oswald-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/oswald-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg: #0e1013;--surface: #171b20;--line: #262b32;--control: #2c333b;--hairline: #23282e;--fg: #f2f5f7;--fg-dim: #d5dade;--muted: #90999f;--muted-2: #7d868d;--accent: oklch(.8 .15 78);--accent-fg: #17130a;--accent-soft: oklch(.8 .15 78 / .14);--accent-line: oklch(.8 .15 78 / .34);--off-bg: #232930;--off-fg: #727b83;--up: oklch(.78 .13 150);--danger: oklch(.72 .15 32);--danger-bg: #211614;--danger-line: #4a2a24;--danger-fg: #eec7bd;--level-low-bg: oklch(.23 .03 150);--level-low-line: oklch(.36 .06 150);--level-low-fg: oklch(.86 .075 150);--level-mid-bg: oklch(.23 .03 115);--level-mid-line: oklch(.36 .062 115);--level-mid-fg: oklch(.86 .08 115);--level-high-bg: oklch(.23 .032 75);--level-high-line: oklch(.36 .065 75);--level-high-fg: oklch(.86 .085 75);--level-max-bg: oklch(.23 .034 32);--level-max-line: oklch(.36 .07 32);--level-max-fg: oklch(.86 .075 32);--ui: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--display: "Oswald", "Arial Narrow", sans-serif;--radius: 12px;--radius-card: 16px;--tap: 44px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--ui);font-size:16px;line-height:1.4;-webkit-text-size-adjust:100%}#root{display:flex;flex-direction:column;min-height:100dvh}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{display:flex;flex-direction:column;flex:1;width:100%;max-width:480px;margin:0 auto}.app__footer{display:flex;justify-content:center;padding:12px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--hairline)}.screen{display:flex;flex-direction:column;flex:1;padding:30px 20px 24px}.screen__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.screen__title{margin:0;font-family:var(--display);font-size:34px;font-weight:500;line-height:1.04;letter-spacing:.01em}.screen__title-kicker{display:block;font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.screen__title-main{display:block}.card{display:flex;flex-direction:column;gap:14px;margin-top:22px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.card__title{margin:0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.field{display:flex;flex-direction:column;gap:8px}.field>label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.field__note{margin:0;font-size:14px;color:var(--accent)}.field__link{margin-top:6px;color:var(--accent);font-size:14px;text-decoration:none}.field__hint{margin:6px 0 0;font-size:13px;color:var(--muted-2)}.input--area{height:auto;padding:10px 14px;line-height:1.45;resize:vertical}.field__warn{margin:0;font-size:14px;color:var(--danger)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stack{display:flex;flex-direction:column;gap:12px}.input{width:100%;height:54px;padding:0 16px;background:var(--bg);border:1px solid var(--control);border-radius:var(--radius);color:var(--fg);font-family:var(--ui);font-size:17px}.input::placeholder{color:#5f686f}.input--number{height:68px;font-family:var(--display);font-size:34px;font-weight:500;font-variant-numeric:tabular-nums}.input--code{height:68px;font-family:var(--display);font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:.18em;text-align:center}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.select{width:100%;height:54px;padding:0 46px 0 16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2390999f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;border:1px solid var(--control);border-radius:var(--radius);color:var(--fg);font-family:var(--ui);font-size:17px;font-weight:500}.select option,.select optgroup{background:var(--surface);color:var(--fg)}.select:invalid{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:0 20px;border:none;border-radius:var(--radius);font-family:var(--ui);font-size:17px;font-weight:600;cursor:pointer}.btn--primary{width:100%;height:56px;background:var(--accent);color:var(--accent-fg)}.btn--primary:disabled{background:var(--off-bg);color:var(--off-fg);cursor:default}.btn--ghost{height:var(--tap);padding:0 18px;background:transparent;color:var(--muted-2);font-size:15px;font-weight:500}.btn--danger{color:var(--danger)}.btn--compact{width:auto;min-height:38px;height:38px;padding:0 14px;font-size:15px;white-space:nowrap}.btn--icon{flex:0 0 auto;width:var(--tap);height:var(--tap);min-height:0;margin-right:-10px;padding:0;background:transparent;border-radius:10px;color:var(--muted-2)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.chip{min-height:var(--tap);padding:0 16px;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--fg-dim);font-family:var(--ui);font-size:15px;font-weight:500;cursor:pointer}.chip--on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.group{margin:0;padding:0;border:none}.group legend{padding:0;color:var(--fg);font-family:var(--ui);font-size:15px;font-weight:600}.group .chips{margin-top:8px}.chip--num{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);padding:0}.chips--scroll{flex-wrap:nowrap;margin:18px -20px 0;padding:0 20px;overflow-x:auto;scrollbar-width:none}.chips--scroll .chip{flex:0 0 auto;min-height:36px;white-space:nowrap}.chip--add{display:inline-flex;align-items:center;justify-content:center;width:36px;padding:0;border-style:dashed;border-color:var(--control);color:var(--muted)}.client .chip{flex:0 0 auto;min-height:0;padding:4px 10px;font-size:13px}.cards{list-style:none;display:flex;flex-direction:column;gap:12px;margin:22px 0 0;padding:0}.cards+.btn{margin-top:18px}.tpl{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);color:var(--fg);font-family:var(--ui);text-align:left;cursor:pointer}.tpl:active:not(:disabled){background:var(--control)}.swipe{position:relative;overflow:hidden;border-radius:var(--radius-card)}.swipe__card{position:relative;touch-action:pan-y;will-change:transform;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.swipe__delete{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:0;padding:0;overflow:hidden;background:transparent;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.swipe__delete-circle{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:var(--tap);height:var(--tap);border-radius:999px;background:var(--control);color:var(--danger)}.swipe__delete:active .swipe__delete-circle{background:var(--danger);color:var(--accent-fg)}.stack--confirm{margin-top:10px}.tpl:disabled{color:var(--off-fg);background:var(--off-bg);border-color:transparent;cursor:default}.tpl:disabled .chip--read{color:var(--off-fg);border-color:var(--off-bg)}.tpl__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%}.tpl__aside{flex:none;color:var(--muted);font-size:13px;white-space:nowrap}.tpl__name{font-size:17px;font-weight:500}.tpl__when{align-self:flex-end;margin-top:10px;color:var(--muted);font-size:13px}.tpl__note{max-width:100%;margin-top:8px;color:var(--muted);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip--read{min-height:0;padding:4px 10px;font-size:13px;cursor:default}.chips--tight{margin-top:6px}.chip--level{display:inline-flex;align-items:center;padding:4px 9px;color:var(--fg-dim)}.chip--icon{display:inline-flex;align-items:center;padding:4px 8px}.chip--level.chip--level-low{background:var(--level-low-bg);border-color:var(--level-low-line);color:var(--level-low-fg)}.chip--level.chip--level-mid{background:var(--level-mid-bg);border-color:var(--level-mid-line);color:var(--level-mid-fg)}.chip--level.chip--level-high{background:var(--level-high-bg);border-color:var(--level-high-line);color:var(--level-high-fg)}.chip--level.chip--level-max{background:var(--level-max-bg);border-color:var(--level-max-line);color:var(--level-max-fg)}.chip--pick{min-height:var(--tap);padding:0 14px;opacity:.42}.chip--pick[aria-pressed=true]{opacity:1;border-color:currentColor}.chip--live{display:inline-flex;align-items:center;gap:7px;min-height:0;padding:4px 11px 4px 9px;background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;cursor:inherit}.chip--live:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%;animation:live-pulse 1.6s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.72)}}@media (prefers-reduced-motion: reduce){.chip--live:before{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.stack--tight{gap:2px}.timer{display:flex;align-items:center;justify-content:space-between;gap:12px}.timer__value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 10px}.section-head__title{margin:0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.section-head__count{font-family:var(--display);font-size:22px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--accent)}.list{list-style:none;margin:0;padding:0}.list>li{display:flex;align-items:center;gap:8px;min-height:58px;border-top:1px solid var(--hairline)}.list>li:last-child{border-bottom:1px solid var(--hairline)}.set__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:500}.set__value{flex:0 0 auto;font-family:var(--display);font-size:20px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--fg-dim)}.plan{font-family:var(--ui);font-size:15px;font-variant-numeric:tabular-nums;color:var(--fg-dim);white-space:normal;word-break:normal}.plan__set--done{color:var(--muted)}.row--group{align-items:flex-start}.row--group .row__num{padding-top:0}.done-sets{list-style:none;display:flex;flex-direction:column;gap:2px;margin:4px 0 0;padding:0}.done-set{display:flex;align-items:baseline;gap:8px}.done-set__num{flex:0 0 14px;font-family:var(--ui);font-size:12px;color:var(--muted-2);text-align:right}.set-delta{display:inline-flex;gap:6px;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.set-delta__part+.set-delta__part:before{content:"·";margin-right:6px;color:var(--muted-2)}.set-delta__part--up{color:var(--up)}.set-delta__part--down{color:var(--danger)}.client{display:flex;align-items:center;gap:14px;width:100%;min-height:68px;padding:0;background:transparent;border:none;border-radius:10px;color:var(--fg);font-family:var(--ui);font-size:17px;font-weight:500;text-align:left;cursor:pointer}.client__avatar{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;overflow:hidden;border:1px solid var(--control);border-radius:50%;background:#1e242a;color:#b9c1c7;font-family:var(--display);font-size:17px;font-weight:500;object-fit:cover}.client__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prof__top{display:flex;align-items:center;justify-content:space-between}.prof__top--end{justify-content:flex-end}.avatar{display:flex;align-items:center;justify-content:center;align-self:center;width:92px;height:92px;margin-top:18px;border:1px solid var(--control);border-radius:50%;background:#1e242a;color:#b9c1c7;font-family:var(--display);font-size:32px;font-weight:500}.prof__name{display:flex;align-items:center;align-self:center;gap:2px;margin-top:14px}.prof__name h1{margin:0;font-family:var(--display);font-size:24px;font-weight:500;text-align:center}.prof__coach{display:flex;flex-direction:column;align-items:center;align-self:center;gap:4px;margin-top:22px}.prof__coach-label{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.prof__coach-name{font-family:var(--display);font-size:20px;font-weight:500;color:var(--fg-dim)}.prof__rename{display:grid;gap:12px;width:100%;margin-top:18px}.prof__danger{display:grid;gap:10px;width:100%;margin-top:36px;padding-top:18px;border-top:1px solid var(--hairline)}.prof__top~.chips{align-self:center;justify-content:center}.counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.count{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.count__n{font-family:var(--display);font-size:28px;font-weight:500;font-variant-numeric:tabular-nums}.count__l{font-size:13px;color:var(--muted)}.empty{margin:0;padding:22px 0;border-top:1px solid var(--hairline);font-size:15px;line-height:1.5;color:var(--muted);text-wrap:pretty}.screen__back{align-self:flex-start;margin:0 0 8px -18px}.toggle{display:flex;align-items:center;gap:12px;min-height:var(--tap);margin-top:16px;font-size:15px;color:var(--fg-dim)}.toggle input{width:22px;height:22px;accent-color:var(--accent)}.days{display:flex;gap:20px;margin:18px -20px 0;padding:0 20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.days::-webkit-scrollbar{display:none}.days--fill{flex:1 0 auto}.days>.day{display:flex;flex-direction:column;gap:10px;flex:0 0 100%;scroll-snap-align:center}.days .card{margin-top:0}.rows{list-style:none;margin:0;padding:0}.row{display:flex;align-items:flex-start;gap:8px;padding:10px 0;border-top:1px solid var(--hairline)}.row__num{flex:0 0 20px;padding-top:14px;font-family:var(--display);font-size:17px;color:var(--muted);text-align:right}.row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.row__body--read{flex-direction:column;align-items:flex-start;gap:4px;padding-top:12px}.sets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.set-row{display:grid;grid-template-columns:18px minmax(0,1fr) minmax(0,1fr) var(--tap);gap:8px;align-items:center}.set-row__num{font-family:var(--ui);font-size:12px;color:var(--muted);text-align:right}.task{padding:0;background:transparent;border:none;color:var(--fg);font-family:var(--ui);font-size:17px;text-align:left;cursor:pointer}.task__head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.task__head .client__name{flex:1 1 auto;overflow:visible;text-overflow:clip;white-space:normal}.task__head .chip{flex:0 0 auto;white-space:nowrap}.sets--read{gap:4px;width:100%}.set-read{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:baseline;font-family:var(--ui);font-size:15px;font-variant-numeric:tabular-nums;color:var(--fg-dim)}.set-read--done{color:var(--muted)}.set-row .input{height:var(--tap);padding:0 10px;font-size:16px;text-align:center}.set-row__remove{width:var(--tap);height:var(--tap);margin:0}.set-add{display:flex;align-items:center;justify-content:center;align-self:flex-start;width:var(--tap);height:var(--tap);margin-left:26px;padding:0;background:transparent;border:1px dashed var(--control);border-radius:999px;color:var(--muted);cursor:pointer}.set-add:active{background:var(--control)}.day__add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:72px;padding:10px 6px;background:transparent;border:1px dashed var(--control);border-radius:var(--radius-card);color:var(--muted);font:inherit;cursor:pointer}.sheet{display:flex;flex-direction:column;gap:14px;margin-top:16px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.sheet--modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;max-width:480px;margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));border:none;border-radius:0;overflow-y:auto;background:var(--bg);animation:sheet-rise .32s cubic-bezier(.32,.72,0,1)}@keyframes sheet-rise{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.sheet--modal{animation:none}}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.qr{align-self:center;padding:12px;background:#fff;border-radius:10px}.qr svg{display:block;width:240px;height:240px}.qr__code{margin:0;font-family:var(--display);font-size:30px;letter-spacing:.18em;text-align:center}.alert{display:flex;gap:10px;margin:0;padding:14px 16px;background:var(--danger-bg);border:1px solid var(--danger-line);border-radius:var(--radius);font-size:14px;line-height:1.45;color:var(--danger-fg);text-wrap:pretty}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:18px;width:100%;max-width:480px;margin:0 auto;padding:32px 28px;text-align:center}.state__icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border:1px solid var(--control);border-radius:50%;background:var(--surface)}.state__icon--danger{border-color:var(--danger-line);background:#1c1512}.state__icon--accent{border-color:#3a3524;background:#1b1a12}.state__title{margin:0;font-family:var(--display);font-size:28px;font-weight:500;line-height:1.1;text-transform:uppercase}.state__detail{margin:0;max-width:100%;overflow-wrap:anywhere;font-size:13px;color:var(--muted-2)}.state__text{margin:0;font-size:16px;line-height:1.55;color:#b9c1c7;text-wrap:pretty}.list+.alert{margin-top:16px}.state .alert{text-align:left}.state .btn--primary{max-width:340px}.loader{width:132px;height:3px;overflow:hidden;border-radius:3px;background:#1e242a}.loader>span{display:block;width:42%;height:3px;border-radius:3px;background:var(--accent);animation:loader-slide 1.15s cubic-bezier(.65,0,.35,1) infinite}@keyframes loader-slide{0%{transform:translate(-100%)}to{transform:translate(240%)}}@media (prefers-reduced-motion: reduce){.loader>span{width:100%;opacity:.45;animation:none}}.loading{margin:0;font-size:15px;color:var(--muted)}.login{display:flex;flex-direction:column;flex:1;width:100%;max-width:480px;margin:0 auto;padding:96px 24px 32px}.login__title{margin:0;font-family:var(--display);font-size:42px;font-weight:500;line-height:.98;letter-spacing:.01em;text-transform:uppercase}.login__rule{width:52px;height:3px;margin:14px 0;background:var(--accent)}.login__hint{margin:0 0 44px;font-size:15px;line-height:1.5;color:var(--muted);text-wrap:pretty}.login .field{margin-bottom:16px}.login .alert{margin-top:16px}.start__choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.btn--choice{flex-direction:column;min-height:132px;padding:18px 14px;background:var(--surface);border:1px solid var(--line);color:var(--fg);font-size:16px;line-height:1.3;text-wrap:balance}.btn--choice:disabled{color:var(--off-fg);cursor:default}.scanner{position:relative;overflow:hidden;aspect-ratio:1 / 1;margin-bottom:16px;background:#000;border-radius:var(--radius-card)}.scanner__video{display:block;width:100%;height:100%;object-fit:cover}.scanner__frame{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:2px solid var(--accent);border-radius:12px}.strength__exercise{margin:8px 0 0;font-family:var(--display);font-size:22px;font-weight:500;line-height:1.15;color:var(--fg-dim)}.strength__hero{display:flex;flex-direction:column;gap:2px;margin-top:18px}.strength__value{font-family:var(--display);font-size:40px;font-weight:500;line-height:1.05;font-variant-numeric:tabular-nums}.strength__chart{display:block;width:100%;height:auto;margin-top:14px;overflow:visible}.strength__grid{stroke:var(--hairline);stroke-width:1}.strength__line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.strength__dot{fill:var(--accent);stroke:var(--bg);stroke-width:2}.strength__dot--on{fill:var(--fg)}.strength__hit{fill:transparent;cursor:pointer}.strength__axis{font-family:var(--ui);font-size:11px;fill:var(--muted-2)}.strength__note{margin:12px 0 0;font-size:13px;line-height:1.45;color:var(--muted-2)}.strength__list{margin-top:18px}.calib{display:grid;gap:10px;margin-top:14px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.calib__count{margin:0;font-family:var(--display);font-size:22px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--fg-dim)}.calib__count b{color:var(--accent);font-weight:500}.calib__bar{height:8px;border-radius:999px;background:#232930;overflow:hidden}.calib__bar span{display:block;height:100%;background:var(--accent);transition:width .3s ease-out}.calib__text{margin:0;font-size:14px;line-height:1.5;color:var(--fg-dim)}.calib__note{margin:0;font-size:13px;line-height:1.45;color:var(--muted-2)}@media (prefers-reduced-motion: reduce){.calib__bar span{transition:none}}.muscle-map{display:grid;gap:4px;margin-top:14px}.muscle-map svg{display:block;width:100%;height:auto;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.muscle-map__body{fill:#474d56}.muscle-map__zone{fill:#5f6771;stroke:transparent;stroke-width:10;stroke-linejoin:round;cursor:pointer;outline:none;transition:fill .18s ease-out}.muscle-map__zone--empty{fill:#353a42}.muscle-map__zone--on{fill:var(--accent)}.muscle-map__zone--drop{animation:zone-drop 1.6s ease-in-out infinite}.muscle-map__zone--drop.muscle-map__zone--on{animation-name:zone-drop-on}@keyframes zone-drop{0%,to{fill:#5f6771}50%{fill:#bf5542}}@keyframes zone-drop-on{0%,to{fill:#f2b036}50%{fill:#f47d67}}.chip__drop{width:7px;height:7px;border-radius:50%;background:var(--danger)}@media (prefers-reduced-motion: reduce){.muscle-map__zone{transition:none}.muscle-map__zone--drop{animation:none;fill:#bf5542}.muscle-map__zone--drop.muscle-map__zone--on{fill:var(--accent)}}.muscle-map__sides{display:grid;grid-template-columns:1fr 1fr;text-align:center;font-size:12px;letter-spacing:.06em;color:var(--muted-2)}.muscle-map__chips{margin-top:14px;gap:6px}.muscle-map__group{margin:20px 0 10px;font-family:var(--display);font-size:20px;font-weight:500}.chip--count{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:14px}.chip__count{color:var(--muted-2);font-variant-numeric:tabular-nums}.chip--on .chip__count{color:var(--accent-fg);opacity:.7}.chip--muted:not(.chip--on){color:var(--muted-2)}.lifts{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}.lift{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);color:var(--fg);font-family:var(--ui);text-align:left;cursor:pointer}.lift:active{background:var(--control)}.lift__name{font-size:16px;font-weight:500;min-width:0}.lift__side{display:flex;flex-direction:column;align-items:flex-end;flex:none}.lift__max{font-family:var(--display);font-size:19px;font-weight:500;font-variant-numeric:tabular-nums}.lift__meta{font-size:12px;color:var(--muted-2);font-variant-numeric:tabular-nums}.lift__gain--up{color:var(--up)}.lift__gain--down{color:var(--danger)}.mtag{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:999px;color:var(--accent);font-family:var(--ui);font-size:13px;font-weight:500;cursor:pointer}.mpick{display:flex;flex-direction:column;gap:8px}.mpick__ask{font-size:13px;color:var(--muted)}.mpick__chips{display:flex;flex-wrap:wrap;gap:6px}.suggest{position:relative}.suggest__list{position:absolute;top:100%;left:0;right:0;z-index:2;list-style:none;margin:4px 0 0;padding:4px;max-height:180px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 28px #00000080}.suggest__item{display:block;width:100%;min-height:40px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--fg-dim);font-family:var(--ui);font-size:15px;text-align:left;cursor:pointer}.suggest__item:active{background:var(--control)}.cycbar{display:flex;gap:2px;margin-top:16px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:999px;overflow-x:auto;scrollbar-width:none}.cycbar__btn{flex:1 1 0;min-width:96px;min-height:36px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-family:var(--ui);font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-tap-highlight-color:transparent;transition:color .24s cubic-bezier(.32,.72,0,1),background-color .24s cubic-bezier(.32,.72,0,1)}.cycbar__btn--on{background:var(--accent-soft);color:var(--accent)}@media (prefers-reduced-motion: reduce){.cycbar__btn{transition:none}}.cyclist{display:flex;flex-direction:column;gap:12px}.cyclist__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cyclist__item{display:flex;align-items:center;gap:6px}.cyclist__item .input{flex:1;min-width:0}.cyclist__item--drag{position:relative;z-index:1;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 8px 20px #00000073;outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.cyclist--dragging .input,.cyclist--dragging .btn{pointer-events:none}.cyclist--held,.cyclist--held .input,.cyclist__item{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.cyclist__item .input{user-select:text;-webkit-user-select:text}.cyclist__add{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:var(--accent);color:var(--accent-fg);cursor:pointer;-webkit-tap-highlight-color:transparent}.tabbar{position:relative;display:flex;gap:4px;margin:0 12px calc(12px + env(safe-area-inset-bottom));padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px}.tabbar__pill{position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 12px - (var(--tab-n) - 1) * 4px) / var(--tab-n));transform:translate(calc(var(--tab-i) * (100% + 4px)));background:var(--accent-soft);border-radius:999px;pointer-events:none;transition:transform .34s cubic-bezier(.32,.72,0,1)}.tab{position:relative;z-index:1;flex:1 1 0;display:flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .24s cubic-bezier(.32,.72,0,1)}.tab--on{color:var(--accent)}.tab:active:not(.tab--on){background:var(--control)}.tab__glyph{display:flex}.tab__glyph--play{animation:tab-pop .45s cubic-bezier(.32,.72,0,1)}.tab[data-tab=templates] .tab__glyph--play,.tab[data-tab=workouts] .tab__glyph--play{animation:tab-flip .5s ease-in-out}.tab[data-tab=stats] .tab__glyph--play{transform-origin:bottom;animation:tab-rise .45s cubic-bezier(.32,.72,0,1)}@keyframes tab-pop{0%{transform:scale(1)}30%{transform:scale(.82)}60%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes tab-flip{0%{transform:perspective(70px) rotateY(0)}to{transform:perspective(70px) rotateY(360deg)}}@keyframes tab-rise{0%{transform:scaleY(1)}35%{transform:scaleY(.55)}70%{transform:scaleY(1.18)}to{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){.tabbar__pill,.tab{transition:none}.tab__glyph--play{animation:none}}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:4px}.action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:72px;padding:10px 6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--fg-dim);font:inherit;cursor:pointer}.action:active:not(:disabled){background:var(--control)}.action__label{font-size:12px;line-height:1.2;text-align:center}.action__soon{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.action:disabled{color:var(--off-fg);background:var(--off-bg);border-color:transparent;cursor:default}.action--primary:not(:disabled){background:var(--accent);border-color:transparent;color:var(--accent-fg)}.update{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--accent-line)}.update__text{font-size:14px;color:var(--fg-dim)}.update__btn{flex:none;width:auto;min-height:36px;padding:0 14px;font-size:14px}.privacy{width:100%;margin-top:28px}.privacy__toggle{padding:0;background:none;border:0;color:var(--muted);font-family:var(--ui);font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.privacy__body{display:grid;gap:10px;margin-top:12px;color:var(--muted-2);font-size:14px;line-height:1.5;text-align:left}.privacy__body p{margin:0}.sheet__pick{display:grid;gap:8px}.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;color:var(--fg-dim);cursor:pointer}.check input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--accent)}.check__link{padding:0;background:none;border:0;color:var(--accent);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.agreement{padding-bottom:40px}.agreement__meta{margin:6px 0 0;font-size:13px;color:var(--muted-2)}.agreement h2{margin:26px 0 8px;font-family:var(--display);font-size:18px;font-weight:500}.agreement p{margin:0 0 10px;font-size:15px;line-height:1.55;color:var(--fg-dim)}
