:root{--color-pine: #1f4d3a;--color-pine-deep: #143528;--color-lime: #a8f05a;--color-lime-ink: #3f6b10;--color-coral: #ff7d5c;--color-coral-ink: #b4442a;--color-amber: #ffbf65;--color-amber-ink: #85520b;--color-success: #1f4d3a;--color-success-ink: #1f4d3a;--color-ink: #0e1a14;--color-bg: #fcf8ef;--color-backdrop: #f1e8d6;--color-surface: #fffdf8;--color-muted: #5e6a62;--color-line: #ece4d2;--tint-coral: #ffe6de;--tint-lime: #ecfbd8;--tint-success: #e3efe7;--tint-amber: #fff0d6;--tint-mist: #eef1ea;--tint-pine: #e3ece6;--gradient-brand: linear-gradient(90deg, #1f4d3a 0%, #6fbf3e 55%, #a8f05a 100%);--gradient-action: linear-gradient(115deg, #0e1a14, #1f4d3a);--block-warm: #e0a03f;--block-strength: #ff7d5c;--block-body: #4f9e3a;--block-cardio: #b8487c;--block-cool: #1f4d3a;--font-body: "Vazirmatn", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 16px;--text-lg: 18px;--text-xl: 21px;--text-2xl: 26px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 10px;--radius: 16px;--radius-lg: 22px;--shadow-card: 0 1px 2px rgba(19, 24, 27, .05), 0 6px 18px rgba(11, 59, 102, .07);--shadow-sheet: 0 -8px 30px rgba(19, 24, 27, .2);--app-width: 480px;--tabbar-h: 62px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--color-backdrop);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#root{max-width:var(--app-width);margin:0 auto;min-height:100dvh;background:var(--color-bg);position:relative}@media (min-width: 520px){#root{box-shadow:0 0 0 1px var(--color-line),0 20px 60px #1f2a441f}}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;line-height:1.3;text-wrap:balance}p{margin:0}a{color:var(--color-pine)}:focus-visible{outline:2px solid var(--color-pine);outline-offset:2px}.page{padding:calc(env(safe-area-inset-top,0px) + var(--space-5)) var(--space-4) calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 12px + var(--space-6));display:flex;flex-direction:column;gap:var(--space-5)}.page__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.page__title{font-size:var(--text-2xl);font-weight:900;letter-spacing:-.01em}.page__sub{color:var(--color-muted);font-size:var(--text-sm)}.section{display:flex;flex-direction:column;gap:var(--space-3)}.section__title{font-size:var(--text-lg);font-weight:800}.row{display:flex;align-items:center;gap:var(--space-2)}.row--between{justify-content:space-between}.grow{flex:1;min-width:0}.muted{color:var(--color-muted)}.small{font-size:var(--text-sm)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.backlink{background:none;border:0;color:var(--color-muted);padding:0;cursor:pointer;font-size:var(--text-sm)}.tabbar{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);transform:translate(-50%);width:calc(min(var(--app-width),100vw) - 24px);height:var(--tabbar-h);padding:7px;border-radius:999px;background:#0e1a14f0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 30px #0e1a1447,0 2px 6px #0e1a142e;display:flex;align-items:center;justify-content:space-between;gap:4px;z-index:20}.tabbar a{flex:0 0 auto;height:100%;min-width:50px;padding:0 14px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fcf8ef9e;text-decoration:none;font-size:var(--text-sm);font-weight:800;white-space:nowrap;transition:background .22s ease,color .22s ease,flex-grow .22s ease}.tabbar a svg{width:23px;height:23px;flex:none}.tabbar a:active{transform:scale(.94)}.tabbar__label{display:none}.tabbar a.active{flex:1 0 auto;background:var(--color-lime);color:var(--color-ink)}.tabbar a.active .tabbar__label{display:inline}.tabbar a:not(.active):hover{color:#fcf8ef}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:46px;padding:0 var(--space-5);border-radius:999px;border:1px solid transparent;font-weight:700;font-size:var(--text-md);cursor:pointer;text-decoration:none;transition:background .15s,transform .08s;white-space:nowrap}.btn:active{transform:scale(.98)}.btn svg,.resume svg,.backlink svg{flex:none}[dir=rtl] .backlink svg,[dir=rtl] .flip-rtl{transform:scaleX(-1)}[dir=ltr] .flip-rtl-reverse{transform:scaleX(-1)}.btn:disabled{opacity:.55;cursor:default}.btn--primary{background:var(--color-ink);color:#fcf8ef}.btn--primary svg{color:var(--color-lime)}.btn--primary:hover{background:var(--color-pine-deep)}.btn--teal{background:var(--color-pine);color:#fff}.btn--accent{background:var(--color-coral);color:var(--color-ink)}.btn--ghost{background:var(--color-surface);border-color:var(--color-line);color:var(--color-ink)}.btn--soft{background:var(--tint-coral);color:var(--color-coral-ink)}.btn--danger{background:transparent;color:var(--color-coral-ink);border-color:var(--tint-coral)}.btn--block{width:100%}.btn--sm{min-height:36px;padding:0 var(--space-3);font-size:var(--text-sm)}.iconbtn{width:40px;height:40px;border-radius:50%;display:inline-grid;place-items:center;border:1px solid var(--color-line);background:var(--color-surface);cursor:pointer;color:var(--color-ink);flex:none}.iconbtn svg{width:20px;height:20px}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.card__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.card--link{text-decoration:none;color:inherit;display:block}.listcard{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}.listcard__img{width:64px;height:64px;border-radius:var(--radius-sm);background:var(--color-bg);object-fit:contain;flex:none}.listcard__title{font-weight:700}.pill{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:700;padding:2px 10px;border-radius:999px;background:var(--tint-mist);color:var(--color-ink)}.pill--coral{background:var(--tint-coral);color:var(--color-coral-ink)}.pill--teal{background:var(--tint-success);color:var(--color-success-ink)}.pill--amber{background:var(--tint-amber);color:var(--color-amber-ink)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:var(--text-xs);padding:2px 10px;border-radius:999px;border:1px solid var(--color-line);background:var(--color-surface)}.chip--primary{background:var(--tint-lime);border-color:transparent;font-weight:700}.chip--primary:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--color-lime-ink);margin-inline-end:6px;vertical-align:middle}.chip--select{cursor:pointer}.chip--on{background:var(--color-pine);color:#fff;border-color:var(--color-pine)}.field{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);font-weight:600}.input,.select,.textarea{width:100%;min-height:48px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);padding:10px 14px;font-size:var(--text-md);font-weight:500}.textarea{min-height:88px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--color-pine);border-color:transparent}.error{color:var(--color-coral-ink);font-size:var(--text-sm)}.segmented{display:flex;background:var(--color-surface);border:1px solid var(--color-line);border-radius:999px;padding:4px;gap:4px}.segmented button{flex:1;border:0;background:none;border-radius:999px;min-height:38px;font-weight:700;cursor:pointer;color:var(--color-muted)}.segmented button.on{background:var(--color-pine);color:#fff}.toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.switch{width:50px;height:30px;border-radius:999px;background:var(--color-line);border:0;position:relative;cursor:pointer;flex:none}.switch:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:inset-inline-start .15s}.switch.on{background:var(--color-success)}.switch.on:after{inset-inline-start:23px}.filepick{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1.5px dashed var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer}.filepick img,.filepick video{width:64px;height:64px;object-fit:cover;border-radius:8px;background:var(--color-bg)}.filepick input{display:none}.auth{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:var(--space-6) var(--space-5);gap:var(--space-6)}.auth__logo{width:132px;height:auto;margin:0 auto}.auth__brand{text-align:center;font-weight:900;font-size:var(--text-2xl)}.auth__brand small{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-muted)}.auth form{display:flex;flex-direction:column;gap:var(--space-4)}.code-input{text-align:center;letter-spacing:12px;font-size:28px;font-weight:800;direction:ltr}.devcode{background:var(--tint-amber);border-radius:var(--radius-sm);padding:var(--space-3);text-align:center;font-size:var(--text-sm)}.devcode b{display:block;font-size:26px;letter-spacing:6px;direction:ltr}.langpick{display:grid;gap:var(--space-3)}.langpick button{min-height:64px;border-radius:var(--radius);border:2px solid var(--color-line);background:var(--color-surface);font-size:var(--text-lg);font-weight:800;cursor:pointer}.langpick button.on{border-color:var(--color-pine);background:var(--tint-lime)}.dots{display:flex;justify-content:center;gap:6px}.dots span{width:8px;height:8px;border-radius:50%;background:var(--color-line)}.dots span.on{background:var(--color-pine);width:22px;border-radius:6px}.hello{display:flex;align-items:center;gap:var(--space-3)}.hello img{width:52px;height:52px}.hello h1{font-size:var(--text-xl);font-weight:900}.daycard{position:relative;display:flex;flex-direction:column}.daycard__cover{display:flex;height:120px;background:var(--color-bg);overflow:hidden}.daycard__cover img{flex:1;min-width:0;object-fit:cover;object-position:center 30%}.daycard__chev{color:var(--color-muted);flex:none}.daystep{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);width:100%;background:none;border:0;text-align:start;cursor:pointer;color:inherit}.daystep img{width:64px;height:64px;border-radius:var(--radius-sm);object-fit:contain;background:#faf6ec;flex:none}.daystep__alt{color:var(--color-lime-ink);font-weight:600;margin-top:2px}.daystep__note{background:var(--tint-mist);border-radius:8px;padding:4px 8px;margin-top:6px}.daycard__next{position:absolute;top:10px;inset-inline-start:10px}.daycard__meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--text-sm);color:var(--color-muted)}.notice{border-radius:var(--radius);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);background:var(--tint-amber)}.notice--teal{background:var(--tint-lime)}.resume{background:var(--gradient-action);color:#fff;border-radius:var(--radius);padding:var(--space-4);display:flex;align-items:center;gap:var(--space-3);text-decoration:none}.progressbar{height:6px;background:var(--color-line);border-radius:999px;overflow:hidden}.progressbar i{display:block;height:100%;background:var(--gradient-brand);border-radius:999px;transition:width .3s}.resume .progressbar{background:#fff3}.resume svg{color:var(--color-lime)}.run{min-height:100dvh;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 120px)}.run__bar{position:sticky;top:0;z-index:10;background:#fcf8eff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:calc(env(safe-area-inset-top,0px) + var(--space-3)) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-line);display:flex;flex-direction:column;gap:var(--space-2)}.run__title{font-weight:800;font-size:var(--text-md)}.run__stats{font-size:var(--text-sm);color:var(--color-muted);font-variant-numeric:tabular-nums}.run__list{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.blockhead{display:flex;align-items:center;gap:var(--space-2);font-weight:800;font-size:var(--text-sm);margin-top:var(--space-2)}.blockhead i{width:10px;height:10px;border-radius:3px}.step{scroll-margin-top:110px;transition:opacity .2s}.step__cover{position:relative;aspect-ratio:4 / 3;background:#faf6ec}.step__cover img{width:100%;height:100%;object-fit:contain}.step__num{position:absolute;top:10px;inset-inline-start:10px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900}.step__alt-badge{position:absolute;top:12px;inset-inline-end:10px}.step__name{font-size:var(--text-lg);font-weight:800}.step__dose{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.step__dose b{font-weight:900}.step__note{background:var(--tint-mist);border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--text-sm)}.step__tools{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.tool{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:var(--radius-sm);border:1px solid var(--color-line);background:var(--color-surface);font-size:var(--text-xs);font-weight:700;cursor:pointer;color:var(--color-ink)}.tool svg{width:22px;height:22px}.tool.on{background:var(--tint-lime);border-color:transparent}.weight{display:flex;align-items:center;gap:var(--space-2)}.weight .input{text-align:center;font-size:var(--text-xl);font-weight:800;direction:ltr}.weight__last{font-size:var(--text-sm);color:var(--color-success-ink);font-weight:600}.step--current{box-shadow:0 0 0 2px var(--color-coral),var(--shadow-card)}.step--done{opacity:.92}.stepdone{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);cursor:pointer}.stepdone img{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:contain;background:#faf6ec}.check{width:30px;height:30px;border-radius:50%;background:var(--color-pine);color:var(--color-lime);display:grid;place-items:center;flex:none}.check svg{width:18px;height:18px}.run__footer{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-width);padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-3));background:linear-gradient(transparent,var(--color-bg) 30%);z-index:15}.rest{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);left:50%;transform:translate(-50%);background:var(--gradient-action);color:#fff;border-radius:999px;padding:8px 8px 8px 16px;display:flex;align-items:center;gap:10px;z-index:16;font-weight:700;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-sheet);white-space:nowrap}.rest button{background:#ffffff26;color:#fff;border:0;border-radius:999px;padding:4px 12px;cursor:pointer}.summary{text-align:center;display:flex;flex-direction:column;gap:var(--space-4);align-items:center;padding:var(--space-8) var(--space-5)}.summary__big{font-size:56px;font-weight:900;color:var(--color-success);line-height:1}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f2a4473;z-index:40;display:flex;justify-content:center;align-items:flex-end;animation:fade .15s}.sheet{width:100%;max-width:var(--app-width);max-height:92dvh;overflow-y:auto;background:var(--color-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-sheet);padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-5));display:flex;flex-direction:column;gap:var(--space-4);animation:rise .2s ease-out}.sheet__grab{width:40px;height:5px;border-radius:3px;background:var(--color-line);margin:0 auto;flex:none}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sheet__title{font-size:var(--text-xl);font-weight:900}.media{border-radius:var(--radius);overflow:hidden;background:#faf6ec;aspect-ratio:4 / 3;display:grid;place-items:center}.media img,.media video{width:100%;height:100%;object-fit:contain;background:#faf6ec}.cues{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:4px}@keyframes rise{0%{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.search{position:sticky;top:0;z-index:2;background:var(--color-bg);padding-block:4px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.tile{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden;cursor:pointer;border:0;padding:0;text-align:start;display:flex;flex-direction:column}.tile img{aspect-ratio:1;object-fit:contain;background:#faf6ec;width:100%}.tile span{padding:8px 10px 10px;font-weight:700;font-size:var(--text-sm);line-height:1.4}.tile--on{box-shadow:0 0 0 3px var(--color-pine)}.editstep{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.editstep img{width:52px;height:52px;border-radius:var(--radius-sm);object-fit:contain;background:#faf6ec;flex:none}.editstep__order{display:flex;flex-direction:column;gap:2px}.editstep__order button{width:30px;height:26px;border:1px solid var(--color-line);background:var(--color-surface);border-radius:6px;cursor:pointer;display:grid;place-items:center}.editstep__order button:disabled{opacity:.3}.editstep__order svg{width:14px;height:14px}.dayhead{display:flex;align-items:center;gap:var(--space-2)}.wakebanner,.updatetoast{position:fixed;top:calc(env(safe-area-inset-top,0px) + 10px);left:50%;transform:translate(-50%);width:calc(min(var(--app-width),100vw) - 32px);z-index:60;border-radius:var(--radius);padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-sheet);font-size:var(--text-sm)}.wakebanner{background:var(--tint-amber)}.wakebanner__spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--color-amber);border-top-color:transparent;animation:spin .8s linear infinite;flex:none}.updatetoast{background:var(--gradient-action);color:#fff;justify-content:space-between}.updatetoast .btn{min-height:34px}.empty{text-align:center;color:var(--color-muted);padding:var(--space-8) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.empty img{width:72px;opacity:.9}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--color-line);border-top-color:var(--color-pine);animation:spin .8s linear infinite;margin:var(--space-8) auto}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
