@font-face{font-family:Inter;src:url('/inter-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('/inter-bold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{color-scheme:dark;--ink:#f7f8fa;--muted:#999fac;--paper:#101619;--line:#293035;--green:#cfff57;--dark:#cfff57;--surface:#192024;--raised:#232b30;--accent:#cfff57}html{background:var(--paper);scrollbar-color:#3c454b var(--paper)}body{font-family:Inter,Arial,sans-serif;background:var(--paper);color:var(--ink);font-size:15px;-webkit-font-smoothing:antialiased}h1,h2,h3,.brand{font-family:Inter,Arial,sans-serif}button,input,select{font-family:inherit}button{min-height:44px}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button svg{width:20px;height:20px;flex-shrink:0;stroke-width:1.8}p{line-height:1.65}aside{background:#0e1417;border-color:var(--line);width:220px;padding:30px 22px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;margin:0;letter-spacing:3px;color:#f7f8fa}.brand img{width:36px;height:36px;object-fit:contain}.brand>span{display:block;font-size:15px;font-weight:800;white-space:nowrap}.brand small{display:block;color:#8d95a4;font-size:6px;letter-spacing:2.2px;margin-top:4px}.brand-header{height:78px;display:flex;align-items:center;justify-content:space-between;border:0;padding:0;gap:12px}.brand-header .brand{display:none}.brand-header [hidden]{display:none!important}.pro-link{color:var(--accent);display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;margin-left:auto;padding:0}.pro-link svg{width:16px;height:16px}aside nav{margin-top:38px}aside nav button{color:var(--muted);font-size:15px;padding:14px 12px}aside nav button span{font-size:14px}aside nav button.active{background:#cfff5710;color:var(--accent)}aside .sidebar-settings{margin-top:auto;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}main{margin-left:220px;padding:0 34px 40px;max-width:1200px}#app{padding:0 0 28px;min-height:calc(100dvh - 150px)}.train-home{max-width:760px;margin:auto}.train-home h1{font-size:56px;font-weight:800;line-height:1.02;letter-spacing:-2.3px;margin:15px 0 28px}.training-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:25px}.training-day{text-align:center;color:var(--muted);font-size:13px;display:grid;justify-items:center;gap:6px}.training-day b{font-size:18px;color:#f6f8fa;font-weight:700;border-radius:9px;width:44px;height:42px;display:grid;place-items:center}.training-day small{height:6px;min-width:5px;background:#6e7686;border-radius:100%;display:block}.training-day.today{color:var(--accent)}.training-day.today b{background:var(--accent);color:#11181c}.training-day.today small{background:var(--accent)}.training-day.trained small{color:var(--accent);background:none;height:10px}.training-day small svg{width:12px;height:12px}.today-workout{position:relative;min-height:370px;padding:40px 0 66px;isolation:isolate;overflow:hidden}.athlete{position:absolute;z-index:-1;inset:0 0 0 auto;width:76%;height:100%;object-fit:cover;object-position:center 37%}.today-copy{max-width:52%;position:relative}.today-copy .eyebrow{font-size:10px;letter-spacing:2px;color:#9ba2b0}.today-copy h2{font-size:64px;line-height:.98;letter-spacing:-2px;font-weight:800;margin:15px 0 18px}.workout-meta{font-size:15px;font-weight:500;color:#b1b7c3;margin:0 0 15px;white-space:nowrap}.workout-description{font-size:14px;color:#9fa6b5;max-width:220px;line-height:1.6}.primary{background:var(--accent);color:#11181c;border-radius:12px;padding:15px 20px;font-weight:700;font-size:14px;min-height:48px;gap:12px;box-shadow:none;letter-spacing:0}.primary:hover{background:#ddff83}.primary.lime{background:var(--accent);color:#101619}.start-workout{position:absolute;bottom:0;left:0;right:0;width:100%;display:flex;justify-content:center;height:48px;border-radius:12px}.start-workout>svg:first-child{fill:currentColor;width:17px;height:17px;margin-left:auto}.start-workout>svg:last-child{margin-left:auto;width:22px;height:22px}.start-workout span{margin-right:0}.section-head{margin:25px 0 15px;align-items:center;gap:10px}.section-head h2{font-size:23px;font-weight:750;letter-spacing:-.7px}.section-head button{font-size:12px;color:#a9b0be;display:inline-flex;align-items:center;gap:6px;padding:0}.section-head button svg{width:15px;height:15px}.movement-list{display:grid}.movement-row{width:100%;display:flex;align-items:center;text-align:left;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink)}.movement-thumb{width:134px;height:76px;flex-shrink:0;border-radius:10px;overflow:hidden;background:#fff}.movement-thumb .movement-demo{margin:0;display:block}.movement-thumb img{width:134px;height:76px;object-fit:contain;border-radius:0}.movement-thumb figcaption{display:none}.movement-number{font-size:13px;font-weight:600;color:#8e96a6;align-self:flex-start;margin-top:10px}.movement-copy{min-width:0;flex:1}.movement-copy strong{display:block;font-size:16px;line-height:1.35;font-weight:700;letter-spacing:-.3px;text-transform:capitalize}.movement-copy small{display:block;font-size:12px;color:#9da5b5;line-height:1.5;margin:3px 0 10px;text-transform:capitalize}.movement-copy b{font-size:12px;font-weight:500;display:block}.row-chevron{width:34px;height:34px;background:#242c31;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.row-chevron svg{width:17px;height:17px}.routine-section{margin-top:30px}.routine-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.routine-option{position:relative;text-align:left;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.routine-option>span{display:block;margin-bottom:20px;color:var(--accent)}.routine-option strong,.routine-option small{display:block}.routine-option strong{font-size:18px;margin-bottom:6px}.routine-option small{font-size:12px;color:var(--muted)}.routine-option>svg{position:absolute;top:20px;right:16px;color:var(--muted)}
.page-head{margin:12px 0 24px;display:block}.page-head h1{font-size:36px;font-weight:800;letter-spacing:-1.3px}.page-head p{font-size:14px;color:var(--muted)}.eyebrow{color:#8f98a7;font-size:10px;letter-spacing:1.8px}.page-head>.primary{margin-top:10px}.secondary,.chip,.small{border:1px solid #333d44;background:#192126;color:#d6dce4;border-radius:10px;font-size:13px;min-height:42px;padding:10px 14px}.chip.active,.chip:hover{background:#cfff5718;border-color:#cfff5755;color:var(--accent)}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar .primary,.toolbar .secondary{font-size:12px}.filters{gap:10px;display:flex;flex-wrap:wrap}.filters input,.filters select,input,select{background:#192126;border:1px solid #343e46;color:#f7f8fa;border-radius:10px;padding:13px;font-size:14px;min-height:48px}input::placeholder{color:#858f9e}.filters input{flex:1;min-width:190px}.filters select{font-size:12px}.filters select option{color:var(--ink)}.grid{gap:14px}.exercise{background:#192126;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:none}.exercise-visual{background:#fff;height:215px;padding:30px 5px 4px}.exercise-visual .movement-demo img{width:165px;height:165px}.exercise-visual figcaption{font-size:7px;color:#6d7480}.category-label{top:10px;left:10px;background:#11181ce8;color:#e6e9ed;font-size:8px;letter-spacing:.7px}.exercise-body{padding:16px}.exercise h3{font-size:15px;font-weight:700;line-height:1.4;min-height:42px}.exercise p{font-size:11px;color:#a4aebe}.card-actions button{font-size:12px;color:var(--accent)}.star{background:#192126e8;color:#b7c0ca;top:8px;right:8px;width:34px;height:34px;border-radius:50%;font-size:21px}.star.on{color:var(--accent)}.card-actions .add{background:var(--accent);color:#101619;width:34px;height:34px;font-size:20px}.stat,.work-row,.history,.day,.empty{background:#192126;border-color:var(--line);color:var(--ink);box-shadow:none}.stat strong{color:var(--accent);font-size:32px}.stat label,.stat small,.history p{color:var(--muted)}.session-progress{background:#192126;border-color:var(--line);padding:16px;border-radius:12px;margin:22px 0}.session-progress progress{accent-color:var(--accent)}.workout-name{color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;width:100%;font-size:25px;letter-spacing:-.5px;margin:12px 0 20px}.work-row{border:1px solid var(--line);border-radius:14px;padding:20px;margin:14px 0}.row-head h3{font-size:17px;text-transform:capitalize}.row-head small{color:var(--muted);font-size:11px}.row-head button{color:var(--accent);font-size:12px}.session-demo{width:100%;display:flex;align-items:center;gap:16px;text-align:left;background:#101619;border-radius:12px;margin:18px 0 22px;padding:12px}.session-demo .movement-demo{width:100px;flex-shrink:0}.session-demo .movement-demo img{width:100px;height:90px}.session-demo figcaption{font-size:6px;color:#99a2af}.session-demo>span{display:flex;align-items:center;gap:8px;color:#d8dfe8;font-size:12px}.session-demo>span svg{width:16px;height:16px;color:var(--accent)}.set-row{gap:12px;grid-template-columns:30px 1fr 1fr 44px}.set-row input{background:#11191e;border-color:#2f3b44;font-size:16px;text-align:center}.set-row.done{background:#cfff5710}.set-row button{color:var(--accent);font-size:24px}.set-label{font-size:10px;color:#9ca6b4}.active-session-bar{display:flex;align-items:center;gap:12px;color:#929ba9;font-size:10px;letter-spacing:1px;margin-bottom:18px}.active-session-bar b{margin-left:auto;font-size:21px;color:var(--accent);font-variant-numeric:tabular-nums}.active-session-bar button{color:#f5f7fa}.day b{color:#f5f7fa}.day.hit{background:#cfff5715;border-color:#cfff5766;color:var(--accent)}.day.hit b{color:var(--accent)}.history h3{font-size:16px}.history button{color:var(--accent)}.week{gap:6px}.day{padding:14px 3px}.profile-identity{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:25px}.profile-identity img{width:54px;height:54px}.profile-identity h2{font-size:22px}.profile-identity span{font-size:12px;color:var(--muted)}#profile-form{display:grid;gap:12px}.field-label{font-size:12px;color:#aeb6c4;margin-top:6px}#profile-form .primary{margin-top:12px}.profile-actions{margin-top:26px}.profile-actions button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border-bottom:1px solid var(--line);padding:18px 0}.profile-actions button>svg:first-child{color:var(--accent)}.profile-actions button span{flex:1;font-size:14px}.profile-actions small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.profile-actions button>svg:last-child{color:#8691a0;width:17px}.version-label{font-size:11px;color:#7d8796;text-align:center;margin:28px 0}.membership-status{background:#cfff5715;color:var(--accent);border:1px solid #cfff5730;border-radius:12px;padding:18px;font-weight:600;margin:20px 0}
dialog{background:#172025;color:var(--ink);padding:26px;border:1px solid #323e47;border-radius:20px;max-height:90dvh;box-shadow:0 25px 100px #0007}dialog::backdrop{background:#020608aa;backdrop-filter:blur(8px)}dialog h2{font-weight:750;font-size:26px;letter-spacing:-.8px}.modal-head button{width:44px;min-height:44px;border-radius:50%;background:#232e35;display:grid;place-items:center}.tags span{background:#26323b;color:#b8c3d0;font-size:11px}.demo-panel{background:#101619;border-color:#293740;border-radius:16px;padding:22px 14px}.demo-panel .movement-demo img{background:white;box-shadow:none}.demo-panel .movement-demo figcaption{color:#8995a5;font-size:9px}.demo-panel .eyebrow{color:var(--accent)}.practice-tools{border-color:var(--line);background:#192126}.practice-tools summary{font-size:13px;padding:18px}.practice-tools .video-space{background:transparent}.upload{background:#26323a;border-color:#394650;color:#e9eef3;min-height:44px;font-size:13px}.steps li{font-size:14px;color:#c4cdd7;line-height:1.8}.steps li::marker{color:var(--accent);font-weight:700}.video-space{background:#192126}.url-row input{background:#101619}.demo-hint{font-size:12px;color:#9ba6b5}#settings-dialog>p{color:#b2bdcb;font-size:14px}#settings-dialog h3{margin-top:25px}#settings-dialog input{max-width:100%;width:100%}#settings-dialog .primary,#settings-dialog .secondary{margin-top:8px}.sync-panel{border-color:var(--line)!important;background:#101619}#toast{background:var(--accent);color:#101619;font-size:13px;font-weight:600;border-radius:12px;max-width:90%;z-index:200}#timer{background:#263038;color:#f7f8fa;border:1px solid #485743;z-index:35}#timer small,#timer button{color:var(--accent)}footer{font-size:10px;color:#737f8d;border-color:var(--line);line-height:1.7}footer a{color:#9aa6b4}body[data-page=home] footer{display:none}.loading{color:var(--muted)}
@media(max-width:700px){aside{position:fixed;inset:auto 0 0;width:100%;height:70px;padding:0 12px env(safe-area-inset-bottom);background:#101619fa;border-top:1px solid #293035;z-index:40}.sidebar-settings,aside>.brand{display:none!important}aside nav{height:69px;margin:0;display:flex;justify-content:space-between;gap:0}aside nav button{position:relative;display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;padding:8px 6px 9px;min-width:65px;min-height:64px;color:#929aa9;border-radius:0;background:none!important}aside nav button svg{width:24px;height:24px;stroke-width:2}aside nav button span{font-size:11px;line-height:1.3}aside nav button.active{color:var(--accent)}aside nav button.active:after{content:'';position:absolute;bottom:1px;left:9px;right:9px;height:2px;background:var(--accent);border-radius:2px}main{margin:0;padding:0 22px 85px;max-width:none}.brand-header{height:68px}.brand-header .brand{display:flex;gap:8px}.brand img{width:30px;height:30px}.brand>span{font-size:14px;letter-spacing:2.7px}.brand small{font-size:5.5px;letter-spacing:1.9px;margin-top:4px}.pro-link{font-size:10px;gap:5px}.pro-link svg{width:14px;height:14px}#app{padding:0 0 15px;min-height:calc(100dvh - 153px)}.train-home h1{font-size:40px;letter-spacing:-1.6px;line-height:1.02;margin:11px 0 21px}.training-week{gap:5px;margin-bottom:5px}.training-day{font-size:12px;gap:5px}.training-day b{font-size:16px;width:37px;height:34px;border-radius:8px}.training-day small{height:5px;min-width:5px}.today-workout{min-height:301px;padding:37px 0 54px;margin:0 -1px}.athlete{right:-20px;width:88%;height:260px;object-position:center 25%}.today-copy{max-width:54%}.today-copy .eyebrow{font-size:8px;letter-spacing:1.7px}.today-copy h2{font-size:50px;line-height:.98;letter-spacing:-1.6px;margin:11px 0 13px}.workout-meta{font-size:13px;margin:0 0 12px}.workout-description{font-size:12px;line-height:1.6;max-width:158px;margin:0;color:#9da5b5}.start-workout{height:48px;min-height:48px;font-size:14px;padding:12px 17px;border-radius:12px;gap:12px}.start-workout>svg:first-child{width:15px;height:15px}.section-head{margin:24px 0 9px}.section-head h2{font-size:21px;letter-spacing:-.7px}.section-head button{font-size:11px;gap:5px}.section-head button svg{width:13px;height:13px}.movement-row{gap:8px;padding:9px 0}.movement-thumb{width:124px;height:76px;border-radius:10px}.movement-thumb img{width:124px;height:76px}.movement-number{font-size:11px;margin-top:5px}.movement-copy strong{font-size:14px;line-height:1.3;letter-spacing:-.3px}.movement-copy small{font-size:10px;line-height:1.45;margin:3px 0 10px}.movement-copy b{font-size:11px}.row-chevron{width:31px;height:31px}.row-chevron svg{width:17px;height:17px}.routine-section{margin-top:29px}.routine-section .section-head h2{font-size:18px}.routine-section .section-head button{font-size:10px}.routine-options{gap:10px}.routine-option{padding:16px}.routine-option strong{font-size:16px}.routine-option small{font-size:10px;line-height:1.5}.page-head{margin:14px 0 24px}.page-head h1{font-size:32px;margin:10px 0}.page-head p{font-size:13px}.toolbar .primary,.toolbar .secondary{font-size:11px;padding:12px;min-height:44px}.grid{gap:12px}.exercise-visual{height:183px;padding:28px 3px 4px}.exercise-visual .movement-demo img{width:140px;height:140px}.exercise-body{padding:13px}.exercise h3{font-size:13px;min-height:37px}.exercise p{font-size:10px}.card-actions{margin-top:14px}.card-actions button{font-size:11px}.filters input{font-size:13px;flex-basis:100%}.filters select{font-size:12px;max-width:calc(50% - 5px);width:calc(50% - 5px);min-width:0}.stats{gap:8px}.stat{padding:16px 10px;border-radius:12px}.stat strong{font-size:27px}.stat label{font-size:8px;letter-spacing:.5px}.stat small{font-size:9px;line-height:1.5}.work-row{padding:15px}.row-head h3{font-size:15px}.row-head small{font-size:10px}.row-head button{font-size:11px;min-width:36px}.set-row{grid-template-columns:25px 1fr 1fr 42px;gap:10px}.set-row input{min-width:0;width:100%;font-size:15px;padding:12px 8px}.session-demo{gap:12px}.session-demo>span{font-size:11px;gap:6px}.session-demo .movement-demo{width:90px}.session-demo .movement-demo img{width:90px;height:82px}.session-demo figcaption{font-size:5px}.history{padding:17px}.history-top{flex-wrap:wrap}.history p{font-size:11px}.day{font-size:10px}.day b{font-size:17px}.profile-screen{padding-top:2px}.profile-actions button span{font-size:14px}.profile-actions small{font-size:11px}dialog{padding:22px 18px;max-width:calc(100% - 22px);border-radius:20px}dialog h2{font-size:24px}.steps li{font-size:13px}.url-row{display:block}.url-row input{width:100%;margin-bottom:8px}.url-row button{width:100%}.demo-panel{padding:18px 12px}.demo-panel .movement-demo img{width:180px;height:180px}#timer{bottom:83px;right:15px;left:15px;justify-content:space-between;padding:14px 18px}#toast{bottom:86px}.version-label{font-size:10px}footer{font-size:9px}.loading{padding:70px 15px}}
@media(min-width:701px){.train-home{max-width:650px}.profile-screen{max-width:640px}.brand-header{border-bottom:1px solid var(--line);margin-bottom:24px}aside .brand img{width:34px;height:34px}aside .brand span{font-size:13px;letter-spacing:2px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.today-workout{min-height:390px}.today-copy h2{font-size:68px}}
html{scrollbar-width:none}html::-webkit-scrollbar{display:none}.movement-thumb .movement-demo figcaption{display:none}.movement-row{position:relative}.movement-row:after{content:'© Gym visual · gymvisual.com';position:absolute;left:0;bottom:1px;font-size:5px;color:#808a96}.movement-row{padding-bottom:13px}
@media(max-width:700px){.brand-header .brand{gap:9px}.brand-header .brand img{width:36px;height:36px}.brand-header .brand>span{font-size:15px}.train-home h1{margin-bottom:11px}.today-workout{min-height:279px}.section-head{margin-top:19px}.section-head button{min-height:30px}.movement-row{padding-top:8px;padding-bottom:12px}.athlete{height:238px}.movement-copy strong{font-size:14px}}
@media(max-width:700px){.today-workout{height:292px;min-height:292px;padding-top:30px}.athlete{height:244px}.train-home>.section-head{margin-bottom:2px}}
@media(max-width:700px){.today-workout{padding-top:24px;overflow:visible}.today-copy h2{font-size:48px;line-height:.96;margin-top:4px;margin-bottom:9px}.workout-meta{margin-bottom:9px}.athlete{top:-40px;height:284px}.training-week{position:relative;z-index:1}aside nav button[data-nav=home] svg{transform:rotate(-45deg)}}
