@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--navy:#14213D;--orange:#FCA311;--gray:#E5E5E5;--white:#FFF;--navy-2:#1b2b4e;--navy-3:#22355d;--ink:#10182b;--muted:#9ca7ba;--danger:#ff665f;--success:#FCA311;--radius:22px;--shadow:0 24px 70px rgba(6,12,28,.28);color-scheme:dark}
*{box-sizing:border-box}html{height:100%;background:#0d162b}body{margin:0;min-height:100%;background:var(--navy);color:var(--white);font-family:Manrope,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(252,163,17,.45);outline-offset:2px}.hidden{display:none!important}
.app-shell{position:relative;width:min(100%,520px);min-height:100dvh;margin:auto;background:linear-gradient(165deg,#172746 0,var(--navy) 45%,#101b33 100%);box-shadow:var(--shadow);overflow:hidden}.view{padding:96px 18px 110px;min-height:100dvh}.topbar{position:fixed;z-index:30;top:0;left:50%;transform:translateX(-50%);width:min(100%,520px);height:78px;padding:calc(12px + env(safe-area-inset-top)) 18px 10px;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,rgba(20,33,61,.98),rgba(20,33,61,.82),transparent);backdrop-filter:blur(12px)}.avatar{width:43px;height:43px;border:0;border-radius:14px;background:var(--orange);color:var(--navy);font-family:'Barlow Condensed',sans-serif;font-size:25px;font-weight:800;box-shadow:0 8px 24px rgba(252,163,17,.22)}.topbar-title{display:flex;flex-direction:column;flex:1}.topbar-title span{font-family:'Barlow Condensed',sans-serif;letter-spacing:.12em;font-weight:800;font-size:19px}.topbar-title small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.streak-pill{padding:8px 11px;border:1px solid rgba(229,229,229,.12);border-radius:999px;background:rgba(255,255,255,.06);font-size:12px;font-weight:800}.bottom-nav{position:fixed;z-index:40;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);display:grid;grid-template-columns:repeat(4,1fr);padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:rgba(15,26,49,.96);border-top:1px solid rgba(229,229,229,.1);backdrop-filter:blur(18px)}.bottom-nav button{border:0;background:none;color:#72809a;padding:6px 2px;display:grid;gap:3px;justify-items:center;transition:.22s ease}.bottom-nav button.active{color:var(--orange);transform:translateY(-2px)}.nav-icon{font-size:20px;line-height:1}.bottom-nav small{font-size:9px;font-weight:800;letter-spacing:.02em}
h1,h2,h3,p{margin-top:0}h1,h2,h3,.display{font-family:'Barlow Condensed',sans-serif}h1{font-size:48px;line-height:.93;margin-bottom:18px;text-transform:uppercase}h2{font-size:32px;line-height:1;margin-bottom:8px;text-transform:uppercase}h3{font-size:22px;line-height:1.1}.eyebrow{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}.muted{color:var(--muted)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px}.section-head p{margin:0;color:var(--muted);font-size:12px}.section-head button{flex:none}.screen-enter{animation:screenIn .3s cubic-bezier(.2,.8,.2,1)}@keyframes screenIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.card{border:1px solid rgba(229,229,229,.1);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border-radius:var(--radius);padding:18px;box-shadow:0 16px 36px rgba(4,10,24,.16)}.card+.card{margin-top:12px}.card.light{background:var(--white);color:var(--navy)}.card.orange{background:var(--orange);color:var(--navy);border:0}.btn{min-height:46px;border:1px solid rgba(229,229,229,.14);border-radius:14px;background:rgba(255,255,255,.07);color:var(--white);padding:0 16px;font-weight:800;transition:transform .15s ease,background .2s ease,box-shadow .2s ease}.btn:active{transform:scale(.97)}.btn.primary{background:var(--orange);color:var(--navy);border-color:var(--orange);box-shadow:0 10px 26px rgba(252,163,17,.18)}.btn.ghost{background:transparent}.btn.danger{color:#ff8b85;border-color:rgba(255,102,95,.28)}.btn.small{min-height:36px;padding:0 12px;font-size:11px;border-radius:11px}.btn.wide{width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.icon-btn{width:38px;height:38px;border:1px solid rgba(229,229,229,.13);background:rgba(255,255,255,.06);border-radius:12px;color:inherit}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(252,163,17,.12);color:var(--orange);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:24px 18px;background:var(--navy);overflow:hidden;position:relative}.auth-glow{position:absolute;width:430px;height:430px;border-radius:50%;background:var(--orange);filter:blur(110px);opacity:.12;top:-230px;right:-180px}.auth-card{position:relative;width:min(100%,420px);padding:28px 22px}.brand-lockup{display:flex;align-items:center;gap:10px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.12em;margin-bottom:52px}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:var(--orange);color:var(--navy);font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800}.auth-card h1 em{color:var(--orange);font-style:normal}.auth-copy{color:var(--muted);font-size:13px;margin-bottom:24px}.segmented{display:grid;grid-template-columns:repeat(2,1fr);padding:4px;border-radius:14px;background:rgba(0,0,0,.18);margin-bottom:18px}.segmented button{border:0;border-radius:10px;padding:10px;background:transparent;color:var(--muted);font-weight:800;font-size:12px}.segmented button.active{background:var(--white);color:var(--navy)}.auth-form,.install-form{display:grid;gap:13px}.auth-form label,.install-form label,.form-grid label{display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.auth-form input,.install-form input,.form-grid input,.form-grid select{width:100%;height:49px;border:1px solid rgba(229,229,229,.13);border-radius:13px;background:rgba(255,255,255,.065);color:var(--white);padding:0 14px}.auth-form input:focus,.install-form input:focus,.form-grid input:focus{border-color:var(--orange)}
.hero-progress{margin-bottom:18px}.progress-row{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.progress-track{height:6px;border-radius:10px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:8px}.progress-fill{height:100%;background:var(--orange);border-radius:inherit;box-shadow:0 0 14px rgba(252,163,17,.55);transition:width .5s cubic-bezier(.2,.8,.2,1)}.training-card{padding:20px;overflow:hidden;position:relative}.training-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:var(--orange);filter:blur(75px);opacity:.07;right:-90px;top:-70px}.exercise-number{font-family:'Barlow Condensed',sans-serif;color:rgba(229,229,229,.28);font-size:13px;font-weight:800}.machine-visual{height:142px;margin:8px 0 13px;border-radius:18px;background:linear-gradient(140deg,rgba(252,163,17,.15),rgba(255,255,255,.03));display:grid;place-items:center;border:1px solid rgba(252,163,17,.12);position:relative}.machine-icon{width:90px;height:90px;color:var(--orange)}.machine-icon svg{width:100%;height:100%;filter:drop-shadow(0 8px 16px rgba(252,163,17,.15))}.exercise-title{font-size:36px;margin:0;text-transform:uppercase}.machine-name{color:var(--muted);font-size:11px;margin:4px 0 18px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:17px}.metric{padding:12px 8px;border-radius:14px;background:rgba(255,255,255,.05);text-align:center}.metric b{display:block;font-family:'Barlow Condensed';font-size:25px;color:var(--white)}.metric small{color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.metric.weight{position:relative}.metric.weight button{position:absolute;right:4px;top:4px;width:26px;height:26px;border:0;border-radius:8px;background:rgba(252,163,17,.14);color:var(--orange)}.sets-title{display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted);margin-bottom:10px}.set-dots{display:flex;flex-wrap:wrap;gap:10px}.set-dot{width:43px;height:43px;border-radius:14px;border:2px solid rgba(229,229,229,.18);background:rgba(255,255,255,.025);color:var(--muted);font-weight:800;transition:.25s cubic-bezier(.2,.9,.2,1)}.set-dot.next{border-color:var(--orange);color:var(--orange);box-shadow:0 0 0 5px rgba(252,163,17,.08);animation:softPulse 1.8s infinite}.set-dot.done{background:var(--orange);border-color:var(--orange);color:var(--navy);transform:scale(1.02)}.set-dot.done.pop{animation:setPop .3s ease}.set-dot.extra:after{content:"+"}@keyframes softPulse{50%{box-shadow:0 0 0 9px rgba(252,163,17,0)}}@keyframes setPop{50%{transform:scale(1.18)}}.training-actions{display:grid;gap:9px;margin-top:18px}.next-preview{display:flex;align-items:center;gap:13px;margin-top:12px;padding:14px 16px}.next-preview .mini-machine{width:42px;height:42px;border-radius:12px;background:rgba(252,163,17,.12);display:grid;place-items:center;color:var(--orange);font-size:20px}.next-preview div{flex:1}.next-preview small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.next-preview b{font-family:'Barlow Condensed';font-size:18px}.live-volume{text-align:center;color:var(--muted);font-size:10px;margin:13px 0 0}.live-volume strong{color:var(--orange)}
.empty-state{text-align:center;padding:34px 20px}.empty-orbit{width:110px;height:110px;margin:0 auto 22px;border-radius:50%;border:1px solid rgba(252,163,17,.25);display:grid;place-items:center;position:relative}.empty-orbit:before,.empty-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(252,163,17,.1)}.empty-orbit:before{inset:12px}.empty-orbit:after{inset:25px}.empty-orbit span{font-size:34px;color:var(--orange)}.empty-state h2{font-size:31px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.6}.workout-card{padding:0;overflow:hidden}.workout-summary{padding:17px;display:flex;align-items:center;gap:13px}.workout-letter{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--orange);color:var(--navy);font-family:'Barlow Condensed';font-size:25px;font-weight:800}.workout-summary .meta{flex:1}.workout-summary h3{margin:0 0 3px;font-size:21px}.workout-summary p{margin:0;color:var(--muted);font-size:10px}.workout-chevron{transition:transform .2s}.workout-card.open .workout-chevron{transform:rotate(180deg)}.workout-body{display:none;padding:0 14px 15px}.workout-card.open .workout-body{display:block;animation:foldIn .25s ease}@keyframes foldIn{from{opacity:0;transform:translateY(-7px)}}.exercise-row{display:flex;align-items:center;gap:10px;padding:11px 4px;border-top:1px solid rgba(229,229,229,.08)}.exercise-row .index{color:var(--orange);font-family:'Barlow Condensed';font-size:18px;width:20px}.exercise-row .row-icon{width:39px;height:39px;border-radius:11px;background:rgba(252,163,17,.1);display:grid;place-items:center;color:var(--orange)}.exercise-row .info{flex:1;min-width:0}.exercise-row b{font-size:12px}.exercise-row small{display:block;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.dashed-add{width:100%;padding:13px;border:1px dashed rgba(252,163,17,.35);border-radius:13px;background:rgba(252,163,17,.05);color:var(--orange);font-weight:800;font-size:11px}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.stat-card{padding:16px}.stat-card b{display:block;font-family:'Barlow Condensed';font-size:34px;color:var(--orange);line-height:1}.stat-card span{color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:800}.ring-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0 20px}.ring{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--orange) calc(var(--p)*1%),rgba(255,255,255,.08) 0);position:relative;transition:background 1s ease}.ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--navy-2)}.ring div{position:relative;z-index:1;text-align:center}.ring b{display:block;font-family:'Barlow Condensed';font-size:20px}.ring small{font-size:7px;color:var(--muted);text-transform:uppercase}.subhead{display:flex;justify-content:space-between;align-items:center;margin:24px 0 10px}.subhead h3{margin:0;text-transform:uppercase}.spark-card{padding:14px 15px}.spark-head{display:flex;justify-content:space-between;align-items:center}.spark-head b{font-size:11px}.spark-head span{color:var(--orange);font-size:10px;font-weight:800}.sparkline{height:36px;margin-top:7px}.sparkline svg{width:100%;height:100%;overflow:visible}.badge-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.badge{padding:15px 10px;text-align:center;opacity:.38}.badge.unlocked{opacity:1}.medal{width:48px;height:48px;margin:auto auto 7px;border-radius:50%;border:4px solid currentColor;display:grid;place-items:center;color:var(--orange);font-size:20px;box-shadow:inset 0 0 0 3px rgba(252,163,17,.15)}.badge b{font-size:10px}.badge small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.history-card summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer}.history-card summary::-webkit-details-marker{display:none}.history-date{width:46px;text-align:center;padding:7px 3px;background:rgba(252,163,17,.1);border-radius:12px;color:var(--orange)}.history-date b{display:block;font-family:'Barlow Condensed';font-size:22px}.history-date small{font-size:8px;text-transform:uppercase}.history-title{flex:1}.history-title b{font-family:'Barlow Condensed';font-size:18px}.history-title small{display:block;color:var(--muted);font-size:9px}.history-detail{margin-top:12px;border-top:1px solid rgba(229,229,229,.08);padding-top:8px}.history-exercise{display:flex;justify-content:space-between;padding:7px 0;font-size:10px;color:var(--muted)}.history-exercise b{color:var(--white)}
.settings-hero{display:flex;align-items:center;gap:16px;margin-bottom:18px}.big-avatar{width:66px;height:66px;border-radius:20px;background:var(--orange);color:var(--navy);display:grid;place-items:center;font-family:'Barlow Condensed';font-size:35px;font-weight:800}.settings-hero h2{margin:0}.settings-hero p{margin:2px 0 0;color:var(--muted);font-size:10px}.settings-group{margin-bottom:14px}.settings-group>span{display:block;margin:0 0 7px 6px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.setting-row{min-height:56px;display:flex;align-items:center;gap:12px;padding:10px 13px;border-bottom:1px solid rgba(229,229,229,.07)}.setting-row:last-child{border-bottom:0}.setting-row .setting-icon{width:34px;height:34px;border-radius:10px;background:rgba(252,163,17,.1);display:grid;place-items:center;color:var(--orange)}.setting-row label,.setting-row .setting-label{flex:1;font-size:11px;font-weight:700}.setting-row small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.setting-row select{border:0;background:transparent;color:var(--orange);font-size:10px;font-weight:800}.switch{width:44px;height:25px;border-radius:20px;background:rgba(255,255,255,.14);padding:3px;border:0}.switch:after{content:"";display:block;width:19px;height:19px;border-radius:50%;background:white;transition:.2s}.switch.on{background:var(--orange)}.switch.on:after{transform:translateX(19px);background:var(--navy)}
.modal-layer{position:fixed;z-index:100;inset:0;display:grid;align-items:end;justify-items:center}.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(5,10,22,.7);backdrop-filter:blur(6px)}.modal-card{position:relative;width:min(100%,520px);max-height:87dvh;overflow:auto;padding:10px 20px calc(22px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:#1a2949;border:1px solid rgba(229,229,229,.12);box-shadow:0 -24px 70px rgba(0,0,0,.35);animation:modalUp .28s cubic-bezier(.2,.8,.2,1)}@keyframes modalUp{from{opacity:0;transform:translateY(30px) scale(.98)}}.modal-handle{width:40px;height:4px;border-radius:5px;background:rgba(255,255,255,.22);margin:0 auto 19px}.modal-card h2{font-size:30px}.modal-card p{color:var(--muted);font-size:11px;line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid .full{grid-column:1/-1}.modal-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;margin-top:18px}.timer-wrap{text-align:center}.timer-ring{width:190px;height:190px;margin:13px auto 22px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--orange) calc(var(--timer)*1%),rgba(255,255,255,.08) 0);position:relative}.timer-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#1a2949}.timer-ring div{position:relative;z-index:1}.timer-ring b{font-family:'Barlow Condensed';font-size:58px;line-height:1}.timer-ring small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.celebrate{text-align:center}.celebrate-icon{width:108px;height:108px;border-radius:50%;margin:8px auto 20px;background:var(--orange);color:var(--navy);display:grid;place-items:center;font-size:45px;box-shadow:0 0 0 12px rgba(252,163,17,.08);animation:celebrate .55s cubic-bezier(.2,1.5,.4,1)}@keyframes celebrate{from{transform:scale(.3) rotate(-18deg);opacity:0}}.recap-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.recap-row div{background:rgba(255,255,255,.06);padding:12px 4px;border-radius:13px}.recap-row b{display:block;font-family:'Barlow Condensed';font-size:25px;color:var(--orange)}.recap-row small{font-size:8px;color:var(--muted);text-transform:uppercase}
.toast{position:fixed;z-index:200;left:50%;top:18px;transform:translate(-50%,-140%);width:min(calc(100% - 32px),460px);padding:13px 16px;border-radius:14px;background:var(--white);color:var(--navy);box-shadow:var(--shadow);font-size:11px;font-weight:800;transition:.28s cubic-bezier(.2,.8,.2,1)}.toast.show{transform:translate(-50%,0)}.toast.error{background:#ffddd9;color:#77231e}.alert{padding:12px 14px;border-radius:13px;margin-bottom:14px;font-size:11px}.alert.danger{background:rgba(255,102,95,.13);color:#ffaaa6;border:1px solid rgba(255,102,95,.2)}.loading{min-height:55dvh;display:grid;place-content:center;justify-items:center;gap:13px;color:var(--muted);font-size:10px}.loading span{width:42px;height:42px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.install-page{display:grid;place-items:center;padding:25px 16px;background:linear-gradient(150deg,var(--navy),#0d162b)}.install-shell{width:min(100%,520px);padding:30px;border-radius:26px;background:rgba(255,255,255,.055);border:1px solid rgba(229,229,229,.12);box-shadow:var(--shadow)}.install-shell .brand-mark{margin-bottom:25px}.install-shell h1{font-size:40px;margin-bottom:10px}.install-shell .lead{color:var(--muted);font-size:12px;line-height:1.6}.install-form label span{font-weight:500;text-transform:none}.install-note{text-align:center;color:var(--muted);font-size:9px;margin:17px 0 0}
body.theme-light{background:var(--gray);color:var(--navy);color-scheme:light}body.theme-light .app-shell{background:linear-gradient(160deg,#fff,#eef0f3)}body.theme-light .topbar{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.82),transparent)}body.theme-light .bottom-nav{background:rgba(255,255,255,.96);border-color:#d4d8df}body.theme-light .card{background:rgba(255,255,255,.8);border-color:#dfe2e7;box-shadow:0 12px 30px rgba(20,33,61,.07)}body.theme-light .metric,body.theme-light .setting-row{background:rgba(20,33,61,.035)}body.theme-light .metric b,body.theme-light .history-exercise b{color:var(--navy)}body.theme-light .modal-card{background:#fff;color:var(--navy)}body.theme-light .modal-backdrop{background:rgba(20,33,61,.5)}body.theme-light .form-grid input,body.theme-light .form-grid select{background:#f4f5f7;border-color:#dfe2e7;color:var(--navy)}body.theme-light .ring:after{background:#fff}body.theme-light .timer-ring:after{background:#fff}
@media(min-width:700px){body{padding:22px 0}.app-shell{min-height:calc(100dvh - 44px);border-radius:32px}.topbar{top:22px;border-radius:32px 32px 0 0}.bottom-nav{bottom:22px;border-radius:0 0 32px 32px}.modal-card{border-radius:26px;margin-bottom:20px}.view{min-height:calc(100dvh - 44px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
