:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#10241c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#eaf5ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#8acfa461,#0000 34rem),linear-gradient(#f5fbf7 0%,#e5f2e9 44%,#d7eadf 100%);min-width:320px;min-height:100vh;margin:0}button,video{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{width:min(100%,680px);min-height:100vh;padding:max(18px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));margin:0 auto}.app-header{justify-content:space-between;align-items:center;padding:8px 2px 18px;display:flex}.app-header h1,.screen h2,.feedback-card h3{letter-spacing:-.04em;margin:0}.app-header h1{color:#0f3d2e;font-size:clamp(2rem,9vw,3.8rem)}.eyebrow,.severity-label{color:#4f7b67;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:.76rem;font-weight:800}.screen{gap:16px;display:grid}.hero-card,.camera-card,.loading-card,.results-header-card,.feedback-card,.replay-card,.tips-card,.coach-note,.analysis-debug-panel{background:#ffffffdb;border:1px solid #0f3d2e1f;border-radius:28px;box-shadow:0 18px 46px #0f3d2e1f}.hero-card{gap:18px;padding:28px;display:grid;position:relative;overflow:hidden}.hero-card:after{content:"";background:#1c84511c;border-radius:999px;width:160px;height:160px;position:absolute;top:-52px;right:-52px}.pill{color:#16633f;background:#dff4e7;border-radius:999px;width:fit-content;padding:8px 12px;font-size:.82rem;font-weight:800}.hero-card h2,.loading-card h2,.results-header-card h2{color:#0e3529;font-size:clamp(2.1rem,10vw,4.2rem);line-height:.95}.hero-card p,.results-header-card p,.tips-card p,.loading-card p{color:#36584a;margin:0;font-size:1.02rem;line-height:1.55}.instruction-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.instruction-list li{color:#244538;align-items:flex-start;gap:10px;font-weight:650;display:flex}.instruction-list li:before{content:"✓";color:#fff;background:#1f8f55;border-radius:999px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:.86rem;display:grid}.primary-button,.secondary-button,.stop-button{cursor:pointer;border:0;border-radius:18px;min-height:56px;padding:16px 20px;font-weight:900;transition:transform .18s,opacity .18s}.primary-button{color:#fff;background:linear-gradient(135deg,#126c43,#22a05d);box-shadow:0 12px 22px #126c433d}.secondary-button{color:#163d30;background:#e6efe9}.stop-button{color:#fff;background:#c7372f}.primary-button:disabled,.secondary-button:disabled,.stop-button:disabled{cursor:not-allowed;opacity:.48}.primary-button:not(:disabled):active,.secondary-button:not(:disabled):active,.stop-button:not(:disabled):active{transform:scale(.98)}.coach-note{color:#3b5e50;padding:16px 18px;font-size:.92rem;line-height:1.45}.results-section{gap:10px;display:grid}.section-heading-row{gap:2px;padding:0 4px;display:grid}.section-heading-row h3{color:#173d30;margin:0;font-size:1.25rem}.empty-note,.recording-quality-list{color:#36584a;background:#ffffffb8;border:1px solid #0f3d2e1f;border-radius:22px;margin:0;line-height:1.45}.empty-note{padding:16px 18px}.recording-quality-list{gap:10px;padding:16px 18px 16px 38px;display:grid}.recording-quality-list li::marker{color:#e1a333}.camera-card,.loading-card,.results-header-card,.replay-card,.tips-card{padding:16px}.video-frame{background:#10241c;border-radius:24px;min-height:460px;position:relative;overflow:hidden}.camera-preview,.pose-overlay{width:100%;height:100%;position:absolute;inset:0}.camera-preview{object-fit:cover}.pose-overlay{pointer-events:none}.recording-badge{color:#fff;background:#c7372ff0;border-radius:999px;padding:8px 12px;font-size:.9rem;font-weight:900;position:absolute;top:14px;left:14px}.recording-phase-prompt{color:#f8fff9;text-align:center;letter-spacing:.01em;background:#091e16d1;border-radius:18px;min-width:min(82%,360px);padding:12px 16px;font-size:1.15rem;font-weight:950;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 16px 36px #00000047}.status-message,.error-message,.inline-warning{border-radius:16px;padding:12px 14px;line-height:1.45}.status-message{color:#315a49;background:#edf7f0}.error-message,.inline-warning{color:#754c00;background:#fff3d9}.results-header-card .inline-warning{margin-top:12px}.camera-actions{grid-template-columns:.8fr 1.2fr;gap:10px;margin-top:14px;display:grid}.tips-card h2,.replay-card h3{color:#173d30;margin:0 0 6px}.analysis-screen{align-content:center;min-height:60vh}.loading-card{text-align:center;justify-items:center;gap:16px;padding:36px 20px;display:grid}.spinner{border:5px solid #d7ebdf;border-top-color:#18814d;border-radius:50%;width:56px;height:56px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress-track{background:#dfece4;border-radius:999px;width:100%;height:12px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#16804b,#74c97b);height:100%;transition:width .2s}.results-screen{padding-bottom:86px}.replay-card{gap:10px;display:grid}.replay-video{background:#0f241c;border-radius:20px;width:100%;max-height:440px}.replay-speed{gap:8px;display:grid}.replay-speed__title{color:#173d30;margin:0;font-weight:800}.replay-speed__buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.speed-button{color:#184533;-webkit-tap-highlight-color:transparent;background:#f6fbf8;border:1px solid #b4d1c0;border-radius:12px;min-height:50px;font-size:1rem;font-weight:800}.speed-button.active{color:#0f5b35;background:#dff3e7;border-color:#18814d}.replay-speed__help{color:#4b6e5d;margin:0;font-size:.9rem}.feedback-list{gap:14px;display:grid}.feedback-card{padding:18px}.feedback-card__header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.feedback-number{color:#fff;background:#133f31;border-radius:14px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-weight:950;display:grid}.feedback-card h3{color:#14392d;font-size:1.3rem}.movement-description{color:#244f3f;background:#edf7f0;border-radius:16px;margin:0 0 14px;padding:12px 14px;font-weight:750;line-height:1.42}.feedback-card dl{gap:12px;margin:0;display:grid}.feedback-card dt{color:#4e7c66;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:.75rem;font-weight:900}.feedback-card dd{color:#203f34;margin:0;line-height:1.48}.severity-high{border-left:7px solid #c7372f}.severity-medium{border-left:7px solid #e1a333}.severity-low{border-left:7px solid #2d9cdb}.sticky-action{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));z-index:5;max-width:648px;margin:0 auto;position:fixed}@media (width>=720px){.app-shell{padding-top:28px}.hero-card,.results-header-card,.feedback-card,.replay-card,.camera-card,.tips-card,.empty-note,.recording-quality-list,.analysis-debug-panel{padding:24px}.video-frame{min-height:560px}}.debug-error{color:#6a4b13!important;margin-top:8px!important;font-size:.82rem!important}.analysis-debug-panel{color:#244538;background:#ffffff9e;border:1px dashed #0f3d2e42;border-radius:18px;padding:12px 14px;font-size:.82rem}.analysis-debug-panel dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;display:grid}.analysis-debug-panel dt{color:#4f7b67;font-weight:800}.analysis-debug-panel dd{margin:2px 0 0;font-weight:900}.height-calibration-panel{z-index:1;background:#f5fbf7d1;border:1px solid #0f3d2e1f;border-radius:24px;gap:14px;padding:16px;display:grid;position:relative}.unit-toggle,.calibration-actions,.camera-actions{gap:10px;display:grid}.unit-toggle{background:#dfeee5;border-radius:18px;grid-template-columns:1fr 1fr;padding:4px}.unit-option{color:#315648;cursor:pointer;background:0 0;border:0;border-radius:14px;min-height:44px;font-weight:900}.unit-option.selected{color:#126c43;background:#fff;box-shadow:0 8px 18px #0f3d2e1f}.height-fields{gap:12px;display:grid}.height-fields.two-column{grid-template-columns:1fr 1fr}.height-fields label{color:#315648;gap:7px;font-size:.9rem;font-weight:850;display:grid}.height-fields input{color:#10241c;width:100%;min-height:54px;font:inherit;background:#fff;border:1px solid #0f3d2e2e;border-radius:16px;padding:12px 14px;font-size:1.08rem}.calibration-instruction,.calibration-camera-instruction,.measurement-warning{color:#1a5a3a;background:#e1f4e9;border-radius:18px;margin:0;padding:13px 14px;font-weight:750;line-height:1.45}.calibration-camera-instruction{text-align:center;margin-top:12px}.calibration-actions{grid-template-columns:1fr}.measurements-card{background:#ffffffc7;border:1px solid #0f3d2e1f;border-radius:24px;gap:14px;padding:16px;display:grid}.measurement-list{gap:10px;display:grid}.measurement-row{background:#f8fcf9;border:1px solid #0f3d2e1a;border-radius:18px;grid-template-columns:1fr;gap:10px;padding:14px;display:grid}.measurement-row>div{gap:3px;display:grid}.measurement-row strong,.measurement-row b{color:#143d30}.measurement-row span,.measurement-row small,.calibration-status small{color:#4a6b5d;font-size:.88rem;line-height:1.35}.calibration-status{color:#174f36;background:#eef7f1;border-radius:18px;gap:3px;padding:12px 14px;font-weight:900;display:grid}.calibration-status.failed,.calibration-status.limited{color:#77520e;background:#fff5df}@media (width>=560px){.calibration-actions,.camera-actions,.measurement-row{grid-template-columns:1fr 1fr;align-items:center}.measurement-row>div:last-child{text-align:right;justify-items:end}}.setup-option-group{margin-top:10px}.setup-option-title{color:#244f3f;margin:0 0 8px;font-size:.95rem;font-weight:800}.toggle-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.setup-option-button{color:#1d4738;-webkit-tap-highlight-color:transparent;background:#f4f8f6;border:1px solid #b8cec1;border-radius:12px;min-height:52px;padding:10px 12px;font-weight:700}.setup-option-button.active{color:#0f5b35;background:#dff3e7;border:2px solid #18814d;font-weight:900;box-shadow:0 0 0 2px #18814d1f}.setup-option-button:focus-visible{outline-offset:2px;outline:3px solid #18814d59}.checkbox-row{align-items:center;gap:.5rem;font-weight:600;display:flex}.setup-helper-text{opacity:.85;margin:.35rem 0 0;font-size:.85rem}
