:root{color:#f4f7fb;background:#0c0d10;color-scheme:dark;font-family:Manrope,Segoe UI,sans-serif}[data-concept]{margin:0 0 8px;color:#8ebeff;font-weight:700}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#05060a}button,input,select{font:inherit;color:inherit}#root{min-height:100vh}.coach-stage{width:100%;height:420px;border-radius:20px;overflow:hidden;background:#10141c}.coach-stage canvas{width:100%;height:100%;display:block}.preview-app{max-width:none;width:min(1100px,100%)}.pose-sheet{width:100%}.pose-sheet canvas{width:100%;height:auto;display:block}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-hero{grid-column:1 / -1}.preview-hero .coach-stage{height:560px}.preview-grid figure{margin:0;background:#15181f;border-radius:16px;padding:8px}.preview-grid figcaption{color:#c5ced8;margin:0 0 6px}.pose-card .coach-stage{height:260px}.pose-card>div{display:flex;gap:8px}.hook-visual{position:relative;overflow:hidden;padding:0;background:#0c0f14}.hook-video,.film-stage video{width:100%;height:auto;max-height:72vh;object-fit:contain;object-position:center;display:block;background:#0c0f14}.hook-copy{display:flex;flex-direction:column;gap:12px}.film-stage{position:relative;border-radius:24px;overflow:hidden;background:#0c0f14}.film-stage video{min-height:0}.film-missing{padding:22px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.film-credit{color:#d5deea;font-size:12px;line-height:1.35;padding:12px 20px 22px}.session-still{border-radius:12px}.library-photo{padding:0;overflow:hidden;position:relative;min-height:0}.library-photo img,.challenge-still,.session-still{width:100%;height:auto;max-height:460px;object-fit:contain;object-position:center;background:#0c0f14;display:block}.library-photo span{position:static;padding:14px;background:transparent;display:flex;flex-direction:column;gap:4px}.count-stage{position:relative;padding:0;overflow:hidden;min-height:520px}.count-stage .film-stage,.count-stage video{min-height:520px;border-radius:0}.count-copy{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:18px;background:linear-gradient(180deg,transparent,rgba(6,8,12,.88));display:flex;flex-direction:column;gap:8px}.hook-hero,.count-stage{border-radius:28px;background:radial-gradient(80% 60% at 50% 0%,#243044,#12151c 55%);border:1px solid #2c3342;padding:18px;display:flex;flex-direction:column;gap:12px}.hook-title{font-family:Manrope,Segoe UI,sans-serif;font-size:22px;font-weight:700;line-height:1.3;text-transform:none;margin:0}.hook-quote{font-size:22px;font-weight:700;line-height:1.25}.move-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.move-chip{min-width:0;background:#0c0f14;border-radius:16px;padding:10px;border:1px solid #2c3342}.library-card{text-align:left;background:#15181f;border:1px solid #2c3342;border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:6px;min-height:112px;width:100%}.library-title{font-family:Oswald,sans-serif;font-size:28px;text-transform:uppercase}.count-stage{min-height:360px;justify-content:flex-end}.count-bar{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:16px;background:#15181f;border:1px solid #8ebeff}.count-num{font-family:Oswald,sans-serif;font-size:72px;line-height:.8;margin:0}.fixture-banner{position:sticky;top:0;z-index:5;margin:0;padding:8px 10px;background:#3a2a00;color:#ffe08a;border:1px solid #ffe08a;font-weight:700}.fixture-log{font-size:13px}.app{max-width:480px;min-height:100vh;margin:0 auto;background:radial-gradient(120% 40% at 50% 0%,#1a2332,#0c0d10 42%);padding:22px 18px 40px;display:flex;flex-direction:column;gap:16px}.kicker{color:#8ebeff;font-weight:700;font-size:12px;letter-spacing:1.2px;text-transform:uppercase}h1{font-family:Oswald,sans-serif;font-weight:600;font-size:42px;line-height:1.05;margin:0;text-transform:uppercase}p{margin:0;line-height:1.45}.dim{color:#9aa3b5}.card{background:#15181f;border:1px solid #2c3342;border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:8px}.card.hot{border-color:#4c9fff}button.primary,button.secondary,button.ghost,label.primary,label.secondary{border:0;border-radius:16px;min-height:56px;padding:0 16px;font-weight:700;cursor:pointer}button.primary{background:linear-gradient(90deg,#6aadff,#2b74e0);color:#071018}button.secondary,label.secondary{background:#1c212b;border:1px solid #2c3342;display:flex;align-items:center}button.ghost{background:transparent;color:#8ebeff}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #8ebeff;outline-offset:2px}fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}legend{color:#8ebeff;font-weight:700;font-size:12px;letter-spacing:1.2px;text-transform:uppercase}label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]){-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:#101218;color:#f4f7fb;-webkit-text-fill-color:#f4f7fb;caret-color:#8ebeff;border:1px solid #2c3342;border-radius:14px;min-height:52px;padding:0 14px;font-size:16px;font-weight:600;width:100%}input::placeholder{color:#8a93a6;-webkit-text-fill-color:#8a93a6;opacity:1}input:focus{outline:2px solid #4c9fff;outline-offset:1px}input::selection{background:#2b74e0;color:#fff;-webkit-text-fill-color:#ffffff}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:#f4f7fb;caret-color:#8ebeff;-webkit-box-shadow:0 0 0 1000px #101218 inset;box-shadow:0 0 0 1000px #101218 inset;border:1px solid #2c3342;transition:background-color 9999s ease-in-out 0s}input:-webkit-autofill::selection{-webkit-text-fill-color:#ffffff;background:#2b74e0}input:autofill,input:autofill:focus{-webkit-text-fill-color:#f4f7fb;box-shadow:0 0 0 1000px #101218 inset}input[type=checkbox]{accent-color:#4c9fff}.row{display:flex;gap:8px}.row>*{flex:1}.row.wrap{flex-wrap:wrap}.row.wrap>*{flex:1 1 30%}.choice{text-align:left;background:#15181f;border:1px solid #2c3342;border-radius:16px;min-height:56px;padding:12px 14px;font-weight:700}.choice.on{border-color:#d7e8ff;background:#2b74e0;color:#071018;box-shadow:inset 0 0 0 2px #d7e8ff}.check{flex-direction:row;align-items:center;gap:10px;font-weight:600}.check input{width:20px;height:20px}.preview{width:100%;height:auto;object-fit:contain;border-radius:20px;background:#101218}.shot{margin:0;display:flex;flex-direction:column;gap:6px}.shot figcaption{margin:0}.frame{position:relative;width:100%;height:52vh;border-radius:20px;overflow:hidden;background:#07080c}.frame .preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:0}.result-photos{display:flex;flex-direction:column;gap:16px}.result-actions{display:flex;flex-direction:column;gap:10px}@media(min-width:900px){.app{max-width:1080px}.result-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.frame{height:72vh}.result-actions{display:grid;grid-template-columns:1fr 1fr}.result-actions .primary{grid-column:1 / -1}}.heat{position:absolute;border-radius:999px;border:1px solid rgba(186,220,255,.85);background:#78baff47;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}.ring{width:148px;height:148px;margin:0 auto;position:relative}.ring strong{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:Oswald,sans-serif;font-size:52px}.bar{height:8px;border-radius:4px;background:#242833;overflow:hidden}.bar span{display:block;height:8px;background:#4c9fff}.split{display:flex;height:42px;border-radius:12px;overflow:hidden;font-weight:700;font-size:13px}.split div{display:flex;align-items:center;justify-content:center}.tape{background:#2b74e0;flex:3}.photo{background:#16345c;flex:2}.hint{position:sticky;bottom:12px;background:#15181f;border:1px solid #2c3342;border-radius:16px;padding:12px;display:flex;gap:10px;align-items:center}.legal{display:flex;flex-direction:column;gap:12px}.legal h2{font-size:18px;margin:8px 0 0;font-family:Oswald,sans-serif;text-transform:uppercase}a{color:#8ebeff}.reference{margin:0;display:flex;flex-direction:column;gap:8px}.reference img{width:100%;max-width:300px;height:auto;aspect-ratio:3 / 4;object-fit:cover;margin:0 auto;border-radius:20px;background:#101218;border:1px solid #2c3342}.reference figcaption{text-align:center;font-size:13px;color:#9aa3b5}.steps{margin:0;padding:0 0 0 22px;display:flex;flex-direction:column;gap:10px;line-height:1.45}.steps li::marker{color:#8ebeff;font-weight:700}.camera{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000;color:#f4f7fb;display:flex;flex-direction:column;height:100vh;height:100dvh;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.camera-top{display:flex;align-items:center;justify-content:space-between;padding:10px 16px}.camera-title{font-weight:700}.camera-close{background:#1c212b;border:1px solid #2c3342;border-radius:12px;min-height:40px;padding:0 14px;font-weight:700;cursor:pointer}.camera-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 12px}.camera-frame{position:relative;width:100%;height:100%;max-width:960px;border-radius:16px;overflow:hidden;background:#000}.camera-preview,.camera-frame img{width:100%;height:100%;object-fit:contain;display:block;background:#000}.camera-preview.is-mirrored{transform:scaleX(-1)}.camera-hint{margin:0;padding:0 4px;color:#9aa3b5;font-size:13px;line-height:1.4;text-align:center}.camera-wait{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#9aa3b5}.countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:Oswald,sans-serif;font-size:160px;font-weight:600;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.7);pointer-events:none}.camera-controls{display:flex;gap:12px;padding:14px 16px 18px}.camera-controls>*{flex:1}.camera-controls.col{flex-direction:column;align-items:stretch;gap:10px}.camera-controls button.primary,.camera-controls button.secondary{min-height:52px}.timer{display:flex;justify-content:center;gap:8px}.chip{background:#1c212b;border:1px solid #2c3342;border-radius:999px;min-height:40px;padding:0 14px;font-weight:700;cursor:pointer}.chip.on{background:#4c9fff33;border-color:#4c9fff}.chip:disabled{opacity:.45;cursor:default}.shutter-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.side-slot{flex:1;display:flex;justify-content:flex-end;min-height:40px}.side-slot:first-child{justify-content:flex-start}.shutter{flex:none;width:72px;height:72px;border-radius:50%;background:#fff;border:5px solid #6aadff;box-shadow:0 0 0 3px #000 inset;cursor:pointer}.shutter:disabled{opacity:.45;cursor:default}.cancel-count{flex:none;min-height:72px;min-width:72px;border-radius:36px;border:1px solid #2c3342;background:#1c212b;font-weight:700;padding:0 20px;cursor:pointer}.camera-hint{text-align:center;font-size:13px;color:#9aa3b5}.camera-error{flex:1;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:24px 18px;max-width:480px;width:100%;margin:0 auto}.camera-upload{display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(90deg,#6aadff,#2b74e0);color:#071018;border-radius:16px;min-height:56px;font-weight:700;cursor:pointer}.reject{border-color:#5a3a3a}.reject p{margin:0 0 8px}.reject-thumbs{display:flex;gap:10px}.reject-thumbs img{flex:1;min-width:0;max-height:220px;object-fit:contain;background:#101218;border-radius:14px;border:1px solid #2c3342}.preview.pose-preview{max-height:60vh}.coach{width:min(100%,320px);height:auto;display:block;margin:0 auto;background:radial-gradient(120% 80% at 50% 0%,#1a2740,#101218 55%);border-radius:20px;border:1px solid #2c3342}.coach-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coach-pair figure{margin:0}.coach-pair .coach{width:100%}.workout-status{font-family:Oswald,sans-serif;font-size:64px;line-height:.95;margin:0}.workout-grid h1{margin:6px 0 12px}.workout-grid [aria-live=polite]{margin-bottom:12px}.weeks{display:flex;flex-wrap:wrap;gap:8px}.weeks .choice{flex:0 0 auto;min-width:44px;min-height:44px;padding:8px}.result-actions .choice{grid-column:1 / -1}.workout-copy{display:flex;flex-direction:column;gap:12px}.workout-actions{display:flex;flex-direction:column;gap:8px}.voice-slot{min-height:4.4em}@media(max-width:899px){.workout-grid{display:flex;flex-direction:column;gap:18px;padding-bottom:28px}.workout-grid .film-stage video{max-height:28vh}.workout-actions{position:static;width:100%;max-height:none;overflow:visible;padding:0;background:transparent;border:0;gap:12px}}.auth-diagnostic{position:fixed;z-index:30;top:8px;right:8px;max-width:min(320px,calc(100% - 16px));margin:0;padding:8px 10px;border-radius:10px;background:#10141c;border:1px solid #3c465c;color:#c5d0e0;font:12px/1.45 ui-monospace,monospace;white-space:pre-wrap;pointer-events:none}@media(max-width:420px){.workout-status{font-size:48px}h1{font-size:34px}.coach-stage{height:300px}.coach-pair{grid-template-columns:1fr}.app{padding-left:12px;padding-right:12px}}@media(min-width:900px){.app{max-width:980px}.workout-grid{display:grid;grid-template-columns:minmax(300px,440px) minmax(280px,1fr);gap:22px;align-items:start}}
