.fade-enter-active,.fade-leave-active{transition:opacity .2s ease,transform .2s ease}.fade-enter-from{opacity:0;transform:translateY(8px)}.fade-leave-to{opacity:0;transform:translateY(-8px)}:root{--bg-color: #080c14;--panel-bg: rgba(15, 22, 38, .6);--panel-border: rgba(255, 255, 255, .07);--panel-border-focus: rgba(16, 185, 129, .3);--primary: hsl(152, 75%, 48%);--primary-glow: rgba(16, 185, 129, .15);--danger: hsl(354, 85%, 53%);--danger-glow: rgba(239, 68, 68, .25);--warning: hsl(38, 92%, 50%);--warning-glow: rgba(245, 158, 11, .15);--info: hsl(200, 85%, 55%);--info-glow: rgba(59, 130, 246, .15);--text-primary: #f9fafb;--text-secondary: #9ca3af;--text-muted: #6b7280;--font-display: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-sans: "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);overflow-x:hidden;height:100vh;width:100vw;display:flex;justify-content:center;align-items:center}#app{width:100%;height:100%;max-width:480px;background:radial-gradient(circle at top right,rgba(16,185,129,.08) 0%,transparent 60%),radial-gradient(circle at bottom left,rgba(59,130,246,.05) 0%,transparent 50%),#080c14;position:relative;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;border:1px solid rgba(255,255,255,.05)}.glass-header{background:#0a101cb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--panel-border);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;z-index:100}.glass-nav{background:#0a101cbf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--panel-border);display:flex;justify-content:space-around;padding:12px 10px calc(12px + env(safe-area-inset-bottom,0px)) 10px;position:relative;z-index:100}.glass-card{background:var(--panel-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--panel-border);border-radius:20px;padding:20px;box-shadow:0 10px 30px -10px #0000004d;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.glass-card:active{transform:scale(.98);border-color:#ffffff26}.glass-card.interactive{cursor:pointer}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}.app-title{font-size:24px;font-weight:700;background:linear-gradient(135deg,#fff 30%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px var(--danger-glow),inset 0 0 10px var(--danger-glow);transform:scale(1)}50%{box-shadow:0 0 35px #ef444473,inset 0 0 20px #ef444459;transform:scale(1.04)}}@keyframes pulseRadar{0%{transform:scale(.9);opacity:.8}to{transform:scale(1.6);opacity:0}}.pulse-sos-button{background:radial-gradient(circle,var(--danger) 0%,#b91c1c 100%);border:4px solid rgba(255,255,255,.15);box-shadow:0 0 20px var(--danger-glow);animation:pulseGlow 2.5s infinite ease-in-out;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:50%;width:180px;height:180px;transition:transform .2s ease}.pulse-sos-button:active{transform:scale(.92)}.radar-container{position:relative;width:140px;height:140px;display:flex;justify-content:center;align-items:center;margin:20px auto}.radar-circle{position:absolute;border:2px solid var(--primary);border-radius:50%;width:100%;height:100%;opacity:0;animation:pulseRadar 2s infinite linear}.radar-circle:nth-child(2){animation-delay:.6s}.radar-circle:nth-child(3){animation-delay:1.2s}.radar-core{background:var(--panel-bg);border:2px solid var(--panel-border);border-radius:50%;width:60px;height:60px;display:flex;justify-content:center;align-items:center;z-index:10;color:var(--primary);box-shadow:0 0 15px var(--primary-glow)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);text-decoration:none;font-size:11px;font-weight:500;gap:4px;padding:6px 12px;border-radius:12px;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer}.nav-item.active{color:var(--primary);background:#10b98114}.nav-item:active{transform:scale(.9)}.vital-grid{display:grid;grid-template-columns:1fr;gap:16px;padding:20px;overflow-y:auto;flex:1}.vital-grid::-webkit-scrollbar{width:4px}.vital-grid::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.vital-title{font-size:15px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.vital-value{font-family:var(--font-display);font-size:38px;font-weight:700;margin-top:8px;display:flex;align-items:baseline;gap:4px}.vital-unit{font-size:16px;color:var(--text-muted);font-weight:400}.vital-status{font-size:12px;font-weight:600;margin-top:6px;display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;background:#ffffff0d}.status-optimal{color:var(--primary);background:#10b98114}.status-warning{color:var(--warning);background:#f59e0b14}.status-danger{color:var(--danger);background:#ef444414}.stat-mini{background:#ffffff08;padding:10px;border-radius:12px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.05)}.stat-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.stat-value{font-size:18px;font-weight:700;color:#fff}.stat-value small{font-size:10px;font-weight:500;color:var(--text-muted)}.alert-banner{background:#ef444426;border:1px solid var(--danger);color:var(--danger);padding:10px;border-radius:12px;margin-top:15px;text-align:center;font-weight:700;font-size:12px;animation:pulseGlow 1.5s infinite}@keyframes heartbeat{0%{transform:scale(1)}25%{transform:scale(1.15)}40%{transform:scale(1)}60%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tab-btn[data-v-a58d2200]{flex:1;padding:10px 12px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:var(--text-secondary);border-radius:12px;font-family:var(--font-display);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s}.tab-btn.active[data-v-a58d2200]{background:#10b9811a;border-color:var(--primary);color:var(--primary)}.action-teach-btn[data-v-a58d2200]{width:100%;padding:12px 16px;border-radius:12px;border:1px solid rgba(16,185,129,.2);background:#10b98114;color:var(--primary);font-family:var(--font-display);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.action-teach-btn[data-v-a58d2200]:hover{background:#10b9811f;border-color:var(--primary)}.action-teach-btn[data-v-a58d2200]:active{transform:scale(.98)}.exercise-card[data-v-a58d2200]{cursor:pointer;transition:all .2s}.exercise-card[data-v-a58d2200]:active{transform:scale(.98)}.exercise-icon[data-v-a58d2200]{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#10b9811a,#3b82f614);display:flex;align-items:center;justify-content:center;flex-shrink:0}.spinner[data-v-a58d2200]{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--primary);border-radius:50%;animation:spin-a58d2200 .8s linear infinite;margin:0 auto}@keyframes spin-a58d2200{to{transform:rotate(360deg)}}.exercise-preview-container[data-v-f281350e]{display:flex;justify-content:center;align-items:center;background-color:#0003;border-radius:16px;padding:12px;border:1px solid rgba(255,255,255,.05)}.preview-canvas[data-v-f281350e]{max-width:100%;display:block}.exercise-container[data-v-2f671047]{display:flex;flex-direction:column;height:100%;overflow:hidden}.exercise-active[data-v-2f671047]{flex:1;display:flex;flex-direction:column;overflow:hidden}.back-btn[data-v-2f671047]{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);border-radius:10px;padding:6px 14px;font-family:var(--font-display);font-size:12px;font-weight:700;cursor:pointer}.start-btn[data-v-2f671047]{margin-top:24px;width:100%;padding:16px;border-radius:16px;border:none;background:linear-gradient(135deg,var(--primary) 0%,#059669 100%);color:#fff;font-family:var(--font-display);font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 4px 20px var(--primary-glow);transition:transform .15s}.start-btn[data-v-2f671047]:active{transform:scale(.97)}.timer-bar[data-v-2f671047]{height:4px;background:#ffffff0f;overflow:hidden}.timer-fill[data-v-2f671047]{height:100%;background:linear-gradient(90deg,var(--primary),var(--info));transition:width .15s linear}.touch-area[data-v-2f671047]{flex:1;position:relative;overflow:hidden;touch-action:none}.exercise-canvas[data-v-2f671047]{width:100%;height:100%;display:block}.camera-area[data-v-2f671047]{flex:1;position:relative;overflow:hidden;background:#000}.camera-video[data-v-2f671047]{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.pose-overlay[data-v-2f671047]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;transform:scaleX(-1)}.rep-counter[data-v-2f671047]{display:flex;align-items:baseline;justify-content:center;padding:6px 0;background:#0000004d;transition:transform .2s}.rep-counter.pulse[data-v-2f671047]{animation:repPulse-2f671047 .4s ease-out}.rep-current[data-v-2f671047]{font-size:28px;font-weight:900;color:var(--primary);font-family:var(--font-display)}.rep-divider[data-v-2f671047]{font-size:18px;color:var(--text-muted);margin:0 4px}.rep-total[data-v-2f671047]{font-size:18px;font-weight:700;color:var(--text-secondary);font-family:var(--font-display)}@keyframes repPulse-2f671047{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.camera-switch-btn[data-v-2f671047]{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:18px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:transform .2s}.camera-switch-btn[data-v-2f671047]:active{transform:scale(.9)}.pose-status[data-v-2f671047]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:8px 20px;border-radius:20px;background:#000000b3;color:var(--text-secondary);font-size:12px;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s;max-width:85%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pose-status.match[data-v-2f671047]{background:#10b98133;color:var(--primary);border:1px solid rgba(16,185,129,.3)}.quality-bar-container[data-v-2f671047]{position:absolute;top:12px;left:12px;right:60px;height:4px;border-radius:2px;background:#ffffff1a;overflow:hidden}.quality-bar-fill[data-v-2f671047]{height:100%;border-radius:2px;transition:width .2s ease,background .3s}.detail-badge[data-v-2f671047]{position:absolute;bottom:56px;left:50%;transform:translate(-50%);padding:4px 12px;border-radius:12px;background:#00000080;color:var(--text-muted);font-size:10px;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.feedback-badge[data-v-2f671047]{position:absolute;top:40%;left:50%;transform:translate(-50%);padding:10px 24px;border-radius:16px;font-size:18px;font-weight:800;font-family:var(--font-display);pointer-events:none;z-index:10}.feedback-badge.success[data-v-2f671047]{background:#10b98133;color:var(--primary);border:1px solid rgba(16,185,129,.3)}.feedback-badge.error[data-v-2f671047]{background:#ef444433;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.pop-enter-active[data-v-2f671047]{animation:popIn-2f671047 .3s ease-out}.pop-leave-active[data-v-2f671047]{animation:popOut-2f671047 .2s ease-in}@keyframes popIn-2f671047{0%{opacity:0;transform:translate(-50%) scale(.7)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes popOut-2f671047{0%{opacity:1}to{opacity:0;transform:translate(-50%) scale(.8)}}.retry-btn[data-v-2f671047],.done-btn[data-v-2f671047]{flex:1;padding:14px;border-radius:14px;font-family:var(--font-display);font-size:14px;font-weight:700;cursor:pointer;border:none}.retry-btn[data-v-2f671047]{background:#ffffff0f;color:var(--text-secondary);border:1px solid rgba(255,255,255,.08)}.done-btn[data-v-2f671047]{background:linear-gradient(135deg,var(--primary) 0%,#059669 100%);color:#fff}.heatmap-grid[data-v-355e0dd6]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.heatmap-cell[data-v-355e0dd6]{aspect-ratio:1;border-radius:4px;position:relative}.heatmap-cell.l0[data-v-355e0dd6]{background:#ffffff0a}.heatmap-cell.l1[data-v-355e0dd6]{background:#10b98133}.heatmap-cell.l2[data-v-355e0dd6]{background:#10b98173}.heatmap-cell.l3[data-v-355e0dd6]{background:#10b981bf}.today-dot[data-v-355e0dd6]{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#fff}.heatmap-legend[data-v-355e0dd6]{width:10px;height:10px;border-radius:2px;display:inline-block}.heatmap-legend.l0[data-v-355e0dd6]{background:#ffffff0a}.heatmap-legend.l1[data-v-355e0dd6]{background:#10b98133}.heatmap-legend.l2[data-v-355e0dd6]{background:#10b98173}.heatmap-legend.l3[data-v-355e0dd6]{background:#10b981bf}.data-card[data-v-045a7da9]{text-align:center;padding:16px 12px}.data-icon[data-v-045a7da9]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-size:18px}.data-label[data-v-045a7da9]{font-size:10px;color:var(--text-muted);font-weight:600;display:block}.data-value[data-v-045a7da9]{font-size:24px;font-weight:800;display:block;margin-top:4px}.data-unit[data-v-045a7da9]{font-size:10px;color:var(--text-muted);font-weight:600}.period-btn[data-v-045a7da9]{flex:1;padding:10px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:var(--text-secondary);border-radius:12px;font-family:var(--font-display);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s}.period-btn.active[data-v-045a7da9]{background:#10b9811a;border-color:var(--primary);color:var(--primary)}.sync-btn[data-v-045a7da9],.upload-btn[data-v-045a7da9]{flex:1;padding:10px 12px;border-radius:12px;font-family:var(--font-display);font-size:11px;font-weight:700;cursor:pointer;border:none;transition:all .2s}.sync-btn[data-v-045a7da9]{background:#3b82f61a;color:var(--info);border:1px solid rgba(59,130,246,.2)}.upload-btn[data-v-045a7da9]{background:#10b9811a;color:var(--primary);border:1px solid rgba(16,185,129,.2)}.spinner[data-v-045a7da9]{width:28px;height:28px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--primary);border-radius:50%;animation:spin-045a7da9 .8s linear infinite;margin:0 auto}@keyframes spin-045a7da9{to{transform:rotate(360deg)}}.scene-btn[data-v-f8615656]{padding:14px 8px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-family:var(--font-display);text-align:center}.scene-btn.active[data-v-f8615656]{background:#10b9811a;border-color:var(--primary);color:var(--primary);box-shadow:0 0 12px #10b9811a}.scene-btn[data-v-f8615656]:active{transform:scale(.96)}.device-control-card[data-v-f8615656]{transition:all .2s}.device-icon-wrap[data-v-f8615656]{width:44px;height:44px;border-radius:12px;background:#ffffff0a;display:flex;align-items:center;justify-content:center}.toggle-switch[data-v-f8615656]{width:50px;height:28px;border-radius:14px;background:#ffffff1a;position:relative;cursor:pointer;transition:all .3s}.toggle-switch.on[data-v-f8615656]{background:var(--primary);box-shadow:0 0 12px var(--primary-glow)}.toggle-knob[data-v-f8615656]{width:22px;height:22px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:all .3s;box-shadow:0 2px 4px #0000004d}.toggle-switch.on .toggle-knob[data-v-f8615656]{left:25px}.slider[data-v-f8615656]{width:100%;height:6px;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff14;outline:none}.slider[data-v-f8615656]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 0 8px var(--primary-glow)}.slider-warm[data-v-f8615656]::-webkit-slider-thumb{background:var(--warning);box-shadow:0 0 8px #f59e0b66}.spinner[data-v-f8615656]{width:28px;height:28px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--primary);border-radius:50%;animation:spin-f8615656 .8s linear infinite;margin:0 auto}@keyframes spin-f8615656{to{transform:rotate(360deg)}}.status-badge[data-v-f8615656]{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:inline-block;box-shadow:0 2px 4px #0000001a}.status-badge.disarmed[data-v-f8615656]{background:#ffffff0d;color:var(--text-secondary)}.status-badge.armed[data-v-f8615656]{background:#10b9811a;color:var(--primary);box-shadow:0 0 10px #10b98140;animation:pulse-green-f8615656 2s infinite ease-in-out}.status-badge.alarm[data-v-f8615656]{background:#ef444426;color:var(--danger);box-shadow:0 0 15px #ef444480;animation:pulse-red-f8615656 .8s infinite alternate ease-in-out}.alarm-trigger-banner[data-v-f8615656]{background:#ef444414;border:1px solid rgba(239,68,68,.3);padding:12px;border-radius:12px;margin-top:15px;color:#fff;animation:pulse-border-red-f8615656 1.5s infinite}.btn-primary-glow[data-v-f8615656]{background:linear-gradient(135deg,var(--primary) 0%,#059669 100%);color:#fff;border:none;box-shadow:0 4px 15px var(--primary-glow);transition:all .2s;font-family:var(--font-display)}.btn-primary-glow[data-v-f8615656]:active{transform:scale(.97)}.btn-secondary-outline[data-v-f8615656]{border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#fff;transition:all .2s;font-family:var(--font-display)}.btn-secondary-outline[data-v-f8615656]:active{transform:scale(.97)}.btn-danger-outline[data-v-f8615656]{border:1px solid rgba(239,68,68,.2);background:#ef44440d;color:var(--danger);transition:all .2s;font-family:var(--font-display)}.btn-danger-outline[data-v-f8615656]:active{transform:scale(.97)}.spinner-mini[data-v-f8615656]{width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--primary);border-radius:50%;animation:spin-f8615656 .8s linear infinite;margin:10px auto}@keyframes pulse-green-f8615656{0%{box-shadow:0 0 4px #10b98133}50%{box-shadow:0 0 12px #10b98180}to{box-shadow:0 0 4px #10b98133}}@keyframes pulse-red-f8615656{0%{box-shadow:0 0 4px #ef44444d}to{box-shadow:0 0 16px #ef4444cc}}@keyframes pulse-border-red-f8615656{0%{border-color:#ef444433}50%{border-color:#ef444499}to{border-color:#ef444433}}.teach-container[data-v-89d33d76]{display:flex;flex-direction:column;height:100%;overflow:hidden}.teach-content[data-v-89d33d76]{flex:1}.back-btn[data-v-89d33d76]{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);border-radius:10px;padding:6px 14px;font-family:var(--font-display);font-size:12px;font-weight:700;cursor:pointer}.form-group[data-v-89d33d76]{display:flex;flex-direction:column;gap:6px;text-align:left}.form-group label[data-v-89d33d76]{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.form-input[data-v-89d33d76]{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#fff;font-size:13px;font-weight:600;outline:none;box-sizing:border-box}.form-input[data-v-89d33d76]:focus{border-color:var(--primary);background:#ffffff0d}.btn-group[data-v-89d33d76]{display:flex;gap:8px}.toggle-btn[data-v-89d33d76]{flex:1;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:var(--text-secondary);font-size:11px;font-weight:700;cursor:pointer;transition:all .2s}.toggle-btn.active[data-v-89d33d76]{border-color:var(--primary);background:#10b9811a;color:var(--primary)}.action-btn[data-v-89d33d76]{width:100%;padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--primary) 0%,#059669 100%);color:#fff;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 4px 15px var(--primary-glow);transition:transform .1s}.action-btn[data-v-89d33d76]:disabled{background:#ffffff14;color:var(--text-muted);box-shadow:none;cursor:not-allowed}.action-btn[data-v-89d33d76]:active:not(:disabled){transform:scale(.98)}.camera-wrapper[data-v-89d33d76]{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:4 / 3}.camera-video[data-v-89d33d76]{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.pose-overlay[data-v-89d33d76]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;transform:scaleX(-1)}.countdown-overlay[data-v-89d33d76]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;font-size:80px;color:#fff;font-weight:900}.camera-switch-btn[data-v-89d33d76]{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.record-btn[data-v-89d33d76]{padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#fff;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s}.record-btn.success[data-v-89d33d76]{background:#10b98126;border-color:var(--primary);color:var(--primary)}.record-btn[data-v-89d33d76]:disabled{opacity:.5;cursor:not-allowed}.cancel-btn[data-v-89d33d76]{padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;color:var(--text-secondary);font-size:11px;font-weight:700;cursor:pointer}.pose-status[data-v-89d33d76]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:12px;background:#000000b3;color:var(--text-secondary);font-size:11px;font-weight:700}.pose-status.match[data-v-89d33d76]{background:#10b98133;color:var(--primary);border:1px solid rgba(16,185,129,.3)}.hand-app-container[data-v-8c61fe03]{display:flex;flex-direction:column;height:100%;background:radial-gradient(circle at 50% 0%,#1e1b4b,#0f172a);color:#fff;padding:16px;overflow-y:auto;box-sizing:border-box}.hand-app-header[data-v-8c61fe03]{padding:14px 20px;border-radius:16px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.hand-app-header[data-v-8c61fe03],.mode-tabs[data-v-8c61fe03],.hand-app-content[data-v-8c61fe03]{flex-shrink:0}.mode-tabs[data-v-8c61fe03]{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;padding:6px;border-radius:14px;margin-bottom:16px}.tab-btn[data-v-8c61fe03]{background:transparent;border:none;color:var(--text-secondary);font-size:10px;font-weight:700;padding:8px 4px;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s cubic-bezier(.4,0,.2,1)}.tab-btn span[data-v-8c61fe03]{font-size:16px}.tab-btn.active[data-v-8c61fe03]{background:#ffffff14;color:#fff;box-shadow:0 4px 12px #00000026}.tab-btn[data-v-8c61fe03]:active{transform:scale(.95)}.panel-card[data-v-8c61fe03]{padding:20px;border-radius:20px;text-align:left}.panel-title[data-v-8c61fe03]{font-size:16px;font-weight:800;margin:0 0 6px;color:#fff}.panel-subtitle[data-v-8c61fe03]{font-size:11px;color:var(--text-secondary);margin:0 0 16px;line-height:1.4}.input-label[data-v-8c61fe03]{font-size:10px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;display:block}.no-devices-alert[data-v-8c61fe03]{padding:12px;border-radius:10px;background:#ef444414;border:1px solid rgba(239,68,68,.15);color:#f87171;font-size:12px;text-align:center}.camera-grid[data-v-8c61fe03]{display:flex;flex-direction:column;gap:8px}.camera-select-card[data-v-8c61fe03]{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;color:#fff;cursor:pointer;text-align:left;position:relative;transition:all .2s}.camera-select-card[data-v-8c61fe03]:hover{background:#ffffff0a}.camera-select-card.selected[data-v-8c61fe03]{border-color:var(--primary);background:#10b9810f}.cam-icon[data-v-8c61fe03]{font-size:18px}.cam-details[data-v-8c61fe03]{display:flex;flex-direction:column}.cam-name[data-v-8c61fe03]{font-size:12px;font-weight:700}.cam-id[data-v-8c61fe03]{font-size:9px;color:var(--text-muted)}.badge-active[data-v-8c61fe03]{position:absolute;right:12px;padding:2px 8px;border-radius:6px;background:var(--primary);color:#fff;font-size:8px;font-weight:800;text-transform:uppercase}.prescription-panel[data-v-8c61fe03]{margin-bottom:18px}.prescription-card[data-v-8c61fe03]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid rgba(16,185,129,.25);background:#10b9810d;cursor:pointer;margin-bottom:8px;transition:all .2s}.prescription-card[data-v-8c61fe03]:hover{background:#10b9811a}.prescription-card-main[data-v-8c61fe03]{display:flex;flex-direction:column;gap:2px;color:#fff;font-size:13px}.prescription-card-meta[data-v-8c61fe03]{font-size:11px;color:var(--text-secondary)}.prescription-card-by[data-v-8c61fe03]{font-size:10px;color:var(--text-muted)}.prescription-card-arrow[data-v-8c61fe03]{color:var(--primary);font-size:14px}.exercise-gallery-grid[data-v-8c61fe03]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.exercise-card[data-v-8c61fe03]{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;color:#fff;cursor:pointer;text-align:center;transition:all .2s}.exercise-card[data-v-8c61fe03]:hover{background:#ffffff0d}.exercise-card.selected[data-v-8c61fe03]{border-color:var(--primary);background:#10b98114;box-shadow:0 0 0 1px var(--primary) inset}.exercise-card-icon[data-v-8c61fe03]{font-size:26px;line-height:1}.exercise-card-name[data-v-8c61fe03]{font-size:12px;font-weight:700;color:#fff}.exercise-card-meta[data-v-8c61fe03]{font-size:10px;color:var(--text-muted)}.exercise-card-custom-badge[data-v-8c61fe03]{position:absolute;top:6px;right:6px;padding:2px 6px;border-radius:6px;background:#10b98126;color:var(--primary);font-size:8px;font-weight:800;text-transform:uppercase}.video-preview-wrapper[data-v-8c61fe03]{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px #00000080;background:#000;border:1px solid rgba(255,255,255,.08)}.camera-wrapper[data-v-8c61fe03]{position:relative;aspect-ratio:4 / 3;width:100%}.camera-video[data-v-8c61fe03]{width:100%;height:100%;object-fit:cover}.camera-video.mirror[data-v-8c61fe03]{transform:scaleX(-1)}.pose-overlay[data-v-8c61fe03]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.pose-overlay.mirror[data-v-8c61fe03]{transform:scaleX(-1)}.quality-badge[data-v-8c61fe03]{position:absolute;top:10px;left:10px;background:#000000a6;padding:4px 10px;border-radius:20px;font-size:9px;font-weight:800;display:flex;align-items:center;gap:6px;color:#ef4444;border:1px solid rgba(255,255,255,.05)}.quality-badge.active[data-v-8c61fe03]{color:var(--primary)}.quality-badge .dot[data-v-8c61fe03]{width:6px;height:6px;border-radius:50%;background:#ef4444}.quality-badge.active .dot[data-v-8c61fe03]{background:var(--primary);box-shadow:0 0 8px var(--primary)}.fps-badge[data-v-8c61fe03]{position:absolute;top:10px;right:10px;background:#000000a6;padding:4px 10px;border-radius:20px;font-size:9px;font-weight:800;color:#fff}.diagnostics-panel[data-v-8c61fe03]{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:12px 16px}.diag-header[data-v-8c61fe03]{font-size:9px;color:var(--text-muted);font-weight:800;text-transform:uppercase;margin-bottom:6px;display:block}.diag-rows[data-v-8c61fe03]{display:flex;flex-direction:column;gap:4px}.diag-row[data-v-8c61fe03]{display:flex;justify-content:space-between;font-size:11px;font-family:monospace}.diag-row .val[data-v-8c61fe03]{font-weight:700;color:var(--text-secondary)}.form-group[data-v-8c61fe03]{display:flex;flex-direction:column;gap:6px}.form-input[data-v-8c61fe03],.form-select[data-v-8c61fe03]{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#fff;font-size:13px;font-weight:600;outline:none;box-sizing:border-box}.form-input[data-v-8c61fe03]:focus,.form-select[data-v-8c61fe03]:focus{border-color:var(--primary);background:#ffffff0d}.form-select option[data-v-8c61fe03]{background:#1e1b4b;color:#fff}.btn-group[data-v-8c61fe03]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toggle-btn[data-v-8c61fe03]{padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;color:var(--text-secondary);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s}.toggle-btn.active[data-v-8c61fe03]{border-color:var(--primary);background:#10b9811a;color:var(--primary)}.countdown-overlay[data-v-8c61fe03]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0009;font-size:72px;color:#fff;font-weight:900;animation:pulse-8c61fe03 1s infinite alternate}.pos-overlay-text[data-v-8c61fe03]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:20px;background:#000000d9;font-size:11px;font-weight:700}.dual-btn-grid[data-v-8c61fe03]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.record-trigger-btn[data-v-8c61fe03]{padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#fff;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s}.record-trigger-btn[data-v-8c61fe03]:disabled{opacity:.4;cursor:not-allowed}.record-trigger-btn.success[data-v-8c61fe03]{background:#10b98126;border-color:var(--primary);color:var(--primary)}.action-btn[data-v-8c61fe03]{width:100%;padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--primary) 0%,#059669 100%);color:#fff;font-size:14px;font-weight:800;cursor:pointer;transition:transform .1s;box-shadow:0 4px 15px #10b9814d}.action-btn[data-v-8c61fe03]:disabled{background:#ffffff14;color:var(--text-muted);box-shadow:none;cursor:not-allowed}.action-btn[data-v-8c61fe03]:active:not(:disabled){transform:scale(.98)}.demo-animation-wrapper[data-v-8c61fe03]{background:#0000004d;border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,.05)}.canvas-container[data-v-8c61fe03]{position:relative;aspect-ratio:4 / 3;width:100%;border-radius:12px;overflow:hidden;background:#000;display:flex;justify-content:center;align-items:center}.demo-canvas[data-v-8c61fe03]{width:100%;height:100%;object-fit:contain}.demo-overlay-info[data-v-8c61fe03]{position:absolute;bottom:12px;left:12px;right:12px;background:#0009;padding:8px 12px;border-radius:8px;font-size:11px;color:var(--text-secondary);text-align:center}.no-selection-placeholder[data-v-8c61fe03]{padding:40px 20px;border-radius:16px;border:1px dashed rgba(255,255,255,.1);text-align:center;color:var(--text-muted);font-size:12px}.training-metrics-grid[data-v-8c61fe03]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric-card[data-v-8c61fe03]{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center}.metric-card .label[data-v-8c61fe03]{font-size:9px;color:var(--text-muted);font-weight:700;text-transform:uppercase;margin-bottom:4px}.metric-card .val[data-v-8c61fe03]{font-size:18px;font-weight:800;color:#fff}.metric-card .val.count[data-v-8c61fe03]{color:var(--info)}.metric-card .val.score[data-v-8c61fe03]{color:var(--primary)}.live-engine-feedback[data-v-8c61fe03]{position:absolute;bottom:14px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:20px;background:#000000d9;font-size:11px;font-weight:700;border:1px solid rgba(255,255,255,.05);color:var(--text-secondary)}.live-engine-feedback.success[data-v-8c61fe03]{background:#10b98133;border-color:var(--primary);color:var(--primary)}.research-label[data-v-8c61fe03]{display:block;margin-top:2px;color:var(--primary);font-size:13px;font-weight:700}.mode-tabs .tab-btn[data-v-8c61fe03],.record-trigger-btn[data-v-8c61fe03],.action-btn[data-v-8c61fe03],.control-btn[data-v-8c61fe03],.text-command[data-v-8c61fe03]{min-height:48px;font-size:15px}.panel-subtitle[data-v-8c61fe03],.input-label[data-v-8c61fe03],.binding-status[data-v-8c61fe03],.training-status[data-v-8c61fe03],.session-result[data-v-8c61fe03]{font-size:15px;line-height:1.5}.patient-binding-panel[data-v-8c61fe03],.preflight-panel[data-v-8c61fe03],.session-feedback-panel[data-v-8c61fe03],.patient-session-banner[data-v-8c61fe03],.training-status[data-v-8c61fe03],.session-result[data-v-8c61fe03]{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:14px;background:#ffffff06}.binding-row[data-v-8c61fe03]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}.binding-status[data-v-8c61fe03]{margin:10px 0 0;color:var(--primary)}.inline-error[data-v-8c61fe03]{margin:10px 0 0;padding:10px;border-left:4px solid var(--danger);color:#fecaca;background:#ef44441f;font-size:15px;line-height:1.4}.quality-badge.warning[data-v-8c61fe03]{color:var(--warning);border-color:var(--warning)}.quality-badge.error[data-v-8c61fe03]{color:var(--danger);border-color:var(--danger);max-width:calc(100% - 24px)}.patient-session-banner[data-v-8c61fe03]{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;margin:14px 0;color:var(--primary)}.patient-session-banner.missing[data-v-8c61fe03]{border-color:var(--danger);color:#fecaca}.text-command[data-v-8c61fe03]{border:0;background:transparent;color:var(--info);font-weight:700;text-decoration:underline}.preflight-panel[data-v-8c61fe03],.session-feedback-panel[data-v-8c61fe03]{display:grid;gap:14px;margin-bottom:14px}.preflight-panel h4[data-v-8c61fe03],.session-feedback-panel strong[data-v-8c61fe03]{margin:0;font-size:18px}.preflight-panel label[data-v-8c61fe03]:not(.checkbox-row),.session-feedback-panel label[data-v-8c61fe03]{display:grid;gap:8px;font-size:15px}.preflight-panel input[type=range][data-v-8c61fe03],.session-feedback-panel input[type=range][data-v-8c61fe03]{width:100%;min-height:32px}.checkbox-row[data-v-8c61fe03]{display:flex;align-items:center;gap:12px;min-height:48px;font-size:16px}.checkbox-row input[data-v-8c61fe03]{width:24px;height:24px}.training-status[data-v-8c61fe03]{display:grid;gap:4px;margin-bottom:12px}.training-status[data-phase=ACTIVE][data-v-8c61fe03]{border-color:var(--primary)}.training-status[data-phase=NOT_EVALUABLE][data-v-8c61fe03],.training-status[data-phase=ABORTED][data-v-8c61fe03]{border-color:var(--warning)}.session-controls[data-v-8c61fe03]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.control-btn[data-v-8c61fe03]{border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0a;color:#fff;font-weight:700}.control-btn.primary[data-v-8c61fe03]{border-color:var(--primary);color:var(--primary)}.control-btn.danger[data-v-8c61fe03]{border-color:var(--danger);color:#fecaca}.training-metrics-strip[data-v-8c61fe03]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid rgba(255,255,255,.1);margin:12px 0}.metric-item[data-v-8c61fe03]{min-width:0;padding:12px 8px;text-align:center}.metric-item+.metric-item[data-v-8c61fe03]{border-left:1px solid rgba(255,255,255,.1)}.metric-item .label[data-v-8c61fe03]{display:block;min-height:2.8em;color:var(--text-secondary);font-size:13px;line-height:1.35}.metric-item .val[data-v-8c61fe03]{display:block;margin-top:4px;color:#fff;font-size:18px;font-weight:800}.session-result[data-v-8c61fe03]{display:grid;gap:5px;margin-top:14px}.session-result small[data-v-8c61fe03]{color:var(--text-muted);font-size:13px}@media(max-width:560px){.binding-row[data-v-8c61fe03],.session-controls[data-v-8c61fe03],.training-metrics-strip[data-v-8c61fe03]{grid-template-columns:1fr}.metric-item+.metric-item[data-v-8c61fe03]{border-left:0;border-top:1px solid rgba(255,255,255,.1)}}@keyframes pulse-8c61fe03{0%{transform:scale(1)}to{transform:scale(1.05)}}
