:root{--bg: #0b0b0f;--fg: #f5f5f7;--muted: #9a9aa5;--accent: #e8543f;--border: #2a2a33;--warn: #e8a33f;--ok: #4caf6a;--font-display: "Oswald", system-ui, -apple-system, Segoe UI, Roboto, sans-serif}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/oswald-700-latin.woff2) format("woff2")}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}main{max-width:22rem;margin:0 auto;padding:3rem 1.25rem;display:flex;flex-direction:column;gap:1rem}h1{font-size:1.6rem;text-align:center}input{width:100%;padding:.7rem .9rem;margin-bottom:.6rem;border:1px solid var(--border);border-radius:8px;background:#16161d;color:var(--fg);font-size:1rem}.btn{width:100%;padding:.7rem .9rem;border-radius:8px;border:1px solid transparent;font-size:1rem;cursor:pointer}.btn--primary{background:var(--accent);color:#fff}.btn--google{background:#fff;color:#1f1f1f;border-color:#dadce0}.btn--ghost{background:transparent;color:var(--muted);border-color:var(--border)}.btn:disabled{opacity:.6;cursor:default}.signin__error{background:#3a1512;border:1px solid #7a2a22;color:#ffd7cf;padding:.7rem .9rem;border-radius:8px;font-size:.9rem}.signin__divider{text-align:center;color:var(--muted);font-size:.85rem}.callback,.home{text-align:center}main.workout{max-width:32rem;gap:1.1rem}.workout__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.workout__header h1{font-size:1.4rem;text-align:left;margin:0}.muted{color:var(--muted);font-size:.9rem;margin:0}.btn--sm{width:auto;padding:.4rem .7rem;font-size:.85rem}.daytabs{display:flex;gap:.4rem}.daytab{flex:1;padding:.55rem .5rem;border:1px solid var(--border);border-radius:8px;background:#16161d;color:var(--muted);font-size:.95rem;cursor:pointer}.daytab--active{background:var(--accent);border-color:var(--accent);color:#fff}.liftcard{border:1px solid var(--border);border-radius:10px;background:#121219;padding:.9rem 1rem}.liftcard__head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:.7rem}.liftcard__name{margin:0;font-size:1.1rem}.liftcard__scheme{color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}.setcircles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.7rem}.setitem{display:flex;flex-direction:column;align-items:center;gap:.3rem}.setitem__weight{font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--fg);line-height:1}.setitem__kind{font-size:.6rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);line-height:1}.setcircle{width:3rem;height:3rem;padding:0;border-radius:50%;border:2px solid var(--border);background:#16161d;color:var(--muted);font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:background .08s ease,border-color .08s ease,color .08s ease}.setcircle:hover{border-color:var(--accent)}.setcircle--on{background:var(--accent);border-color:var(--accent);color:#fff}.setcircle--top{box-shadow:0 0 0 2px #e8543f59}.setcircle--top.setcircle--on{box-shadow:0 0 0 2px #e8543f99}.logbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;bottom:0;padding:.6rem 0;background:var(--bg)}.logbar .btn{width:auto;min-width:10rem}.resttimer{display:flex;align-items:center;gap:.6rem;position:sticky;bottom:3.5rem;padding:.6rem .9rem;border:1px solid var(--accent);border-radius:10px;background:#1d1512}.resttimer--done{border-color:#255a33;background:#12301a}.resttimer__label{font-size:.9rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.resttimer--done .resttimer__label{color:#d2ffd9}.resttimer__clock{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--fg)}.resttimer__add{margin-left:auto}.resttimer__dismiss{min-width:auto;padding:.4rem .6rem}.banner{padding:.7rem .9rem;border-radius:8px;font-size:.9rem}.banner--error{background:#3a1512;border:1px solid #7a2a22;color:#ffd7cf}.banner--ok{background:#12301a;border:1px solid #255a33;color:#d2ffd9}.empty{text-align:center;padding:2rem 0}.empty h2{font-size:1.2rem}main.setup{max-width:32rem}.setup__step{display:flex;flex-direction:column;gap:.6rem;padding-top:.4rem}.setup__h{font-size:1.1rem;margin:0}.setup__h .muted{font-size:.85rem}.setup__programs{display:flex;flex-direction:column;gap:.6rem}.programcard{display:flex;flex-direction:column;gap:.25rem;text-align:left;padding:.9rem 1rem;border:1px solid var(--border);border-radius:10px;background:#121219;color:var(--fg);cursor:pointer}.programcard--active{border-color:var(--accent);background:#1d1512}.programcard__name{font-size:1.05rem;font-weight:600}.programcard__blurb{font-size:.85rem;color:var(--muted)}.setup__lifts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.weightrow{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .8rem;border:1px solid var(--border);border-radius:8px;background:#16161d}.weightrow__label{font-size:1rem}.weightrow__input{display:flex;align-items:center;gap:.4rem}.weightrow__input input{width:6rem;margin:0;text-align:right;font-variant-numeric:tabular-nums}.weightrow__unit{color:var(--muted);font-size:.85rem}.setup__actions{display:flex;padding-top:.4rem}.setup__actions .btn{width:auto;min-width:12rem}.appnav{display:flex;gap:.4rem;position:sticky;bottom:0;margin-top:.6rem;padding:.5rem 0;background:var(--bg);border-top:1px solid var(--border)}.appnav__link{flex:1;text-align:center;padding:.55rem .5rem;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.95rem}.appnav__link--active{background:#16161d;color:var(--fg)}.banner--warn{background:#322610;border:1px solid #6b5120;color:#ffe4b0}.history{display:flex;flex-direction:column;gap:.8rem}.history__card{border:1px solid var(--border);border-radius:10px;background:#121219;padding:.8rem 1rem}.history__head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:.5rem}.history__date{font-weight:600}.history__type{color:var(--muted);font-size:.85rem}.history__lifts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.history__lift{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:.95rem}.history__weight{font-variant-numeric:tabular-nums;color:var(--fg)}.progress__chart{display:flex;flex-direction:column;gap:.7rem}.progress__select{display:flex;align-items:center;gap:.6rem}.progress__select select{flex:1;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;background:#16161d;color:var(--fg);font-size:1rem}.chart{width:100%;height:auto;border:1px solid var(--border);border-radius:10px;background:#121219}.chart__grid{stroke:var(--border);stroke-width:1}.chart__axis{fill:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.chart__line{fill:none;stroke:var(--accent);stroke-width:2}.chart__pt{stroke:#121219;stroke-width:1.5}.chart__pt--initial{fill:#121219;stroke:var(--muted);stroke-width:2}.chart__pt--progression{fill:var(--accent)}.chart__pt--manual{fill:var(--muted)}.chart__pt--deload{fill:var(--warn);stroke:none}.chart__legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.8rem;color:var(--muted)}.chart__legend-item{display:flex;align-items:center;gap:.4rem}.chart__swatch{width:.75rem;height:.75rem;border-radius:50%;display:inline-block}.chart__swatch--initial{background:#121219;border:2px solid var(--muted)}.chart__swatch--progression{background:var(--accent)}.chart__swatch--manual{background:var(--muted)}.chart__swatch--deload{background:var(--warn);border-radius:0;clip-path:polygon(50% 100%,0 0,100% 0)}.progress__export{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding-top:.3rem}.progress__export .banner{padding:.4rem .6rem;font-size:.8rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.landing a:focus-visible,.landing button:focus-visible,.install a:focus-visible,.install button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.landing,.install{min-height:100vh;display:flex;flex-direction:column}.landing__topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:68rem;width:100%;margin:0 auto;padding:1.1rem 1.5rem}.landing__wordmark{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--fg);text-decoration:none}.landing__wordmark--sm{font-size:1.05rem}.landing__wordmark-dot{color:var(--accent)}.landing__nav{display:flex;align-items:center;gap:.4rem}.landing__navlink{color:var(--muted);text-decoration:none;font-size:.95rem;padding:.45rem .8rem;border-radius:8px}.landing__navlink:hover{color:var(--fg)}.landing__navlink--cta{color:var(--fg);border:1px solid var(--border)}.landing__navlink--cta:hover{border-color:var(--accent)}.landing__main{flex:1;width:100%;max-width:68rem;margin:0 auto;padding:1rem 1.5rem 3rem;display:flex;flex-direction:column;gap:4.5rem}.landing__hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center;padding-top:1.5rem}.landing__hero-copy{display:flex;flex-direction:column;gap:1.4rem}.landing__headline{margin:0;font-family:var(--font-display);font-weight:700;letter-spacing:0;line-height:.95;font-size:clamp(2.8rem,6.5vw,5rem);display:flex;flex-direction:column}.landing__headline .landing__headline-outline{-webkit-text-stroke-width:1.5px}.landing__headline-outline{color:transparent;-webkit-text-stroke:2px var(--fg);text-stroke:2px var(--fg)}.landing__headline-accent{color:var(--accent)}.landing__sub{margin:0;color:var(--muted);font-size:1.1rem;line-height:1.5;max-width:34rem}.landing__sub strong{color:var(--fg);font-weight:700}.landing__sub--tight{font-size:1rem}.landing__cta-row{display:flex;flex-wrap:wrap;gap:.8rem}.landing__cta-row--center{justify-content:center}.landing__cta{width:auto;min-width:13rem;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.landing__stats{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:1.8rem}.landing__stat{display:flex;flex-direction:column;gap:.15rem}.landing__stat-num{font-size:1.6rem;font-weight:800;color:var(--fg);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.landing__stat-label{font-size:.8rem;color:var(--muted)}.landing__phone{justify-self:center;width:17rem;max-width:100%;border:10px solid #1b1b22;border-radius:2.4rem;background:var(--bg);box-shadow:0 30px 60px -20px #000c,0 0 0 1px var(--border);position:relative;padding:.8rem}.landing__phone-notch{position:absolute;top:.55rem;left:50%;transform:translate(-50%);width:5rem;height:.35rem;border-radius:999px;background:#2a2a33}.landing__phone-screen{padding-top:.6rem}.phone{display:flex;flex-direction:column;gap:.7rem;font-size:.8rem}.phone__header{display:flex;align-items:flex-start;justify-content:space-between}.phone__title{font-size:.95rem;font-weight:700}.phone__muted{color:var(--muted);font-size:.72rem}.phone__signout{color:var(--muted);font-size:.68rem;border:1px solid var(--border);border-radius:6px;padding:.2rem .4rem}.phone__daytabs{display:flex;gap:.3rem}.phone__daytab{flex:1;text-align:center;padding:.3rem 0;border:1px solid var(--border);border-radius:6px;background:#16161d;color:var(--muted);font-size:.75rem}.phone__daytab--active{background:var(--accent);border-color:var(--accent);color:#fff}.phone__liftcard{border:1px solid var(--border);border-radius:8px;background:#121219;padding:.6rem .65rem}.phone__lifthead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.5rem}.phone__liftname{font-size:.9rem;font-weight:600}.phone__liftscheme{color:var(--muted);font-size:.62rem;font-variant-numeric:tabular-nums}.phone__sets{display:flex;flex-wrap:wrap;gap:.45rem}.phone__setitem{display:flex;flex-direction:column;align-items:center;gap:.2rem}.phone__circle{width:2.1rem;height:2.1rem;border-radius:50%;border:2px solid var(--border);background:#16161d;color:var(--muted);font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center}.phone__circle--on{background:var(--accent);border-color:var(--accent);color:#fff}.phone__circle--top{box-shadow:0 0 0 2px #e8543f66}.phone__setweight{font-size:.6rem;font-weight:700;font-variant-numeric:tabular-nums}.phone__setkind{font-size:.5rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.phone__resttimer{display:flex;align-items:center;gap:.5rem;border:1px solid var(--accent);border-radius:8px;background:#1d1512;padding:.4rem .6rem}.phone__rest-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.phone__rest-clock{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}.phone__rest-add{margin-left:auto;color:var(--muted);font-size:.68rem}.phone__logbar{display:flex;align-items:center;justify-content:space-between}.phone__logbtn{background:var(--accent);color:#fff;font-size:.72rem;font-weight:600;padding:.35rem .7rem;border-radius:6px}.landing__section{display:flex;flex-direction:column;gap:1.4rem}.landing__section-title{margin:0;font-size:clamp(1.4rem,3vw,2rem);font-weight:800;letter-spacing:-.02em}.landing__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.landing__card{border:1px solid var(--border);border-radius:12px;background:#121219;padding:1.3rem 1.2rem;display:flex;flex-direction:column;gap:.6rem}.landing__card-title{margin:0;font-size:1.15rem;font-weight:700}.landing__card-body{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}.landing__install{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border:1px solid var(--border);border-radius:14px;background:#121219;padding:1.6rem 1.5rem}.landing__install>div{display:flex;flex-direction:column;gap:.5rem;max-width:40rem}.landing__close{display:flex;flex-direction:column;align-items:center;gap:1.4rem;text-align:center;padding:1.5rem 0}.landing__close-title{margin:0;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:900;letter-spacing:-.02em}.landing__footer{border-top:1px solid var(--border);padding:1.4rem 1.5rem;max-width:68rem;width:100%;margin:0 auto;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.landing__footer-nav{display:flex;gap:1.2rem}.landing__footerlink{color:var(--muted);text-decoration:none;font-size:.9rem}.landing__footerlink:hover{color:var(--fg)}.landing__footer-note{color:var(--muted);font-size:.8rem;margin-left:auto}.install__main{flex:1;width:100%;max-width:44rem;margin:0 auto;padding:1.5rem 1.5rem 3rem;display:flex;flex-direction:column;gap:1.3rem}.install__headline{font-size:clamp(2.2rem,5.5vw,3.6rem)}.install__sub{font-size:1.05rem}.install__panel{border:1px solid var(--border);border-radius:12px;background:#121219;padding:1.1rem 1.2rem;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.install__panel strong{color:var(--fg)}.install__panel a{color:var(--accent)}.install__panel--prompt{border-color:var(--accent);background:#1d1512}.install__panel--ok{border-color:#255a33;background:#12301a;color:#d2ffd9}.install__panel--ok strong{color:#eafff0}.install__panel--ok a{color:#d2ffd9;text-decoration:underline}.install__btn{width:auto;min-width:11rem}.install__tabs{display:flex;gap:.4rem}.install__tab{flex:1;padding:.6rem .5rem;border:1px solid var(--border);border-radius:8px;background:#16161d;color:var(--muted);font-size:.95rem;cursor:pointer}.install__tab--active{background:var(--accent);border-color:var(--accent);color:#fff}.install__steps{border:1px solid var(--border);border-radius:12px;background:#121219;padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.9rem}.install__warn{margin:0;background:#322610;border:1px solid #6b5120;color:#ffe4b0;padding:.6rem .8rem;border-radius:8px;font-size:.9rem}.install__warn strong{color:#fff3dc}.install__list{margin:0;padding-left:1.3rem;display:flex;flex-direction:column;gap:.7rem;font-size:1rem;line-height:1.4}.install__list strong{color:var(--fg)}.install__result{margin:0;color:var(--muted);font-size:.95rem}.install__result strong{color:var(--fg)}.install__glyph{width:1.1em;height:1.1em;vertical-align:-.2em;margin:0 .1em;color:var(--accent)}.install__why{display:flex;flex-direction:column;gap:.8rem}.install__whylist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;color:var(--muted);font-size:.98rem}.install__whylist strong{color:var(--fg)}.install__back{margin:.5rem 0 0}.install__back a{color:var(--muted);text-decoration:none}.install__back a:hover{color:var(--fg)}@media (max-width: 760px){.landing__hero{grid-template-columns:1fr;gap:2rem}.landing__phone{order:-1;width:15rem}.landing__cards{grid-template-columns:1fr}.landing__cta,.install__btn{width:100%;min-width:0}.landing__cta-row{flex-direction:column}.landing__install{flex-direction:column;align-items:flex-start}.landing__footer-note{margin-left:0;width:100%}}@media (prefers-reduced-motion: no-preference){.setcircle,.daytab,.landing__navlink,.landing__footerlink{transition:all .1s ease}}
