@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.login-page{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column}.login-header{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1120px,100%);margin:0 auto;padding:24px}.login-header .brand{margin:0}.login-header-actions{display:flex;align-items:center;gap:14px}.demo-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:4px 8px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--surface);font-size:10px;font-weight:700;letter-spacing:.4px}.login-layout{width:min(1000px,100%);margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding:40px 24px}.login-card{padding:36px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 4px 0 var(--line),var(--shadow)}.login-card h1{margin-top:18px;font-size:36px;letter-spacing:-1.2px}.login-intro{color:var(--muted);font-size:14px;line-height:1.8;margin-top:14px}.login-form{display:grid;gap:22px;margin-top:30px}.login-field{display:grid;gap:9px}.login-field label{font-size:13px;font-weight:700}.login-field input{min-height:52px;font-size:16px}.login-password{position:relative}.login-password input{padding-right:56px}.password-toggle{position:absolute;right:4px;top:4px;color:var(--muted)}.login-submit{width:100%;margin-top:2px}.login-footnote{color:var(--muted);font-size:12px;line-height:1.7;margin-top:24px}.login-error{color:var(--error);font-size:13px;font-weight:550;line-height:1.7;padding:12px;border:1px solid currentColor;border-radius:8px}.demo-accounts>h2{font-size:25px;line-height:1.35;letter-spacing:-.6px;margin-top:16px}.demo-accounts>p{color:var(--muted);font-size:13px;line-height:1.8;margin-top:12px}.demo-account-list{display:grid;gap:14px;margin-top:24px}.demo-account{width:100%;display:flex;align-items:flex-start;gap:16px;padding:20px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 0 var(--line);transition:border-color .2s,transform .25s var(--ease-out),box-shadow .25s}.demo-account>svg{color:var(--accent)}.demo-account>span{min-width:0;flex:1}.demo-account strong{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:15px;font-weight:750}.demo-account-email{display:block;font-size:12px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.demo-account small{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin-top:10px}.demo-account-action{display:inline-flex;gap:7px;align-items:center;color:var(--accent);font-size:11px;font-weight:700;margin-top:12px}.demo-account:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.demo-password-hint code{display:inline-block;font-size:13px;font-weight:700;color:var(--ink);background:var(--surface);padding:2px 7px;border:1px solid var(--line);border-radius:5px}.demo-accounts>.demo-data-note{font-size:11px;margin-top:16px}.login-footer{color:var(--muted);font-size:11px;text-align:center;padding:20px 24px}.demo-session{border-top:1px solid var(--line)}.sidebar-session{margin:auto 12px 0;padding-top:18px}.session-person{display:flex;gap:12px;align-items:center}.session-person strong{font-size:13px;font-weight:750}.session-person p{color:var(--muted);font-size:11px;margin-top:2px}.session-exit{margin-top:12px;font-size:12px}.mobile-session{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px}.mobile-session .session-exit{margin:0;flex-shrink:0}@media(hover:hover)and (pointer:fine){.demo-account:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 5px 0 var(--line),var(--shadow)}}@media(max-width:760px){.login-header{padding:20px}.login-header .brand{gap:10px;font-size:20px}.login-header .brand img{width:40px;height:40px}.login-header-actions>.demo-badge{display:none}.login-layout{max-width:520px;grid-template-columns:1fr;gap:36px;padding:20px 20px 32px}.login-card{padding:26px 22px;border-radius:16px}.login-card h1{font-size:30px}.login-form{margin-top:24px;gap:20px}.demo-accounts{padding:0 4px}.demo-accounts>h2{font-size:23px}}@media(max-width:360px){.login-layout{padding-left:14px;padding-right:14px}.mobile-session .demo-badge{display:none}}@media(prefers-reduced-motion:reduce){.demo-account:hover,.demo-account:active{transform:none}}:root{font-family:Plus Jakarta Sans Variable,sans-serif;font-synthesis:none;font-weight:450;line-height:1.5;--bg: #f3f9ff;--sidebar: #edf6ff;--surface: #fff;--ink: #0a1233;--muted: #55658a;--accent: #0561cf;--accent-hover: #0057bd;--tint: #dcecff;--line: #ccddf2;--soft: #e5effb;--success: #23714d;--error: #b62935;--control-line: #7b8ea9;--ease-out: cubic-bezier(.2,.8,.2,1);--ease-spring: cubic-bezier(.2,.9,.3,1.12);--shadow: 0 12px 28px #15395e14;--menu-shadow: 0 16px 40px #0c294e26;color:var(--ink);background:var(--bg);color-scheme:light}:root[data-theme=dark]{--bg: #0d1727;--sidebar: #101e31;--surface: #15263b;--ink: #f0f5ff;--muted: #afc0dc;--accent: #77b9ff;--accent-hover: #a1cfff;--tint: #203c5c;--line: #354b66;--soft: #1b304a;--success: #8bd7af;--error: #ffadb5;--control-line: #6c85a6;color-scheme:dark;--shadow: 0 12px 28px #0003;--menu-shadow: 0 16px 40px #0006}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;outline-offset:4px}button,a,select,input[type=checkbox]{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--accent)}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}input,select,textarea{color:var(--ink);background:var(--bg);border:1px solid var(--control-line);border-radius:10px}input,textarea{width:100%;padding:12px 14px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[type=search]::-webkit-search-cancel-button{display:none}select{padding:10px 36px 10px 16px;min-height:44px;max-width:100%}textarea{resize:vertical}img{max-width:100%;display:block}svg{flex-shrink:0}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{line-height:1.2}h1{font-size:34px;font-weight:760;letter-spacing:-1.3px}h2{font-size:26px;font-weight:740;letter-spacing:-.8px}h3{font-size:17px;font-weight:700;letter-spacing:-.3px}.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}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 20px;background:var(--surface);z-index:99;border:2px solid var(--accent);border-radius:8px}.skip-link:focus{top:16px}.eyebrow{font-size:13px;letter-spacing:1.6px;font-weight:750;color:var(--accent)}.sidebar{width:278px;position:fixed;inset:0 auto 0 0;z-index:10;background:var(--sidebar);padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:16px;white-space:nowrap;padding:0 16px;font-size:24px;letter-spacing:-.8px;font-weight:800}.brand img{border-radius:9px;flex-shrink:0}.nav-eyebrow{font-size:10.5px;letter-spacing:1.2px;font-weight:650;color:var(--muted);padding:0 16px;margin:38px 0 18px}.side-nav{display:flex;flex-direction:column;gap:12px}.side-nav a{display:flex;align-items:center;gap:22px;min-height:56px;padding:12px 24px;border-radius:9px;color:var(--muted);font-weight:550;font-size:16px;transition:background .2s,color .2s,transform .25s var(--ease-out)}.side-nav a svg,.bottom-nav a svg{transition:transform .28s var(--ease-spring)}.side-nav a:hover{background:var(--soft);color:var(--ink)}.side-nav a.active{color:var(--accent);background:var(--tint);font-weight:700}.main-content{margin-left:278px;padding:32px 40px 48px;max-width:1800px;min-height:100vh}.mobile-header,.bottom-nav{display:none}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.page-heading p{font-size:15px;line-height:1.6;color:var(--muted);margin-top:8px}.heading-actions{display:flex;align-items:center;gap:14px}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;transition:background .2s,color .2s,transform .25s var(--ease-spring),box-shadow .2s}.icon-button>span{display:inline-flex}.icon-button:active{transform:scale(.91)}.icon-button:hover{background:var(--soft)}.theme-button{background:var(--soft);color:var(--muted)}.button{min-height:52px;padding:12px 24px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.4;font-size:15px;font-weight:650;transition:background .2s,transform .25s var(--ease-out),color .2s,box-shadow .25s;border:1px solid transparent;text-align:center}.button>svg,.text-button>svg{transition:transform .25s var(--ease-out)}.button>span{display:inline-flex}.button:active{transform:translateY(1px)}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-hover)}[data-theme=dark] .button-primary{color:#09203c}.button-secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button-secondary:hover{background:var(--soft)}.text-button{color:var(--accent);font-size:14px;font-weight:650;min-height:44px;padding:6px 4px;display:inline-flex;align-items:center;gap:8px}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.discovery{margin-top:26px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.search-field{display:flex;align-items:center;gap:14px;position:relative;min-height:52px;border:1px solid var(--control-line);border-radius:10px;padding:0 15px;background:var(--bg);color:var(--muted);transition:border-color .2s,background .2s,box-shadow .25s}.search-field:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px var(--soft)}.search-field>svg{transition:color .2s,transform .25s var(--ease-out)}.search-field:focus-within>svg{color:var(--accent);transform:scale(1.1)}.search-field input{border:0;outline:none;background:transparent;padding:13px 0;min-width:0;font-size:16px;border-radius:0}.search-field input:focus-visible{outline:none}.search-field:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.clear-search{width:44px;height:44px;min-width:44px}.filter-row{display:grid;grid-template-columns:auto 1.15fr 1fr 1fr;align-items:center;gap:12px;margin-top:14px}.filter-caption{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:650;color:var(--muted);padding-right:4px}.select-trigger{display:inline-flex;align-items:center;gap:9px;min-width:0;min-height:46px;padding:10px 12px;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--control-line);border-radius:10px;font-size:13px;font-weight:550;line-height:1.5;transition:background .2s,border-color .2s,box-shadow .2s}.select-value{min-width:0}.select-compact-value{display:none}.select-leading{display:inline-flex;color:var(--muted);flex-shrink:0}.select-chevron{display:inline-flex;margin-left:auto;color:var(--muted);transition:transform .24s var(--ease-out)}.select-trigger[data-state=open] .select-chevron{transform:rotate(180deg)}.select-trigger[data-state=open]{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.select-trigger.has-value{color:var(--accent);border-color:var(--accent);background:var(--soft)}.select-trigger.has-value .select-leading{color:var(--accent)}.select-content{z-index:40;min-width:var(--radix-select-trigger-width);max-width:calc(100vw - 24px);max-height:min(360px,var(--radix-select-content-available-height));overflow:hidden;background:var(--surface);color:var(--ink);border:1px solid var(--control-line);border-radius:12px;box-shadow:var(--menu-shadow);transform-origin:var(--radix-select-content-transform-origin)}.select-content[data-state=open]{animation:menu-in .2s var(--ease-out)}.select-content[data-state=closed]{animation:menu-out .13s ease-in}.select-viewport{padding:6px}.select-label{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.6px;padding:8px 10px 10px}.select-option{min-height:44px;position:relative;display:flex;align-items:center;gap:16px;padding:10px 36px 10px 12px;font-size:13px;border-radius:7px;outline:none;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background .15s,color .15s}.select-option[data-state=checked]{background:var(--soft);color:var(--accent);font-weight:700}.select-option[data-highlighted]{background:var(--tint);color:var(--ink);box-shadow:inset 0 0 0 2px var(--accent)}.select-check{position:absolute;right:11px;display:inline-flex;color:var(--accent)}.select-scroll{display:flex;align-items:center;justify-content:center;height:26px;background:var(--surface);color:var(--muted)}.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.filter-hint{align-self:center;color:var(--muted);font-size:11px}.filter-chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border-radius:8px;background:var(--soft);color:var(--accent);font-size:12px;font-weight:650;animation:chip-in .2s var(--ease-out);transition:background .2s}.filter-chip:hover{background:var(--tint)}.results-heading{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.results-count{font-size:12px;color:var(--muted);white-space:nowrap}.reset-filters{margin-left:auto}.exercise-section{margin-top:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-bottom:14px}.section-heading h2{font-size:20px;letter-spacing:-.5px}.exercise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.exercise-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:15px;background:var(--surface);transition:border-color .25s,box-shadow .3s var(--ease-out),transform .3s var(--ease-out);animation:card-in .42s var(--ease-out) var(--card-delay) backwards}.card-open{display:flex;flex-direction:column;width:100%;height:100%;padding:0;text-align:left;border-radius:14px}.card-open:focus-visible{outline-offset:4px}.card-open:active{transform:scale(.985)}.card-media{position:relative;width:100%;overflow:hidden;border-radius:14px 14px 0 0;aspect-ratio:1.65;background:var(--soft)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease-out)}.card-suggestion{position:absolute;left:12px;bottom:12px;padding:5px 9px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--surface);font-size:10px;font-weight:700;letter-spacing:.3px}.card-body{width:100%;padding:14px;display:flex;flex:1;flex-direction:column}.card-kicker{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:8px}.muscle-tag{font-size:12px;font-weight:650;color:var(--accent);background:var(--soft);padding:4px 8px;border-radius:5px}.card-level{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12px}.card-body h3{margin-top:12px;min-height:2.9em;font-size:15px;font-weight:730;line-height:1.45;letter-spacing:-.25px;transition:color .25s}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;margin-top:auto}.card-equipment{font-size:12px;color:var(--muted)}.card-arrow{width:24px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0;transition:color .25s}.card-arrow svg{transition:transform .3s var(--ease-out)}.bookmark-button{position:absolute;right:9px;top:9px;background:var(--surface);color:var(--ink);width:44px;height:44px;box-shadow:0 2px 8px #001a3929;border:1px solid var(--line)}.bookmark-button.is-saved{background:var(--tint);border-color:var(--accent)}.save-feedback{display:inline-flex;animation:saved-pop .45s var(--ease-spring)}.is-saved{color:var(--accent)}.catalog-footer{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:12px}.catalog-footer>span{font-weight:750;color:var(--ink)}.catalog-footer small{margin-left:auto;font-size:11px}.empty-state{min-height:360px;max-width:560px;margin:40px auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px}.empty-state>svg{color:var(--accent)}.empty-state p{max-width:44ch;color:var(--muted);font-size:16px;line-height:1.7}.empty-state h2{font-size:26px}.empty-state .button{margin-top:6px}.loading-state{min-height:400px;display:grid;place-items:center;color:var(--muted)}.modal{position:fixed;border:0;padding:0;background:var(--surface);color:var(--ink);border-radius:20px;width:min(820px,calc(100vw - 48px));max-height:calc(100dvh - 64px);overflow:auto;box-shadow:0 24px 90px #06132c3d;overscroll-behavior:contain}.modal::backdrop{background:#04142a8c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal[open]{animation:dialog-in .32s var(--ease-out)}.modal[open]::backdrop{animation:backdrop-in .25s ease-out}.modal-close{position:absolute;right:14px;top:14px;background:var(--surface);color:var(--ink);z-index:2;box-shadow:0 2px 12px #001a3920}.detail-image{width:100%;height:300px;object-fit:cover}.exercise-video{margin:0}.exercise-video video{display:block;width:100%;aspect-ratio:720/404;max-height:min(42dvh,380px);object-fit:contain;background:#080f1b}.exercise-video video:focus-visible{outline-offset:-4px}.exercise-video figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;padding:12px 24px;font-size:11px;line-height:1.8;color:var(--muted);border-bottom:1px solid var(--line)}.exercise-video figcaption a{text-decoration:underline;text-underline-offset:3px}.video-description{padding:0 24px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.8}.video-description summary{min-height:44px;padding:11px 0;cursor:pointer;font-weight:650;color:var(--ink)}.video-description p{padding:0 0 18px}.video-empty-note{margin-top:20px;font-size:12px;line-height:1.8;color:var(--muted)}.video-error{display:grid;place-items:center;gap:20px;padding:36px 28px;min-height:230px;background:var(--bg)}.video-error p{color:var(--error);font-size:14px;line-height:1.8;max-width:54ch;text-align:center}.dialog-body{padding:32px 38px 38px}.dialog-body>h2{font-size:34px;letter-spacing:-1px;max-width:90%}.back-button{margin-top:-8px;margin-bottom:18px}.dialog-body>.eyebrow{margin-bottom:10px}.detail-summary{margin-top:14px;font-size:16px;color:var(--muted);line-height:1.7;max-width:65ch}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0}.detail-facts dt{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.detail-facts dd{font-size:15px;font-weight:650;margin-top:7px}.instructions{margin-top:32px}.instructions h3,.coach-tips h3{font-size:21px;letter-spacing:-.5px}.instructions ol{padding:0;list-style-position:inside;line-height:1.8;font-size:15px;margin:16px 0 0}.instructions li{padding:16px 18px;margin-bottom:10px;background:var(--bg);border:1px solid var(--line);border-radius:10px}.instructions li::marker{color:var(--accent);font-weight:750}.coach-tips{background:var(--soft);padding:24px;border-radius:12px;margin-top:26px}.coach-tips p{color:var(--muted);font-size:14px;line-height:1.7;margin-top:10px}.media-note{font-size:11px;color:var(--muted);margin-top:22px;line-height:1.7}.toast{position:fixed;left:calc(50% + 100px);bottom:24px;max-width:min(520px,calc(100vw - 40px));transform:translate(-50%,12px);padding:14px 22px;border-radius:12px;z-index:20;color:var(--ink);background:var(--surface);box-shadow:0 5px 26px #082c5124;border:1px solid var(--line);font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast:empty{padding:0;border:0}.toast-visible{opacity:1;transform:translate(-50%)}.demo-notice{font-size:13px;color:var(--muted);padding:16px 0 24px;line-height:1.7}.admin-toolbar{display:flex;gap:16px}.admin-toolbar .search-field{flex:1}.admin-count{color:var(--muted);font-size:13px;margin:22px 0 8px}.admin-list{border-top:1px solid var(--line)}.admin-row{display:flex;align-items:center;gap:20px;padding:18px 10px;border-bottom:1px solid var(--line);transition:background .2s}.admin-row:hover{background:var(--soft)}.admin-row>img{border-radius:8px;object-fit:cover;flex-shrink:0;width:88px;height:64px}.admin-exercise-info{flex:1;min-width:0}.admin-exercise-info h2{font-size:16px;line-height:1.5;letter-spacing:-.3px}.admin-exercise-info p{font-size:12px;color:var(--muted);margin-top:3px}.row-actions{display:flex;gap:4px}.status-label{font-size:11px;letter-spacing:.2px;padding:5px 10px;border-radius:6px}.status-label.active{background:var(--soft);color:var(--success)}.status-label.archived{background:var(--soft);color:var(--muted)}.archived-row>img{filter:grayscale(1);opacity:.7}.editor-dialog{width:min(720px,calc(100vw - 48px))}.editor-intro{color:var(--muted);margin:12px 0 24px;font-size:15px}.exercise-form{display:flex;flex-direction:column;gap:20px}.exercise-form label{font-size:14px;display:flex;flex-direction:column;gap:8px;font-weight:600}.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.form-field .select-trigger{width:100%;font-size:15px;font-weight:450}.exercise-form input,.exercise-form textarea,.exercise-form select{font-size:15px;font-weight:450}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.exercise-form fieldset{margin:0;border:0;padding:0}.exercise-form legend{font-size:14px;font-weight:650;margin-bottom:12px}.equipment-options{display:flex;flex-wrap:wrap;gap:6px 20px}.equipment-options label{flex-direction:row;align-items:center;min-height:44px;font-weight:450}.equipment-options input{width:19px;height:19px;accent-color:var(--accent)}.field-hint{font-size:12px;font-weight:450;color:var(--muted)}.exercise-form [aria-invalid=true]{border-color:var(--error)}.form-error{color:var(--error);font-size:14px;line-height:1.6}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}.profile-page{max-width:1100px}.profile-identity{display:flex;gap:24px;align-items:center;padding:40px 0;border-bottom:1px solid var(--line);margin-top:24px}.profile-identity>svg{color:var(--accent)}.profile-identity h2{font-size:32px;margin:10px 0}.profile-identity p:not(.eyebrow){color:var(--muted);font-size:15px}.profile-section{margin-top:36px}.profile-section>h2{font-size:21px;margin-bottom:12px}.profile-row{display:flex;gap:22px;align-items:center;min-height:100px;padding:20px 0;border-bottom:1px solid var(--line)}.profile-row>svg:first-child{color:var(--muted)}.profile-row>div{flex:1}.profile-row strong{font-size:15px}.profile-row p{font-size:13px;color:var(--muted);margin-top:6px}.profile-demo-note{margin-top:40px;padding:24px;background:var(--soft);border-radius:12px;max-width:65ch}.profile-demo-note h2{font-size:18px}.profile-demo-note p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:12px}.page-enter{animation:page-in .36s var(--ease-out)}.exercise-card:focus-within{border-color:var(--accent);box-shadow:var(--shadow)}.card-open:focus-visible .card-body h3{color:var(--accent)}.card-open:focus-visible .card-arrow{color:var(--accent)}.bottom-nav a:active svg{transform:scale(.88)}@media(hover:hover)and (pointer:fine){.exercise-card:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:var(--shadow)}.exercise-card:hover .card-media img{transform:scale(1.065)}.exercise-card:hover .card-body h3,.exercise-card:hover .card-arrow{color:var(--accent)}.exercise-card:hover .card-arrow svg{transform:translate(2px)}.side-nav a:hover{transform:translate(4px)}.side-nav a:hover svg{transform:rotate(-6deg) scale(1.07)}.bottom-nav a:hover svg{transform:translateY(-3px)}.button:hover:not(:active){transform:translateY(-2px);box-shadow:var(--shadow)}.button:hover>svg{transform:translate(3px)}.theme-button:hover{transform:rotate(14deg)}.bookmark-button:hover{background:var(--tint);transform:scale(1.08)}.select-trigger:hover{border-color:var(--accent);background:var(--bg)}}@keyframes page-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes menu-in{0%{opacity:0;transform:translateY(-5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes menu-out{0%{opacity:1}to{opacity:0;transform:translateY(-3px) scale(.98)}}@keyframes chip-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes saved-pop{0%,to{transform:scale(1)}40%{transform:scale(1.3) rotate(-10deg)}70%{transform:scale(.95)}}@media(min-width:1440px){.exercise-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1700px){.main-content{padding-left:64px;padding-right:64px}.exercise-grid{gap:28px}}@media(min-width:1024px)and (max-width:1180px){.sidebar{width:224px}.brand{gap:10px;font-size:20px;padding:0 8px}.brand img{width:42px;height:42px}.nav-eyebrow{font-size:9px;padding:0 8px}.side-nav a{gap:14px;padding:12px 16px;font-size:14px}.main-content{margin-left:224px;padding:32px 28px 48px}h1{font-size:34px;letter-spacing:-1.3px}.filter-caption{display:none}.filter-row{grid-template-columns:1.15fr 1fr 1fr;gap:8px}.filter-row .select-leading{display:none}.exercise-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.new-exercise{padding:12px 16px}.page-heading:has(.new-exercise){flex-wrap:wrap}}@media(max-width:1023px){.sidebar{display:none}.mobile-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:16px 20px;background:var(--sidebar);border-bottom:1px solid var(--line)}.mobile-header .brand{padding:0;font-size:22px;gap:12px}.mobile-header .brand img{width:40px;height:40px;border-radius:8px}.main-content{margin-left:0;padding:24px 20px 110px;min-height:calc(100dvh - 146px)}.desktop-theme,.catalog-page .heading-actions{display:none}.page-heading{gap:12px;flex-wrap:wrap}h1{font-size:30px;letter-spacing:-1.25px;line-height:1.2}.page-heading p{font-size:14px;line-height:1.6;margin-top:8px}.discovery{margin-top:20px;padding:14px}.search-field{gap:10px;padding:0 12px;border-radius:11px}.search-field input{font-size:16px;padding:13px 0}.search-field input::placeholder{font-size:13px}.search-field>svg{width:22px}.filter-row{grid-template-columns:1.15fr 1fr 1fr;gap:10px;margin-top:12px}.filter-caption{display:none}.results-heading{gap:8px 12px}.reset-filters{font-size:12px;padding:6px 0;min-height:44px;justify-content:flex-end;white-space:nowrap}.eyebrow{font-size:11px;letter-spacing:1.3px}.exercise-section{margin-top:20px}.section-heading{margin-bottom:12px}.section-heading h2{font-size:20px;letter-spacing:-.5px}.exercise-grid{gap:18px}.bookmark-button svg{width:20px}.catalog-footer{margin-top:40px;gap:10px;align-items:flex-start;flex-direction:column;padding-top:20px}.catalog-footer small{margin-left:0}.bottom-nav{display:flex;justify-content:space-around;align-items:center;gap:0;position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--surface);border-top:1px solid var(--line);padding:8px 8px max(10px,env(safe-area-inset-bottom));min-height:74px}.bottom-nav a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;color:var(--muted);font-size:12px;font-weight:650;border-radius:9px}.bottom-nav svg{width:23px;height:23px}.bottom-nav a.active{color:var(--accent);background:var(--soft)}.modal{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:16px}.dialog-body{padding:26px 22px}.dialog-body>h2{font-size:27px;letter-spacing:-.8px}.detail-image{height:220px}.detail-summary{font-size:14px}.detail-facts{gap:12px;margin:24px 0}.detail-facts dt{font-size:10px;gap:5px;align-items:flex-start;flex-direction:column}.detail-facts dd{font-size:12px}.instructions ol{font-size:14px;line-height:1.8}.instructions h3,.coach-tips h3{font-size:20px}.dialog-body>.button-secondary{width:100%;font-size:13px;padding:12px}.toast{left:50%;bottom:92px;font-size:12px;min-width:260px}.empty-state{min-height:320px;margin:24px 0}.empty-state h2{font-size:23px}.empty-state p{font-size:14px}.heading-actions{width:100%}.new-exercise{min-height:48px;font-size:13px}.demo-notice{padding:16px 0;font-size:12px}.admin-toolbar{flex-direction:column;gap:10px}.admin-toolbar .select-trigger{font-size:14px}.admin-row{display:grid;grid-template-columns:64px 1fr auto;gap:8px 12px;padding:16px 0}.admin-row>img{width:64px;height:60px;grid-row:1/3}.admin-exercise-info h2{font-size:13px}.admin-exercise-info p{font-size:10px}.row-actions{grid-column:3;grid-row:1/3;flex-direction:column;gap:0}.row-actions .icon-button{height:44px;width:44px}.status-label{justify-self:start;grid-column:2;font-size:10px;padding:2px 7px}.form-columns{gap:12px}.exercise-form{gap:18px}.exercise-form input,.exercise-form textarea,.exercise-form .select-trigger{font-size:16px}.equipment-options{gap:0 14px}.equipment-options label{font-size:12px}.exercise-form label,.exercise-form legend{font-size:13px}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.profile-identity{align-items:flex-start;gap:16px;padding:24px 0;margin-top:16px}.profile-identity>svg{width:54px;height:54px}.profile-identity h2{font-size:26px;margin:8px 0}.profile-identity p:not(.eyebrow){font-size:13px}.profile-section{margin-top:28px}.profile-row{gap:14px;flex-wrap:wrap}.profile-row>div{min-width:180px}.profile-row .button{width:100%;font-size:13px;min-height:46px}.profile-demo-note{padding:20px}.profile-demo-note p{font-size:13px}}@media(max-width:600px){.main-content{padding:22px 16px 108px}h1{font-size:28px;letter-spacing:-1px}.discovery{padding:12px;border-radius:13px}.filter-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.filter-row .select-trigger{font-size:12px;padding:10px 8px;gap:4px}.filter-row .select-leading{display:none}.filter-row .select-chevron svg{width:14px}.filter-row .select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-row .has-compact-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.filter-row .select-compact-value{display:inline}.results-heading{gap:5px 10px}.section-heading h2{font-size:18px}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.exercise-card{border-radius:12px}.card-open{border-radius:11px}.card-media{border-radius:11px 11px 0 0;aspect-ratio:1.35}.card-body{padding:12px 10px}.card-body h3{font-size:14px;letter-spacing:-.15px;min-height:3em}.card-kicker{gap:6px;align-items:flex-start;flex-direction:column}.card-level,.card-equipment,.muscle-tag{font-size:12px}.card-suggestion{left:8px;bottom:8px;font-size:9px}.bookmark-button{right:5px;top:5px}.card-bottom{gap:4px}.card-arrow{width:24px;height:24px}.card-arrow svg{width:16px}.form-columns{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.exercise-card:hover,.exercise-card:hover .card-media img,.exercise-card:hover .card-arrow svg,.button:hover:not(:active),.button:active,.button:hover>svg,.card-open:active,.icon-button:active,.bookmark-button:hover,.theme-button:hover,.side-nav a:hover,.side-nav a:hover svg,.bottom-nav a:hover svg,.bottom-nav a:active svg,.search-field:focus-within>svg{transform:none}}:root{--depth-shadow: #163d6c2b;--button-floor: #023a80}:root[data-theme=dark]{--depth-shadow: #0007;--button-floor: #326ca6}.ambient-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 78% 2%,#83b7ff66,transparent 57%),radial-gradient(ellipse at 98% 82%,#6edbe744,transparent 52%),var(--bg)}[data-theme=dark] .ambient-backdrop{background:radial-gradient(ellipse at 78% 2%,#165fc24d,transparent 57%),radial-gradient(ellipse at 98% 82%,#087f9733,transparent 52%),var(--bg)}.main-content{position:relative;z-index:1}.mobile-header{position:relative;z-index:10}.sidebar{border-right:1px solid var(--line)}.discovery{background:var(--surface);box-shadow:0 8px 28px #082d5c09}.select-trigger{box-shadow:0 2px 0 var(--line)}.select-trigger[data-state=open]{box-shadow:0 0 0 3px var(--soft),0 2px 0 var(--line)}.exercise-card,.exercise-card:hover,.exercise-card:focus-within{border:0;background:transparent;box-shadow:none;transform:none}.exercise-card{position:relative;isolation:isolate;animation:card-arrive .52s var(--ease-out) var(--card-delay) backwards}.card-surface{position:relative;height:100%;width:100%;border:1px solid var(--line);border-radius:15px;background:var(--surface);transform:none;box-shadow:0 3px 0 var(--line),0 8px 18px #0b38630a;transition:transform .4s var(--ease-out),box-shadow .3s,border-color .2s}.card-open{transition:transform .15s var(--ease-out)}.card-open:active{transform:translateY(2px) scale(.99)}.card-media{transition:transform .3s var(--ease-out),box-shadow .3s}.card-media img{transition:transform .4s var(--ease-out)}.card-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at var(--pointer-x,50%) var(--pointer-y,20%),#ffffff35,transparent 65%);opacity:0;transition:opacity .25s}.card-body{transition:transform .3s var(--ease-out)}.card-body h3{font-size:16px}.exercise-card>.bookmark-button{z-index:4;box-shadow:0 3px 0 var(--line),0 5px 12px #052e5b20}.exercise-card>.bookmark-button:active{transform:translateY(3px) scale(.96);box-shadow:0 1px 0 var(--line)}.card-bottom{align-items:center;gap:8px}.exercise-card:focus-within .card-surface{border-color:var(--accent);box-shadow:0 4px 0 var(--line),0 12px 28px var(--depth-shadow)}.card-open:focus-visible{outline-offset:5px}.button-primary{position:relative;overflow:hidden;background:linear-gradient(150deg,#075bc1,#043b88);box-shadow:0 5px 0 var(--button-floor),0 10px 20px #075bc120,inset 0 1px #ffffff38;transition:transform .2s var(--ease-out),box-shadow .2s}.button-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#ffffff18 50%,transparent 75%);transform:translate(-130%);transition:transform .65s var(--ease-out)}.button-primary:active{transform:translateY(4px);box-shadow:0 1px 0 var(--button-floor)}[data-theme=dark] .button-primary{color:#09203c;background:linear-gradient(150deg,#b7e0ff,#79bfff);border-color:#a7d6ff}.button-secondary{box-shadow:0 3px 0 var(--line)}.button-secondary:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.icon-button:active{transform:translateY(2px) scale(.94)}.side-nav a.active{background:linear-gradient(125deg,var(--tint),var(--soft))}.modal[open]{animation:depth-dialog-in .32s var(--ease-out)}@keyframes depth-dialog-in{0%{opacity:0;transform:perspective(1200px) translateY(28px) rotateX(-6deg) scale(.96)}to{opacity:1;transform:perspective(1200px) translateY(0) rotateX(0) scale(1)}}@keyframes card-arrive{0%{opacity:0;translate:0 26px;scale:.975}to{opacity:1;translate:0 0;scale:1}}@media(hover:hover)and (pointer:fine){.exercise-card:hover{z-index:2}.exercise-card:hover .card-surface{transform-style:preserve-3d;transform:perspective(850px) translateY(-10px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));border-color:var(--accent);box-shadow:0 6px color-mix(in srgb,var(--accent) 18%,var(--line)),0 25px 36px var(--depth-shadow);transition:transform .12s var(--ease-out),box-shadow .3s,border-color .2s}.exercise-card:hover .card-open{transform-style:preserve-3d}.exercise-card:hover .card-media{transform:translateZ(30px) translateY(-5px);box-shadow:0 12px 20px #082a4f25;border-radius:13px}.exercise-card:hover .card-media img{transform:scale(1.075) translate(var(--image-x,0px),var(--image-y,0px))}.exercise-card:hover .card-media:after{opacity:1}.exercise-card:hover .card-body{transform:translateZ(15px)}.exercise-card>.bookmark-button:hover{transform:scale(1.06)}.exercise-card>.bookmark-button:active{transform:translateY(3px) scale(.96)}.button-primary:hover:not(:active){background:linear-gradient(150deg,#075bc1,#043b88);transform:perspective(900px) translateY(-2px) rotateX(5deg);box-shadow:0 7px 0 var(--button-floor),0 14px 22px #075bc12c}[data-theme=dark] .button-primary:hover:not(:active){background:linear-gradient(150deg,#b7e0ff,#79bfff)}.button-primary:hover:after{transform:translate(130%)}}@media(max-width:600px){.card-surface{border-radius:12px}.card-body h3{font-size:14px}}@media(prefers-reduced-motion:reduce){.exercise-card{animation:none}.card-surface,.exercise-card:hover .card-surface,.card-body,.exercise-card:hover .card-body,.card-open:active,.card-media,.exercise-card:hover .card-media,.card-media img,.exercise-card:hover .card-media img,.exercise-card>.bookmark-button,.exercise-card>.bookmark-button:hover,.exercise-card>.bookmark-button:active,.button-primary:hover:not(:active),.button-primary:active,.button-secondary:active,.icon-button:active{transform:none}.card-media:after,.button-primary:after{display:none}.modal[open]{animation:none}}
