body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.rep-challenge-flow{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden;width:100%}.rep-challenge-flow,.step{background:#fff;color:#222;min-height:100vh}.step{box-sizing:border-box;display:flex;flex-direction:column;padding:20px;position:relative}.registration-step{align-items:center;text-align:center}.registration-container{width:100%}.registration-header h1{color:#333}.registration-header p{margin:0 0 20px}.registration-form{display:flex;flex-direction:column;gap:20px}.form-group{text-align:left}.form-group label{color:#333;display:block;font-size:1rem;margin-bottom:8px}.form-group input{border-radius:8px;box-sizing:border-box;padding:12px 16px;transition:border-color .2s ease;width:100%}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.country-code-input:focus,.country-code-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.phone-number-input{border:1px solid #ddd;border-radius:8px;font-size:16px;outline:none;padding:12px 16px;transition:border-color .2s}.phone-number-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.phone-input input{flex:1 1}.submit-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:10px;padding:16px 24px;transition:all .2s ease}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.submit-entry-button{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 4px 15px #10b9814d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:160px;order:2;padding:16px 32px;transition:all .3s ease}.submit-entry-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 25px #10b98166;transform:translateY(-2px)}.submit-entry-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.entry-submitted-message{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #d1fae5;margin:10px 0;padding:16px}.stats-overlay-sides,.stats-overlay-sides.hold-exercise{align-items:center;display:flex;justify-content:space-between;left:0;padding:0 20px;pointer-events:none;position:fixed;right:0;top:80px;transform:none;z-index:1000}.stat-left,.stat-right{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;min-width:120px;padding:16px 20px}.stat-left .stat-value,.stat-left .stat-value.large,.stat-right .stat-value,.stat-right .stat-value.large{color:#fff;font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:4px;text-shadow:2px 2px 4px #00000080}.stat-left .stat-label,.stat-right .stat-label{color:#e5e7eb;font-size:.9rem;font-weight:600;letter-spacing:1px;line-height:1.2;text-align:center;text-transform:uppercase}.demo-step{align-items:center;justify-content:space-between;text-align:center}.demo-step .header h1{font-size:2.5rem;font-weight:700;margin:0 0 10px;text-shadow:2px 2px 4px #0000004d}.demo-step .duration{font-size:1.2rem;margin:0;opacity:.9}.demo-content{display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:0 auto;max-width:500px;width:100%}.demo-video-container{background:#f2f4f7;border:1px solid #e5e7eb;border-radius:12px;margin:20px 0;overflow:hidden}.demo-placeholder{background:#ffffff0d;padding:60px 20px;text-align:center}.demo-icon{display:block;font-size:4rem;margin-bottom:15px}.demo-placeholder p{font-size:1.1rem;margin:0;opacity:.8}.instructions{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin:16px 0;padding:24px;text-align:left}.instructions h3{color:#111;font-size:1.8rem;font-weight:700;margin:0 0 24px;text-align:center}.instruction-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.instruction-section:last-child{margin-bottom:0}.instruction-section h4{align-items:center;color:#2563eb;display:flex;font-size:1.2rem;font-weight:600;gap:8px;margin:0 0 16px}.instruction-section h4:before{background:#2563eb;border-radius:2px;content:"";height:20px;width:4px}.instruction-section h4:first-of-type{margin-top:0}.instruction-section ul{list-style:none;margin:0;padding:0}.instruction-section li{background:#fff;border-left:3px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#374151;line-height:1.5;margin:0 0 12px;padding:12px 16px;transition:all .2s ease}.instruction-section li:hover{background:#f1f5f9;border-left-color:#2563eb;box-shadow:0 2px 6px #00000026;transform:translateX(4px)}.instruction-section li:last-child{margin-bottom:0}.registration-step{justify-content:flex-start;padding-top:80px}.registration-container{margin:0 auto;max-width:500px;padding:10px 20px}.registration-header{margin-bottom:20px;text-align:center}.registration-header h1{color:#111;font-size:2.5rem;font-weight:700;margin:0 0 10px}.registration-header p{color:#666;font-size:1.1rem;margin:0}.tips{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;font-size:.95rem;padding:12px}.tips,.tips ul{line-height:1.5}.tips ul{margin:0;padding-left:20px}.tips li{color:#555;margin:6px 0}.tips li strong{color:#333}.start-button{background:linear-gradient(45deg,#ff6b6b,#ff8e53);border:none;border-radius:50px;box-shadow:0 8px 25px #0003;color:#fff;cursor:pointer;font-size:1.3rem;font-weight:600;margin-top:20px;padding:18px 40px;transition:all .3s ease}.start-button:hover{box-shadow:0 12px 35px #0000004d;transform:translateY(-2px)}.start-button:active{transform:translateY(0)}.camera-init-step{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;justify-content:center;text-align:center}.camera-init-content{align-items:center;display:flex;flex-direction:column;gap:20px}.camera-init-spinner{margin-bottom:20px}.camera-init-content h2{font-size:2rem;font-weight:600;margin:0;text-shadow:2px 2px 4px #0000004d}.camera-init-content p{font-size:1.1rem;margin:0;opacity:.9}.camera-ready-indicator{align-items:center;animation:fadeIn .5s ease-in-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:25px;display:flex;gap:10px;padding:12px 20px}.ready-checkmark{color:#4ade80;font-size:1.2rem;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hidden{height:1px;left:-9999px;opacity:0;pointer-events:none;position:absolute;top:-9999px;width:1px}.visible{height:100%!important;inset:0!important;opacity:1!important;pointer-events:auto!important;position:absolute!important;width:100%!important;z-index:1!important}.countdown-step{background:#000;justify-content:flex-start;padding:0}.countdown-overlay{background:#0000;bottom:0;flex-direction:column;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:20}.countdown-circle,.countdown-overlay{align-items:center;display:flex;justify-content:center}.countdown-circle{animation:countdownPulse 1s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;border:8px solid #fffc;border-radius:50%;box-shadow:0 4px 20px #00000080;height:200px;margin-bottom:30px;width:200px}.countdown-number{color:#fff;font-size:6rem;font-weight:700;text-shadow:2px 2px 4px #00000080}.countdown-text{background:#00000080;border-radius:20px;color:#fff;font-size:2.5rem;font-weight:600;margin:0 0 15px;text-shadow:2px 2px 4px #000c}.countdown-text,.positioning-message{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:12px 24px}.positioning-message{background:#0006;border-radius:15px;color:#fffffff2;font-size:1.8rem;margin:0;text-align:center;text-shadow:1px 1px 2px #000c}@keyframes countdownPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.recording-step{background:#000;justify-content:flex-start;padding:0}.camera-container{background:#000;border-radius:0;height:calc(100vh - 120px);margin:0;max-width:100%;overflow:hidden;position:relative;width:100vw}.camera-video{background:#000;object-fit:contain;transform:scale(1);transform-origin:center center;z-index:10}.camera-video,.pose-canvas{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.pose-canvas{left:0;max-height:none!important;top:0;z-index:15}.stop-exercise-container{bottom:20px;display:flex;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);z-index:25}.stop-exercise-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#dc2626e6;border:2px solid #ffffff4d;border-radius:25px;box-shadow:0 4px 15px #dc26264d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.stop-exercise-btn:hover{background:#dc2626;border-color:#ffffff80;box-shadow:0 6px 20px #dc262666;transform:translateY(-2px)}.stop-exercise-btn:active{transform:translateY(0)}.stop-icon{font-size:1.1rem}.stop-text{font-size:.95rem}.analysis-step{background:#fff;justify-content:flex-start;overflow-y:auto;padding:20px}.results-header{margin-bottom:30px}.results-header h2{font-size:2.5rem;font-weight:700;margin:0 0 10px}.results-subtitle{font-size:1.1rem}.results-cards-container{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:600px;width:100%}.results-card{background:#fff;border:1px solid #f3f4f6;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.results-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.card-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb;padding:20px}.card-header h3{align-items:center;color:#374151;display:flex;font-size:1.25rem;font-weight:700;gap:8px;margin:0}.card-content{padding:20px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.stat-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;text-align:center;transition:all .2s ease}.stat-box:hover{background:#f3f4f6;border-color:#d1d5db}.stat-box.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#3b82f6;color:#fff}.stat-box.primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af)}.stat-value{color:inherit;font-size:2rem;font-weight:700;line-height:1;margin-bottom:8px}.stat-box.primary .stat-value{color:#fff}.stat-label{color:inherit;font-size:.875rem;font-weight:500;letter-spacing:.05em;opacity:.8;text-transform:uppercase}.stat-box.primary .stat-label{color:#ffffffe6}.feedback-content p{color:#374151;font-size:1.1rem;line-height:1.6;margin:0}.loading-feedback{align-items:center;display:flex;flex-direction:column;gap:12px;text-align:center}.loading-feedback p{color:#6b7280;font-size:.95rem;margin:0}.loading-spinner.small{border-width:2px;height:20px;width:20px}@media (max-width:640px){.stats-grid{gap:12px;grid-template-columns:1fr}.stat-box{padding:16px}.stat-value{font-size:1.75rem}.results-cards-container{gap:16px}.card-content,.card-header{padding:16px}.instructions{margin:12px 0;padding:20px}.instructions h3{font-size:1.5rem;margin-bottom:20px}.instruction-section{margin-bottom:20px;padding:16px}.instruction-section h4{font-size:1.1rem;margin-bottom:12px}.instruction-section li{font-size:.95rem;margin-bottom:10px;padding:10px 12px}}.action-buttons{gap:15px;margin-top:20px}.new-challenge-button,.restart-button{border:none;border-radius:25px;cursor:pointer;flex:1 1;font-size:1.1rem;font-weight:600;letter-spacing:.5px;order:1;padding:15px 20px;text-transform:uppercase;transition:all .3s ease}.restart-button{background:linear-gradient(45deg,#ff6b6b,#ff8e53);box-shadow:0 5px 20px #ff6b6b4d;color:#fff}.new-challenge-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #ffffff4d;color:#fff}.restart-button:hover{box-shadow:0 8px 25px #ff6b6b66;transform:translateY(-2px)}.new-challenge-button:hover{background:#fff3;border-color:#ffffff80}@media (max-width:480px){.step{padding:15px}.registration-step{padding-bottom:15px;padding-left:15px;padding-right:15px;padding-top:80px!important}.demo-step .header h1{font-size:2rem}.countdown-circle{height:150px;width:150px}.countdown-number{font-size:4rem}.positioning-message{font-size:1.4rem;padding:10px 20px}.main-stats{flex-direction:column;gap:10px}.stat-item{padding:15px 10px}.stat-value{font-size:2rem}.action-buttons{flex-direction:column}.pose-canvas{height:100%;max-height:none}}@media (max-height:500px) and (orientation:landscape){.step{padding:10px}.demo-content{max-height:80vh;overflow-y:auto}.countdown-circle{height:120px;width:120px}.countdown-number{font-size:3rem}.positioning-message{font-size:1.2rem;padding:8px 16px}.pose-canvas{height:100%;max-height:none}}@media (orientation:landscape){.recording-step .camera-container{aspect-ratio:4/3;border-radius:12px;height:480px;margin:12px auto 24px;max-height:calc(100vh - 140px);max-width:96vw;overflow:hidden;width:640px}.recording-step .camera-video{height:100%;object-fit:contain;width:100%}.recording-step .pose-canvas{height:100%;max-height:none!important;width:100%}}.demo-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.back-button{background:#0000;border:2px solid #111827;border-radius:8px;color:#111827;cursor:pointer;font-size:1.1rem;padding:1rem 2rem;transition:all .3s ease}.back-button:hover{background:#111827;color:#fff}.metrics-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#111827;margin-bottom:1.5rem}.metrics-loading h3{color:#111827;font-size:1.5rem;margin-bottom:.5rem}@media (min-width:1024px){.recording-step .camera-container{aspect-ratio:4/3;border-radius:16px;height:auto;margin:12px auto 24px;overflow:hidden;width:min(90vw,960px)}.recording-step .camera-video{object-fit:contain}.recording-step .pose-canvas{overflow:hidden}}@media (orientation:portrait){.recording-step .camera-container{background:#000;border-radius:0;height:80vh;margin:0;max-height:80vh;max-width:100vw;position:relative;width:100vw}.stop-exercise-container{bottom:15px}.stop-exercise-btn{font-size:.9rem;padding:10px 20px}.stop-text{font-size:.85rem}.stop-exercise-btn{font-size:.8rem;padding:8px 16px}.stop-icon{font-size:1rem}.analysis-step .action-buttons{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;bottom:20px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;gap:10px;left:50%;margin-top:0;max-width:500px;padding:15px;position:fixed;transform:translateX(-50%);width:calc(100vw - 40px);z-index:1000}.analysis-step .results-cards-container{padding-bottom:200px}.analysis-step .action-buttons .restart-button,.analysis-step .action-buttons .submit-entry-button{margin-left:0;margin-right:0;max-width:100%;width:100%}.recording-step .camera-video{max-width:100vw;object-fit:contain!important;transform:scale(1);transform-origin:center center;width:100%}.recording-step .pose-canvas{max-width:100vw;transform:none;transform-origin:center center;width:100%}.recording-step .camera-container{align-items:center;display:flex;height:80vh!important;justify-content:center;max-height:80vh!important;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}.recording-step .camera-video{flex-shrink:0;height:100%;max-height:80vh!important;object-fit:contain;object-position:center center}.recording-step .pose-canvas{flex-shrink:0;height:100%;max-height:none!important;object-position:center center}}.metrics-loading p{color:#666;font-size:1rem;margin:0}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus{outline:3px solid #fff9;outline-offset:2px}@media (max-width:600px){.registration-container{padding:15px}.registration-header h1{font-size:2rem}.country-code-input,.country-code-select,.form-group input,.phone-number-input{font-size:1rem;padding:14px 16px}.phone-input-container{gap:6px}.country-code-wrapper{max-width:85px;min-width:70px}.country-code-input,.country-code-select{font-size:.9rem;padding:14px 8px}.submit-btn{font-size:1.1rem;padding:18px 24px}.stats-overlay-sides{padding:0 15px}.stat-left,.stat-right{min-width:100px;padding:12px 16px}.stat-left .stat-value,.stat-left .stat-value.large,.stat-right .stat-value,.stat-right .stat-value.large{font-size:2rem}.stat-left .stat-label,.stat-right .stat-label{font-size:.8rem}}@media (max-width:480px){.registration-header h1{font-size:1.8rem}.registration-header p{font-size:1rem}.registration-container{padding:10px}}@media (orientation:landscape){.analysis-step{height:100vh;overflow-y:auto;padding:15px}.results-header{margin-bottom:20px}.results-header h2{font-size:2rem;margin-bottom:5px}.results-subtitle{font-size:1rem}.results-cards-container{gap:15px;margin-bottom:20px;max-width:90vw}.results-card{border-radius:12px}.card-header{padding:15px 20px 10px}.card-header h3{font-size:1.3rem}.card-content{padding:10px 20px 15px}.action-buttons{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;bottom:15px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;gap:10px;left:50%;margin-top:0;max-width:500px;padding:15px;position:fixed;transform:translateX(-50%);width:calc(100vw - 30px);z-index:1000}.new-challenge-button,.restart-button{border-radius:20px;font-size:1rem;order:1;padding:12px 20px}.submit-entry-button{border-radius:20px;font-size:1rem;margin-bottom:0;margin-top:0;order:2;padding:12px 20px}}@media (orientation:landscape) and (max-height:600px){.analysis-step{padding:10px}.results-header h2{font-size:1.8rem}.results-cards-container{gap:10px;margin-bottom:80px}.card-header{padding:12px 15px 8px}.card-header h3{font-size:1.2rem}.card-content{padding:8px 15px 12px}}@media (orientation:portrait){.camera-container{align-items:center;background:#000;display:flex;height:80vh!important;justify-content:center;width:100vw}.camera-video{max-height:80vh!important;object-fit:contain!important}.camera-video,.pose-canvas{max-width:100vw;object-position:center center}.pose-canvas{max-height:none!important}}.admin-panel{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.admin-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:500px;padding:40px;width:100%}.admin-container h2{color:#333;font-size:28px;font-weight:600;margin-bottom:30px;text-align:center}.current-exercise{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-bottom:25px;padding:15px}.current-exercise label{color:#495057;display:block;font-size:16px;font-weight:600;margin-bottom:8px}.current-value{color:#007bff;font-size:20px;font-weight:700;text-transform:capitalize}.exercise-selector{margin-bottom:25px}.exercise-selector label{color:#495057;display:block;font-size:16px;font-weight:600;margin-bottom:10px}#exercise-select{background:#fff;border:2px solid #dee2e6;border-radius:8px;font-size:16px;padding:12px 15px;transition:border-color .3s ease;width:100%}#exercise-select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}#exercise-select:disabled{background:#f8f9fa;color:#6c757d}.update-button{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:20px;padding:15px;transition:all .3s ease;width:100%}.update-button:hover:not(:disabled){box-shadow:0 5px 15px #007bff4d;transform:translateY(-2px)}.update-button:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.message{border-radius:8px;font-weight:600;margin-bottom:20px;padding:12px 15px;text-align:center}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.info{background:#e7f3ff;border:1px solid #b3d7ff;border-radius:8px;margin-top:20px;padding:15px}.info p{color:#004085;font-size:14px;line-height:1.4;margin:0}@media (max-width:600px){.admin-panel{padding:10px}.admin-container{padding:20px}.admin-container h2{font-size:24px}}.install-prompt{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #00000026;color:#fff;left:0;padding:12px 24px;position:fixed;right:0;top:0;z-index:10000}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.install-prompt-content{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.install-prompt-info{align-items:center;display:flex;gap:12px}.install-icon{font-size:1.5rem;line-height:1}.install-text{display:flex;flex-direction:column;gap:2px}.install-text strong{font-size:1rem;font-weight:600}.install-text span{font-size:.875rem;opacity:.9}.install-prompt-actions{align-items:center;display:flex;gap:12px}.install-button{background:#fff;border:none;border-radius:6px;color:#667eea;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 20px;transition:all .2s ease;white-space:nowrap}.install-button:hover{background:#f0f0f0;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.install-button:active{transform:translateY(0)}.dismiss-button{align-items:center;background:#0000;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.dismiss-button:hover{background:#ffffff1a;border-color:#ffffff80}@media (max-width:768px){.install-prompt{padding:10px 16px}.install-prompt-content{flex-direction:column;gap:12px}.install-text strong{font-size:.9rem}.install-text span{font-size:.8rem}.install-button{font-size:.85rem;padding:8px 16px}.install-prompt-actions{justify-content:space-between;width:100%}}.kiosk-mode{align-items:center;background:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px;padding-top:calc(20px + var(--install-prompt-height, 0px))}.kiosk-waiting-screen{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:48px;text-align:center;width:100%}.kiosk-header{margin-bottom:40px}.kiosk-header h1{color:#1f2937;font-size:2.5rem;font-weight:700;margin:0 0 12px}.kiosk-subtitle{color:#6b7280;font-size:1.25rem;margin:0}.qr-code-container{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:16px;margin:40px 0;padding:32px}.qr-code-wrapper{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;justify-content:center;margin:0 auto;padding:24px;width:-webkit-fit-content;width:fit-content}.qr-instruction{color:#374151;font-size:1.1rem;font-weight:500;margin-top:20px}.kiosk-instructions{background:#f9fafb;border-left:4px solid #667eea;border-radius:12px;margin:32px 0;padding:24px;text-align:left}.kiosk-instructions h3{color:#1f2937;font-size:1.25rem;margin:0 0 16px}.kiosk-instructions ol{color:#4b5563;line-height:1.8;margin:0;padding-left:24px}.kiosk-instructions li{font-size:1.05rem;margin-bottom:8px}.session-id{color:#9ca3af;font-family:monospace;font-size:.875rem}.kiosk-exercise-container{background:#fff;min-height:100vh;position:relative;width:100%}.kiosk-user-banner{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 8px #0000001a;color:#333;justify-content:space-between;left:0;padding:16px 24px;position:fixed;right:0;top:0;top:var(--install-prompt-height,0);z-index:1000}.kiosk-user-banner,.user-info{align-items:center;display:flex}.user-info{gap:24px}.user-name{font-size:1.1rem;font-weight:600}.user-phone{font-size:.95rem;opacity:.9}.connection-status{align-items:center;display:flex;font-size:.9rem;gap:8px}.status-dot{animation:pulse 2s infinite;border-radius:50%;height:10px;width:10px}.status-dot,.status-dot.connected{background:#10b981}.kiosk-logo{display:block;height:50px;margin-bottom:24px;width:auto}.kiosk-header-with-logo{align-items:center;display:flex;gap:16px;margin-bottom:24px}.kiosk-header-with-logo .kiosk-logo{margin-bottom:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.qr-code-corner{background:#fff;border-radius:12px;bottom:20px;box-shadow:0 4px 12px #0003;padding:12px;position:fixed;right:20px;z-index:999}@media (max-width:768px){.kiosk-waiting-screen{padding:32px 24px}.kiosk-header h1{font-size:2rem}.qr-code-wrapper svg{height:240px!important;width:240px!important}.kiosk-user-banner{flex-direction:column;gap:12px;padding:12px 16px}.user-info{flex-direction:column;gap:8px;text-align:center}.qr-code-corner{bottom:10px;right:10px}.qr-code-corner svg{height:80px!important;width:80px!important}}.remote-controller{align-items:center;background:#f3f4f6;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;justify-content:center;min-height:100vh;padding:20px}.remote-screen{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:480px;padding:32px 24px;width:100%}.remote-header{margin-bottom:32px;text-align:center}.remote-header h1{color:#1f2937;font-size:2rem;font-weight:700;margin:0 0 8px}.remote-header p{color:#6b7280;font-size:1rem;margin:0}.remote-form{gap:20px}.form-group,.remote-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#374151;font-size:.95rem;font-weight:600}.form-group input{border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;padding:14px 16px;transition:border-color .2s}.form-group input:focus{border-color:#667eea;outline:none}.phone-input-container{align-items:center;display:flex;gap:8px;width:100%}.country-code-wrapper{flex:0 0 auto;max-width:100px;min-width:80px;position:relative}.country-code-select{background-color:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;height:100%;left:0;opacity:0;outline:none;padding:12px 8px;position:absolute;top:0;transition:border-color .2s;width:100%;z-index:2}.country-code-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea40;opacity:1}.country-code-input{background-color:#fff;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none;padding:12px 8px;position:relative;text-align:center;transition:border-color .2s;width:100%;z-index:1}.phone-number-input{flex:1 1}.action-btn,.submit-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:8px;padding:16px 24px;transition:transform .2s,box-shadow .2s}.action-btn:hover,.submit-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 8px 20px #3b82f666;transform:translateY(-2px)}.action-btn:active,.submit-btn:active{transform:translateY(0)}.action-btn:disabled,.submit-btn:disabled{cursor:not-allowed;opacity:.6}.action-btn.secondary{background:#6b7280;margin-top:12px}.action-btn.secondary:hover{background:#6b7280;box-shadow:0 8px 20px #6b728066}.session-info{border-top:2px solid #e5e7eb;margin-top:24px;padding-top:24px;text-align:center}.session-info p{color:#9ca3af;font-family:monospace;font-size:.875rem}.error-screen{text-align:center}.error-icon{font-size:4rem;margin-bottom:16px}.error-screen h2{color:#ef4444;margin:0 0 12px}.error-screen p{color:#6b7280;line-height:1.6}.loading-screen{text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#667eea;height:60px;margin:0 auto 24px;width:60px}@keyframes spin{to{transform:rotate(1turn)}}.loading-screen h2{color:#1f2937;margin:0 0 12px}.loading-screen p{color:#6b7280}.connected-screen{text-align:center}.success-animation{margin-bottom:24px}.checkmark{align-items:center;animation:scaleIn .5s ease-out;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;color:#fff;display:flex;font-size:3rem;height:80px;justify-content:center;margin:0 auto;width:80px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.connected-screen h2{color:#1f2937;margin:0 0 8px}.connected-message{color:#6b7280;margin-bottom:24px}.user-info-card{background:#f9fafb;border-radius:12px;margin-bottom:20px;padding:16px}.info-row{display:flex;justify-content:space-between;padding:8px 0}.info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.info-label{color:#6b7280;font-weight:600}.info-value{color:#1f2937;font-weight:500}.exercise-info-card{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:12px;margin-bottom:24px;padding:24px;text-align:center}.exercise-info-card h3{color:#374151;font-size:1.1rem;margin:0 0 16px}.exercise-icon{font-size:4rem;margin-bottom:12px}.exercise-name{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:8px}.exercise-duration{color:#6b7280;font-size:1rem}.exercising-screen{text-align:center}.exercise-status{margin-bottom:32px}.status-icon{animation:pulse-icon 2s ease-in-out infinite;font-size:4rem;margin-bottom:16px}@keyframes pulse-icon{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.exercise-status h2{color:#1f2937;margin:0 0 8px}.exercise-status p{color:#6b7280}.exercise-info{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;margin-bottom:24px;padding:24px}.info-box{align-items:center;display:flex;gap:16px;justify-content:center}.info-icon{font-size:3rem}.info-text{color:#92400e;font-size:1.5rem;font-weight:700}.control-message{background:#f3f4f6;border-radius:8px;margin-bottom:24px;padding:16px}.control-message p{color:#4b5563;font-size:.95rem;margin:0}.results-screen{align-items:center;display:flex;flex-direction:column}.results-header{margin-bottom:32px;text-align:center}.success-icon{animation:bounce .6s ease-in-out;font-size:4rem;margin-bottom:16px}.results-header h2{color:#1f2937;font-size:1.75rem;margin:0 0 8px}.results-subtitle{color:#6b7280;font-size:1rem;margin:0}.results-message{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:12px;margin-bottom:32px;max-width:500px;padding:24px;width:100%}.results-message p{color:#1e3a8a;font-size:1rem;line-height:1.6;margin:0;text-align:center}.action-buttons{display:flex;flex-direction:column;gap:0;max-width:400px;width:100%}.entry-submitted-message{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:12px;padding:20px;text-align:center}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width:480px){.remote-screen{padding:24px 16px}.remote-header h1{font-size:1.75rem}.exercise-name{font-size:1.25rem}.results-header h2{font-size:1.5rem}.success-icon{font-size:3rem}}