@font-face{font-family:Vazirmatn FD;src:url(/fonts/vazirmatn-fd/Vazirmatn-FD-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/fonts/vazirmatn-fd/Vazirmatn-FD-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/fonts/vazirmatn-fd/Vazirmatn-FD-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/fonts/vazirmatn-fd/Vazirmatn-FD-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/fonts/vazirmatn-fd/Vazirmatn-FD-ExtraBold.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--ink:#15151a;--surface:#1c1c22;--surface-2:#232329;--line:#34343c;--chalk:#eeece4;--steel:#8b8d97;--steel-dim:#5c5d66;--red:#d5342c;--red-ink:#2a1210;--blue:#1f66c7;--blue-ink:#0e1a2c;--yellow:#e7b431;--green:#2f8f5b;color:var(--chalk);background:var(--ink);font-synthesis:none;font-family:Vazirmatn FD,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--ink);margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}input{background:0 0;border:0}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;font-family:Vazirmatn FD,system-ui,sans-serif}.auth{text-align:center;flex-direction:column;align-items:center;max-width:380px;min-height:100vh;margin:auto;padding:64px 26px 40px;display:flex}.auth-mark{border:3px solid var(--red);width:60px;height:60px;color:var(--red);border-radius:50%;justify-content:center;align-items:center;margin-bottom:22px;display:flex}.auth h1{margin:0;font-size:26px}.auth p{color:var(--steel);margin:8px 0 36px;font-size:14px}.auth form{flex-direction:column;gap:12px;width:100%;display:flex}.auth label{text-align:right;color:var(--steel);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:12px;display:block}.auth label input{width:100%;color:var(--chalk);outline:0;padding-top:6px;font-size:16px;display:block}.auth .error{color:var(--red);text-align:right;font-size:12px;display:block}.auth button{background:var(--red);color:var(--chalk);border-radius:10px;margin-top:10px;padding:14px;font-weight:700}.auth button:disabled{opacity:.5}.auth>small{color:var(--steel-dim);margin-top:22px;font-size:11px}.app{max-width:540px;min-height:100vh;margin:auto;padding:22px 18px 100px}header{justify-content:space-between;align-items:center;display:flex}.brand{color:var(--red);align-items:center;gap:8px;font-weight:700;display:flex}.logout{color:var(--steel);padding:6px;font-size:12px}small{color:var(--steel);font-size:12px}.session-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:16px;margin:30px 0 20px;padding-bottom:16px;display:flex}.session-bar .session-line{color:var(--steel);font-size:13px}.session-bar .step-line{margin-top:5px;font-size:19px;font-weight:700;display:block}.session-duration{color:var(--steel);align-items:center;gap:5px;font-size:13px;display:flex}.plates{align-items:center;gap:5px;display:flex}.plates i{border:2px solid var(--steel-dim);background:0 0;border-radius:50%;width:13px;height:13px;display:block}.plates i.filled{border-color:var(--red);background:var(--red)}.plates i.current{border-color:var(--blue);width:15px;height:15px}.rest{background:var(--blue);color:var(--chalk);text-align:center;border-radius:12px;margin:14px 0;padding:16px 20px}.rest span{color:#cfe0f7;font-size:12px}.rest b{letter-spacing:1px;direction:ltr;margin:4px 0;font-family:Vazirmatn FD,system-ui,sans-serif;font-size:40px;font-weight:600;display:block}.rest-pulse{animation:1s ease-in-out infinite rest-pulse}@keyframes rest-pulse{0%,to{color:var(--chalk);transform:scale(1)}50%{color:#ffd7d7;transform:scale(1.12)}}.rest div{justify-content:center;gap:8px;margin-top:6px;display:flex}.rest button{background:var(--blue-ink);color:var(--chalk);border-radius:8px;align-items:center;gap:4px;padding:8px 12px;font-size:12px;display:flex}.rest .quiet{background:#ffffff2b}.gym-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;animation:.3s card-slide-in}@keyframes card-slide-in{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.set-progress{padding:16px 20px 0}.set-progress-numbers{color:var(--steel);align-items:baseline;gap:4px;margin-bottom:8px;font-size:13px;display:flex}.set-progress-numbers .num:first-child{color:var(--chalk);font-size:30px;font-weight:700}.set-progress-bar{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.set-progress-bar i{background:var(--red);border-radius:4px;height:100%;transition:width .3s;display:block}.exercise-head{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:18px 20px;display:flex}.step{color:var(--red);border-left:2px solid var(--red);padding-left:14px;font-family:Vazirmatn FD,system-ui,sans-serif;font-size:20px;font-weight:600;line-height:1}.exercise-head h1{margin:0;font-size:22px}.exercise-head p{color:var(--steel);text-align:right;direction:ltr;margin:3px 0 0;font-size:13px}.meta{flex-wrap:wrap;gap:0;padding:0 20px;display:flex}.meta span{color:var(--steel);align-items:center;gap:5px;margin-left:18px;padding:12px 0;font-size:12px;display:flex}.previous{border-right:3px solid var(--yellow);margin:0 20px 20px;padding:7px 12px}.previous small,.previous b{display:block}.previous b{color:var(--chalk);margin-top:4px;font-size:13px;font-weight:500}.set-row{grid-template-columns:1fr;gap:10px;padding:0 20px;display:grid}.set-row label{background:var(--ink);border:1px solid var(--line);color:var(--steel);border-radius:10px;padding:9px 12px;font-size:11px;display:block}.set-row label.invalid{border-color:var(--red)}.set-row input{text-align:center;direction:ltr;background:0 0;outline:0;width:100%;padding-top:6px;font-family:Vazirmatn FD,system-ui,sans-serif;font-size:24px;font-weight:600;display:block}.set-row em{color:var(--steel-dim);font-size:10px;font-style:normal}.weight-stepper{grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;display:grid}.step-btn{background:var(--surface-2);border:1px solid var(--line);width:44px;height:44px;color:var(--chalk);border-radius:10px;font-size:22px;font-weight:700;line-height:1}.step-btn:disabled{opacity:.4}.complete{background:var(--red);width:calc(100% - 40px);color:var(--chalk);border-radius:10px;justify-content:center;gap:8px;margin:16px 20px 0;padding:15px;font-weight:700;display:flex}.complete:disabled{opacity:.5}.complete.finish{background:var(--green);width:100%;margin:18px 0 0}.sync{text-align:center;color:var(--steel);margin:8px 0 0;display:block}.gym-card .sync{margin:8px 20px 0}.sync.error{color:var(--red)}.demo{color:var(--steel);border-top:1px solid var(--line);justify-content:center;align-items:center;gap:7px;margin:16px 20px 20px;padding-top:16px;font-size:13px;text-decoration:none;display:flex}.rir{flex-wrap:wrap;gap:6px;margin:18px 20px 20px;display:flex}.rir span{width:100%;color:var(--steel);font-size:12px}.rir button{color:var(--chalk);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:11px}.rir .picked{background:var(--green);border-color:var(--green)}.controls{justify-content:space-between;margin:20px 4px 0;display:flex}.controls button{color:var(--steel);align-items:center;gap:3px;padding:8px;font-size:14px;display:flex}.controls button:disabled{opacity:.28}.bottom{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--line);background:#1c1c22ee;justify-content:space-around;align-items:stretch;max-width:540px;height:64px;margin:auto;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom button{color:var(--steel-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:11px;display:flex}.bottom button.active{color:var(--red)}.home-screen{flex-direction:column;display:flex}.home-tab{grid-template-columns:1fr 1fr;gap:10px;margin:30px 0;display:grid}.home-stat{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:14px;grid-column:span 1;padding:16px}.home-stat small{display:block}.home-stat strong{margin:8px 0 2px;font-size:30px;font-weight:600;display:block}.home-stat span{color:var(--steel);font-size:12px}.home-tab .complete{grid-column:span 2;width:100%;margin:0}.next-session-card{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:16px;margin-bottom:12px;padding:20px}.next-session-card>small{color:var(--steel);font-size:12px}.next-session-card>strong{margin:6px 0 4px;font-size:22px;display:block}.next-session-card>span{color:var(--steel);font-size:13px;display:block}.next-session-meta{margin-top:2px}.next-session-card .complete{width:100%;margin:16px 0 0}.membership-pending{background:var(--surface);border:1px dashed var(--line);text-align:center;border-radius:16px;margin-bottom:12px;padding:28px 20px 24px}.membership-pending-ring-wrap{justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 18px;display:flex;position:relative}.membership-pending-ring{animation:16s linear infinite membership-ring-turn;position:absolute;inset:0}.membership-pending-ring-track{fill:none;stroke:var(--steel-dim);stroke-width:6px;stroke-linecap:round;stroke-dasharray:2 11}@keyframes membership-ring-turn{to{transform:rotate(360deg)}}.membership-pending-icon{color:var(--steel-dim);position:relative}.membership-pending strong{margin:0 0 8px;font-size:16px;display:block}.membership-pending p{color:var(--steel);max-width:260px;margin:0 auto 18px;font-size:13px;line-height:1.9}.membership-pending-tag{border:1px solid var(--line);color:var(--steel);border-radius:999px;align-items:center;gap:6px;padding:9px 16px;font-size:12px;display:inline-flex}.consistency{margin-bottom:26px}.consistency>small{margin-bottom:12px;display:block}.consistency-row{justify-content:space-between;gap:6px;display:flex}.consistency-bar{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.consistency-bar b{color:var(--chalk);font-size:12px;font-weight:600}.bar-track{align-items:flex-end;width:100%;height:50px;display:flex}.consistency-bar i{background:var(--red);border-radius:4px 4px 0 0;width:100%;min-height:4px;display:block}.consistency-bar span{color:var(--steel-dim);font-size:10px}.weight-tab{margin:26px 0}.weight-form{align-items:stretch;gap:10px;margin-bottom:22px;display:flex}.weight-form label{background:var(--surface);border:1px solid var(--line);color:var(--steel);border-radius:10px;flex:1;padding:10px 14px;font-size:12px;display:block}.weight-form input{width:100%;color:var(--chalk);text-align:right;direction:ltr;outline:0;padding-top:4px;font-size:16px;display:block}.weight-form button{background:var(--red);color:var(--chalk);white-space:nowrap;border-radius:10px;padding:0 20px;font-weight:700}.weight-form button:disabled{opacity:.5}.weight-list{margin:0;padding:0;list-style:none}.weight-list li{border-bottom:1px solid var(--line);color:var(--steel);justify-content:space-between;align-items:center;padding:14px 0;font-size:13px;display:flex}.weight-list b{color:var(--chalk);font-weight:600}.trend-tab{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.trend-tab h2{margin:0 0 12px;font-size:15px}.trend-tab select{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--chalk);font:inherit;border-radius:10px;margin-bottom:16px;padding:10px 12px;font-size:13px;display:block}.trend-hint{color:var(--steel);margin:-6px 0 14px;font-size:12px}.trend-empty{color:var(--steel);font-size:13px}.trend-chart{width:100%;height:110px;margin-bottom:6px;display:block}.calendar-tab,.profile-tab{margin:26px 0}.session-list{margin:0;padding:0;list-style:none}.session-list li{border-bottom:1px solid var(--line)}.session-row{text-align:right;justify-content:space-between;align-items:center;width:100%;padding:14px 0;display:flex}.session-row:disabled{cursor:default}.session-row>div{flex-direction:column;gap:4px;display:flex}.session-list b{font-size:13px;font-weight:600}.session-list span{color:var(--steel);font-size:12px}.session-list .status{background:var(--surface-2);color:var(--steel);border-radius:7px;padding:5px 10px;font-size:11px;font-style:normal}.session-list .status.state-complete{background:var(--green);color:var(--chalk)}.session-list .status.state-incomplete{background:var(--yellow);color:var(--ink)}.session-list .status.state-cancelled{color:var(--steel-dim)}.correction-panel{padding:4px 0 18px}.correction-panel>small{color:var(--steel);margin-bottom:12px;line-height:1.8;display:block}.correction-row{grid-template-columns:1fr 70px 70px auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}.correction-row span{color:var(--chalk);font-size:12px}.correction-row input{background:var(--ink);border:1px solid var(--line);color:var(--chalk);text-align:center;direction:ltr;border-radius:8px;padding:7px 8px;font-size:12px}.correction-row button{background:var(--blue);color:var(--chalk);white-space:nowrap;border-radius:8px;padding:7px 10px;font-size:12px}.correction-panel .quiet{color:var(--steel);padding:8px 0;font-size:12px}.profile-tab .home-tab{margin-top:0}.display-name-field{align-items:flex-end;gap:10px;margin-bottom:20px;display:flex}.display-name-field label{color:var(--steel);flex:1;font-size:11px;display:block}.display-name-field input{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;margin-top:6px;padding:11px 12px;font-size:14px;display:block}.display-name-field button{background:var(--blue);white-space:nowrap;border-radius:10px;padding:11px 16px;font-size:13px}.password-form{border-top:1px solid var(--line);margin:26px 0;padding-top:22px}.password-form h2{margin:0 0 12px;font-size:15px}.password-form label{color:var(--steel);margin-bottom:10px;font-size:11px;display:block}.password-form input{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;margin-top:6px;padding:11px 12px;font-size:14px;display:block}.password-form button{background:var(--blue);border-radius:10px;width:100%;margin-top:4px;padding:12px;font-weight:600}.password-form button:disabled{opacity:.5}.settings-group{border-top:1px solid var(--line);margin:26px 0;padding-top:22px}.settings-group h2{margin:0 0 12px;font-size:15px}.toggle-row{background:var(--surface);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;padding:12px 14px;font-size:13px;display:flex}.toggle-row i{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;width:36px;height:20px;transition:background .2s;display:block;position:relative}.toggle-row i:after{content:"";background:var(--steel);border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;position:absolute;top:1px;right:1px}.toggle-row.on i{background:var(--green);border-color:var(--green)}.toggle-row.on i:after{background:var(--chalk);transform:translate(-16px)}.export-link{width:100%;color:var(--steel);justify-content:center;align-items:center;gap:6px;margin-top:6px;padding:10px;font-size:12px;display:flex}.previous.suggestion{border-color:var(--blue);margin-top:0}.warning{background:var(--surface);border:1px solid var(--yellow);color:var(--yellow);border-radius:10px;align-items:center;gap:8px;margin:14px 0;padding:12px 16px;font-size:12px;display:flex}.empty-tab{text-align:center;color:var(--steel);padding:80px 24px 0}.empty-tab svg{color:var(--steel-dim);margin-bottom:14px}.empty-tab h2{color:var(--chalk);margin:0 0 8px;font-size:17px}.empty-tab p{max-width:280px;margin:0 auto;font-size:13px;line-height:1.8}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.timed-set{flex-direction:column;align-items:center;gap:14px;margin:18px 20px 0;display:flex}.timed-set b{font-size:40px}.timed-set .complete{width:auto;margin:0;padding:12px 40px}.skip{text-align:center;width:calc(100% - 40px);color:var(--steel);margin:8px 20px 20px;font-size:13px;display:block}.skip-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;margin:8px 20px 20px;padding:14px}.skip-panel>span{color:var(--steel);margin-bottom:10px;font-size:13px;display:block}.skip-reasons{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.skip-reasons button{color:var(--chalk);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12px}.skip-custom{gap:8px;margin-bottom:10px;display:flex}.skip-custom input{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex:1;padding:8px 10px}.skip-custom button{background:var(--blue);border-radius:8px;padding:8px 14px}.skip-custom button:disabled{opacity:.5}.early-finish{text-align:center;width:100%;color:var(--steel);margin-top:14px;font-size:13px;display:block}.wrap-up{padding:20px}.wrap-up h1{margin:0 0 6px;font-size:20px}.wrap-up>p{color:var(--steel);margin:0 0 18px;font-size:13px}.wrap-up-list{flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.wrap-up-item{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px}.wrap-up-item-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.wrap-up-item-head .skipped{color:var(--yellow);font-size:12px}.wrap-up-item .rir{margin:0}.home-header{margin-bottom:18px}.home-header h1{margin:0 0 4px;font-size:21px}.home-datetime{color:var(--steel);font-size:12px}.pack-ring-wrap{justify-content:center;margin-bottom:18px;display:flex}.pack-ring-track{fill:none;stroke:var(--surface-2);stroke-width:10px}.pack-ring-fill{fill:none;stroke:var(--blue);stroke-width:10px;stroke-linecap:round;transform-origin:55px 55px;transition:stroke-dashoffset .6s;transform:rotate(-90deg)}.pack-ring-value{fill:var(--chalk);text-anchor:middle;direction:ltr;font-family:Vazirmatn FD,system-ui,sans-serif;font-size:19px;font-weight:600}.pack-ring-label{fill:var(--steel);text-anchor:middle;font-size:10px}.home-stats-bar{grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 18px;display:grid}.home-stats-bar>div{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:12px;padding:12px}.home-stats-bar strong{font-size:20px;display:block}.home-stats-bar span{color:var(--steel);font-size:11px}.program-card{width:100%;color:var(--chalk);background:var(--surface);border:1px solid var(--line);text-align:right;border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.program-card>div{flex:1}.program-card strong{margin-bottom:3px;font-size:14px;display:block}.program-card span{color:var(--steel);font-size:12px;display:block}.program-overview{padding:16px 20px 20px}.program-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.program-head .quiet{color:var(--steel);align-items:center;gap:4px;display:flex}.program-tabs{gap:8px;margin-bottom:16px;display:flex}.program-tabs button{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;flex:1;padding:10px;font-weight:600}.program-tabs button.active{background:var(--blue);border-color:var(--blue)}.program-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.program-item{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px}.program-item-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.program-item-head span{color:var(--steel);font-size:12px}.program-item .meta{margin:0 0 8px}.program-item .demo{justify-content:flex-start;margin:8px 0 0;padding-top:8px}.calendar-tab .rmdp-calendar{background:var(--surface);border:1px solid var(--line);width:100%;box-shadow:none;border-radius:12px;padding:10px}.calendar-tab .rmdp-wrapper{width:100%;box-shadow:none;background:0 0}.calendar-tab .rmdp-day-picker,.calendar-tab .rmdp-day-picker>div{width:100%!important}.calendar-tab .rmdp-week{justify-content:space-between;width:100%}.calendar-tab .rmdp-header,.calendar-tab .rmdp-header-values{color:var(--chalk)}.calendar-tab .rmdp-week-day{color:var(--steel)}.calendar-tab .rmdp-day{color:var(--chalk)}.calendar-tab .rmdp-day.rmdp-today span{border:1px solid var(--blue)}.calendar-tab .rmdp-arrow{border-color:var(--steel)}.calendar-tab .rmdp-arrow-container:hover{background:var(--surface-2)}.calendar-tab .rmdp-day:has(.day-in-pack){background:color-mix(in srgb, var(--blue) 16%, transparent);border-radius:6px}.calendar-tab .day-session{background:var(--green)!important;color:var(--chalk)!important}.calendar-tab .day-preferred-upcoming{border:1px dashed var(--steel);border-radius:50%}.calendar-tab .day-unattended{background:var(--surface-2);color:var(--steel-dim)!important}.calendar-legend{flex-wrap:wrap;gap:12px 18px;margin:14px 0 20px;padding:0;list-style:none;display:flex}.calendar-legend li{color:var(--steel);align-items:center;gap:6px;font-size:11px;display:flex}.calendar-legend i{border-radius:50%;width:13px;height:13px;display:block}.legend-pack{background:color-mix(in srgb, var(--blue) 30%, transparent);border:1px solid var(--blue)}.legend-session{background:var(--green)}.legend-preferred{border:1px dashed var(--steel)}.legend-unattended{background:var(--surface-2);border:1px solid var(--line)}
