:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f4f4;--bg-2:#fff;--card:#fff;--line:#ebebf0;--text:#191c1f;--muted:#6f757c;--ink:#191c1f;--lime:#191c1f;--green:#00a87e;--green-ink:#fff;--danger:#e23b4a;--orange:#ec7e00;background:var(--bg);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,p{margin:0}h1{letter-spacing:-.04em;font-size:2.1rem;line-height:1.05}h2{letter-spacing:-.03em;font-size:1.2rem}.app,.auth{width:min(100%,32rem);padding:1.25rem 1.1rem calc(6.5rem + env(safe-area-inset-bottom));margin:0 auto}.auth{padding-top:18vh}.mark{color:var(--ink);letter-spacing:-.045em;margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.auth form{gap:1.05rem;margin-top:1.6rem;display:grid}.auth form .primary{margin-top:1.15rem}.auth .text-button{margin-top:.35rem}.top{justify-content:space-between;align-items:center;margin-bottom:1.4rem;display:flex}.screen{gap:.85rem;display:grid}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.lede,.meta{color:var(--muted);line-height:1.45}.progress{font-weight:700}.stack,.days,.session,.machines,.history{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--card);border:1px solid #0000;border-radius:1.25rem;gap:.8rem;padding:1rem;display:grid;box-shadow:0 1px 2px #191c1f0a,0 8px 24px #191c1f0a}.card.open{background:#fff;border-color:#0000;gap:1rem;padding:1.2rem;box-shadow:0 12px 32px #191c1f14}.card.open h2{font-size:1.85rem}.collapsed{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:1.25rem;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;display:flex}.collapsed span:first-child{gap:.15rem;display:grid}.collapsed.done{opacity:.72}.done-mark{color:var(--green);font-weight:700}.player{aspect-ratio:16/9;background:#191c1f;border-radius:1rem;position:relative;overflow:hidden}.player img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.label{margin-bottom:.45rem;font-weight:700}.badge{color:var(--lime);letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;font-weight:700}.badge.quiet{visibility:hidden}.count button{place-items:center;gap:.05rem;min-width:3.4rem;display:grid}.preview{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.preview li{background:var(--card);border:1px solid var(--line);border-radius:1rem;justify-content:space-between;gap:.75rem;padding:.8rem .95rem;display:flex}.preview li span{color:var(--muted);text-align:right}.onboard{gap:1.1rem}.card-top,.machine-title,.weight,.dose,.row-actions,.history li{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.card-top{align-items:flex-start}.weight,.dose{justify-content:flex-start}label{color:var(--muted);gap:.35rem;font-size:.92rem;display:grid}input,select{width:100%;min-height:3.25rem;color:var(--text);background:#fff;border:1px solid #e4e6eb;border-radius:1rem;padding:0 1rem}.card input,.card select{background:#f4f4f4;border-color:#0000}.weight input,.dose input{width:6.5rem}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.primary,.secondary,.text-button,.chip,.count button,.check{border:0}.primary,.secondary{border-radius:999px;min-height:3rem;padding:0 1rem;font-weight:700}.primary{background:var(--ink);color:#fff}.primary:active{transform:translateY(1px)}.secondary{color:var(--text);background:#f4f4f4;border:0}.primary:disabled,.secondary:disabled{opacity:.4}.text-button{min-height:2.75rem;color:var(--ink);background:0 0;padding:0;font-weight:700}.count{gap:.45rem;display:flex}.count button,.chip{min-height:2.75rem;color:var(--text);background:#f4f4f4;border:0;border-radius:999px;padding:0 .9rem}.count button[aria-pressed=true],.chip[aria-pressed=true]{background:var(--ink);color:#fff}.chips{flex-wrap:wrap;gap:.45rem;display:flex}.check{color:#0000;background:#fff;border:2px solid #d7dbe2;border-radius:999px;flex:none;place-items:center;width:3.4rem;height:3.4rem;display:grid}.check[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--green-ink)}.check{position:relative}.check svg{width:1.45rem;height:1.45rem}.sparks{pointer-events:none;position:absolute;inset:0}.sparks i{width:.38rem;height:.38rem;transform:rotate(var(--angle)) translateY(0);background:#ff9a3c;border-radius:99px;margin:-.19rem;animation:.6s ease-out forwards spark;position:absolute;top:50%;left:50%}.sparks i:nth-child(odd){background:var(--ink)}@keyframes spark{to{transform:rotate(var(--angle)) translateY(-1.7rem);opacity:0}}.streak-count{letter-spacing:-.06em;color:var(--orange);margin:0;font-size:5.5rem;font-weight:700;line-height:.9}.home{align-content:start}.week-strip{grid-template-columns:repeat(7,1fr);gap:.35rem;margin:.4rem 0 0;padding:0;list-style:none;display:grid}.week-strip li{min-height:3.2rem;color:var(--muted);text-transform:uppercase;background:#fff;border:0;border-radius:.9rem;place-items:center;font-size:.72rem;font-weight:700;display:grid;box-shadow:0 1px 2px #191c1f0a}.week-strip.large li{min-height:4.4rem;font-size:.8rem}.week-strip li.planned{color:var(--text)}.week-strip li.done{background:var(--orange);color:#fff}.week-strip li[aria-current=date]{outline:2px solid var(--ink);outline-offset:2px}.subnav{grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:1rem;display:grid}.subnav button{background:#fff;border:0;border-radius:999px;min-height:2.8rem;font-weight:700;box-shadow:0 1px 2px #191c1f0a}.subnav button[aria-pressed=true]{background:var(--ink);color:#fff}.celebrate{z-index:30;width:100%;color:var(--text);background:#f4f4f4f5;border:0;align-content:center;justify-items:center;gap:1rem;padding:2rem;display:grid;position:fixed;inset:0}.flame{filter:drop-shadow(0 0 18px #ff7a1ab3);width:8.5rem;height:8.5rem;animation:1.15s linear infinite flame-spin}.flame svg{width:100%;height:100%}@keyframes flame-spin{to{transform:rotate(360deg)}}.day-pill{border:2px solid #ff7a1a;border-radius:999px;min-width:12rem;padding:.85rem 1.6rem;font-size:1.8rem;font-weight:700;position:relative;overflow:hidden}.day-pill:before{content:"";transform-origin:0;background:#ff7a1a;animation:.9s .25s forwards fill-day;position:absolute;inset:0;transform:scaleX(0)}.day-pill span{z-index:1;animation:.4s .7s forwards pill-ink;position:relative}@keyframes fill-day{to{transform:scaleX(1)}}@keyframes pill-ink{to{color:#2a1200}}.alert{color:var(--danger);background:#fff1f1;border-radius:.9rem;margin:0;padding:.75rem .9rem}.stage{overflow:hidden}.stage-page.from-right{animation:.38s cubic-bezier(.22,1,.36,1) slide-from-right}.stage-page.from-left{animation:.38s cubic-bezier(.22,1,.36,1) slide-from-left}@keyframes slide-from-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-from-left{0%{transform:translate(-100%)}to{transform:translate(0)}}.tabbar{width:min(100%,32rem);padding:.2rem .85rem calc(.2rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #ebebf0;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar button{color:#8d969e;background:0 0;border:0;border-radius:.85rem;place-items:center;min-height:3.35rem;display:grid}.tabbar button[aria-current=page]{color:var(--ink)}.tab-ico{place-items:center;display:grid}.tab-ico svg{stroke-width:1.75px;fill:none;width:1.6rem;height:1.6rem}.tab-ico.on svg{fill:currentColor;stroke:currentColor;stroke-width:1.35px}.tab-ico.bump svg{animation:.46s cubic-bezier(.2,1.45,.36,1) tab-bounce}@keyframes tab-bounce{0%{transform:translateY(7px)scale(.55)}58%{transform:translateY(-5px)scale(1.18)}to{transform:translateY(0)scale(1)}}.other-day{margin-top:.4rem}.history{margin-top:.2rem}.history li{color:var(--muted)}.history li span:first-child{color:var(--text);font-weight:700}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.flame,.sparks i,.day-pill:before,.day-pill span,.stage-page,.tab-ico.bump svg{animation:none}.day-pill:before{transform:scaleX(1)}.day-pill span{color:#2a1200}}
