:root{--bg: #0a0a0f;--surface: #111118;--surface2: #18181f;--border: rgba(255,255,255,.07);--text: #e8e8f0;--muted: #7a7a9a;--accent: #00c8ff;--accent2: #7c3aed;--green: #00e08e;--amber: #ffc040;--red: #ff5050;--radius: 14px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg);color:var(--text);overflow-x:hidden}.noise-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-size:200px 200px;opacity:.5}.app-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.row-head h2{font-size:1.3rem;font-weight:800}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 2.2rem;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));font-size:.95rem;font-weight:700;color:#fff;border:none;cursor:pointer;font-family:inherit;box-shadow:0 0 24px #00c8ff33;transition:transform .15s,box-shadow .15s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 40px #00c8ff59}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-ghost{background:none;border:1px solid var(--border);border-radius:10px;padding:.7rem 1.2rem;font-size:.88rem;font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:#fff3;color:var(--text)}.link-btn{background:none;border:none;cursor:pointer;color:var(--accent);font-size:inherit;font-weight:600;font-family:inherit;padding:0;text-decoration:underline;text-underline-offset:2px}.link-btn:hover{opacity:.85}.button-row{display:flex;gap:.75rem;margin-top:.5rem}.button-row .btn-primary{flex:1}.button-row-single{justify-content:stretch}.button-row-single .btn-primary{width:100%}.error-text{font-size:.82rem;color:var(--red)}.status-text{font-size:.82rem;color:var(--green)}.auth-subtitle{font-size:.88rem;color:var(--muted)}.field-wrap{display:flex;align-items:center;gap:.6rem;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:0 .9rem;transition:border-color .15s}.field-wrap:focus-within{border-color:var(--accent)}.field-icon{font-size:1rem;color:var(--muted);flex-shrink:0}.field-wrap input,.field-wrap select{flex:1;width:100%;background:none;border:none;outline:none;padding:.72rem 0;color:var(--text);font-size:.9rem;font-family:inherit}.field-wrap input::placeholder{color:var(--muted)}.field-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;color:var(--text);cursor:pointer}.field-label-wrap{flex-direction:column;align-items:stretch;padding:.6rem .9rem;gap:.3rem}.field-sublabel{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 480px){.two-col{grid-template-columns:1fr}}.tab{padding:.4rem .85rem;border-radius:8px;background:var(--surface2);border:1px solid var(--border);font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit;transition:all .15s}.tab:hover{border-color:#ffffff26;color:var(--text)}.tab.active{background:#00c8ff1a;border-color:var(--accent);color:var(--accent)}.top-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:1rem;padding:0 1.75rem;height:64px;background:#0a0a0fd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--text);text-transform:uppercase;background:none;border:none;cursor:pointer}.brand-mark-img{width:24px;height:24px;object-fit:contain}.top-links{display:flex;gap:.25rem;margin-left:1rem}.top-link{background:none;border:none;cursor:pointer;padding:.45rem .95rem;border-radius:10px;font-size:.95rem;color:var(--muted);transition:color .15s,background .15s;font-family:inherit}.top-link:hover{color:var(--text);background:#ffffff0d}.top-link.active{color:var(--accent);background:#00c8ff14}.nav-right{display:flex;align-items:center;gap:.75rem;margin-left:auto}.pill{padding:.3rem .85rem;border-radius:20px;background:#ffffff0f;border:1px solid var(--border);font-size:.78rem;font-weight:500}.hamburger-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--text);padding:.25rem .5rem;display:none}@media (max-width: 640px){.top-links{display:none}.hamburger-btn{display:block}}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.menu-drawer{position:fixed;top:0;right:0;bottom:0;z-index:201;width:min(300px,85vw);background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem;animation:slideInRight .2s ease}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.menu-header{display:flex;align-items:center;gap:.6rem;margin-bottom:2rem}.menu-brand{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.menu-nav{display:flex;flex-direction:column;gap:.25rem}.menu-item{display:flex;align-items:center;gap:.75rem;background:none;border:none;cursor:pointer;padding:.75rem .5rem;border-radius:10px;font-size:.9rem;color:var(--text);text-align:left;transition:background .15s;font-family:inherit}.menu-item:hover{background:#ffffff0d}.menu-item-danger{color:var(--red)}.menu-item-icon{font-size:1.1rem;width:24px;text-align:center}.splash-marketing{flex:1;display:flex;flex-direction:column;min-height:100vh;overflow:hidden}.splash-top-brand{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem}.splash-top-brand-left{display:flex;align-items:center;gap:.6rem}.splash-top-brand-icon{width:32px;height:32px;object-fit:contain}.splash-top-brand-copy{display:flex;flex-direction:column}.splash-top-brand-name{font-size:.82rem;font-weight:700;letter-spacing:.04em;color:var(--text)}.splash-top-brand-tag{font-size:.68rem;color:var(--muted);letter-spacing:.03em}.splash-hero{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:min(1600px,100%);margin:0 auto;padding:clamp(1.4rem,3vw,2.8rem) clamp(1.25rem,3vw,2rem) 2.5rem;gap:1rem}.hero-stack{display:flex;flex-direction:column;font-size:clamp(5.2rem,13vw,12.5rem);font-weight:900;line-height:.95;letter-spacing:-.03em;text-transform:uppercase}.hero-stack .outline{-webkit-text-stroke:2px rgba(83,206,255,.35);color:transparent}.hero-stack .accent{color:#55c9ff;text-shadow:0 0 28px rgba(72,191,255,.35)}.splash-hero .dashboard-subhead{font-size:clamp(.95rem,1.4vw,1.3rem);color:#6b7390;letter-spacing:.04em;text-transform:none;font-weight:500}.dashboard-subhead{font-size:.9rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.hero-copy{font-size:clamp(1.45rem,2.05vw,2.65rem);color:#a3a9bf;max-width:1100px;line-height:1.38;margin-top:.35rem}.splash-cta-btn{margin-top:.2rem;font-size:clamp(1.2rem,1.5vw,1.6rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#05121e;padding:1rem 2.2rem;border-radius:16px;background:#59bff0;box-shadow:none}.splash-cta-btn:hover{transform:translateY(-1px);box-shadow:none;background:#73cdf9}.hero-stats{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-start;font-size:clamp(1.02rem,1.25vw,1.35rem);color:#a3a9bf;margin-top:.8rem}.hero-stats strong{color:#edf2ff;font-weight:700}.hero-stats .divider-dot{color:#fff3}.avatars{display:flex;align-items:center;margin-right:.25rem}.avatars span{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));border:2px solid var(--bg);margin-right:-10px;display:inline-block}.avatars span:nth-child(2){background:linear-gradient(135deg,var(--accent2),var(--red))}.avatars span:nth-child(3){background:linear-gradient(135deg,var(--green),var(--accent))}.hero-ticker-wrap{overflow:hidden;width:100%;padding:.95rem 0;border:none;background:#63c9ff}.hero-ticker-track{display:flex;gap:1.5rem;white-space:nowrap;animation:ticker-scroll 30s linear infinite;font-size:clamp(1rem,1.2vw,1.4rem);color:#e9f1ff;font-weight:700;letter-spacing:.12em;text-transform:uppercase}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.splash-features{display:flex;flex-direction:column;gap:2.5rem;padding:4rem 2rem;max-width:1100px;margin:0 auto;width:100%}@media (max-width: 860px){.splash-hero{align-items:center;text-align:center;padding-top:2.2rem}.hero-copy{font-size:1.08rem;max-width:640px;line-height:1.6}.hero-stats{justify-content:center;font-size:.9rem}.avatars span{width:28px;height:28px}}.features-head{display:flex;flex-direction:column;gap:.7rem;align-items:center;text-align:center}.features-head h2{font-size:clamp(2.7rem,6.5vw,6rem);font-weight:900;line-height:.98;letter-spacing:-.02em}.features-head h2 span{color:var(--accent)}.features-head .label{font-size:clamp(.95rem,1.2vw,1.25rem);letter-spacing:.15em}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.feature-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s,transform .2s;animation:fadeUp .5s ease both;animation-delay:var(--tile-delay, 0ms)}.feature-tile:hover{border-color:var(--accent);transform:translateY(-4px)}.feature-media{width:100%;aspect-ratio:16/10;background:var(--surface2);display:flex;align-items:center;justify-content:center;overflow:hidden}.feature-media img{width:100%;height:100%;object-fit:cover}.feature-tile h3{font-size:1rem;font-weight:700;padding:1.25rem 1.25rem .25rem}.feature-tile p{font-size:.85rem;color:var(--muted);line-height:1.6;padding:0 1.25rem 1.25rem}.splash-final-cta{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:5rem 2rem;background:linear-gradient(180deg,transparent 0%,rgba(0,200,255,.04) 100%)}.splash-final-cta h2{font-size:clamp(1.8rem,5vw,3rem);font-weight:900;line-height:1.1;letter-spacing:-.02em}.splash-final-cta h2 span{color:var(--accent)}.auth-page{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;min-height:100vh;background:var(--bg)}.auth-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 2rem 2.5rem;display:flex;flex-direction:column;gap:1.1rem}.auth-logo{display:flex;align-items:center;gap:.6rem;margin-bottom:.25rem}.auth-logo img{width:32px;height:32px;object-fit:contain}.auth-logo span{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.auth-title{font-size:1.5rem;font-weight:800;color:var(--text);margin:0}.auth-sub{font-size:.85rem;color:var(--muted);margin:0}.auth-form{display:flex;flex-direction:column;gap:.9rem}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.auth-input{width:100%;padding:.7rem .9rem;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.92rem;font-family:inherit;outline:none;transition:border-color .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none}.auth-input:focus{border-color:var(--accent)}.auth-password-wrap{position:relative}.auth-password-wrap .auth-input{padding-right:3rem}.auth-password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;color:var(--muted);padding:0;line-height:1}.auth-forgot{background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--muted);align-self:flex-end;padding:0;transition:color .15s;font-family:inherit}.auth-forgot:hover{color:var(--accent)}.auth-error{font-size:.82rem;color:#f87171;background:#f8717114;border-radius:6px;padding:.5rem .75rem;margin:0}.auth-btn{width:100%;padding:.8rem;background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;border-radius:10px;font-size:.92rem;font-weight:700;color:#fff;cursor:pointer;font-family:inherit;transition:opacity .15s,transform .15s}.auth-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.auth-btn:disabled{opacity:.45;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--muted)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-google-btn{width:100%;padding:.75rem;display:flex;align-items:center;justify-content:center;gap:.6rem;background:var(--surface2);border:1px solid var(--border);border-radius:10px;font-size:.88rem;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.auth-google-btn:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff26}.auth-google-btn:disabled{opacity:.45;cursor:not-allowed}.auth-switch{text-align:center;font-size:.83rem;color:var(--muted);margin:0}.auth-switch button{background:none;border:none;cursor:pointer;color:var(--accent);font-size:inherit;font-weight:600;font-family:inherit;padding:0}.onboarding-page{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;min-height:100vh}.onboarding-page.card{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;min-height:calc(100vh - 64px);background:none;border:none;border-radius:0}section.onboarding-page.card{max-width:480px;width:100%;margin:2rem auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;gap:1rem}.onboarding-header{display:flex;flex-direction:column;gap:.3rem}.onboarding-header h2{font-size:1.3rem;font-weight:700}.step-dots{display:flex;gap:.5rem}.step-dot{height:4px;flex:1;border-radius:2px;background:var(--border);transition:background .3s}.step-dot.dot-active{background:var(--accent)}.dashboard-page{flex:1;padding:1.5rem;max-width:700px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:1.25rem}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dashboard-head h2{font-size:1.1rem;font-weight:800;letter-spacing:.04em}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.quick-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem;display:flex;flex-direction:column;gap:.4rem;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .15s,transform .15s;color:var(--text)}.quick-card:hover{border-color:var(--accent);transform:translateY(-2px)}.quick-card strong{font-size:.9rem}.quick-card span{font-size:.78rem;color:var(--muted)}.quick-card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:.25rem}.quick-icon-green{background:#00e08e1f}.quick-icon-blue{background:#00c8ff1f}.pending-analysis-notice{display:flex;align-items:center;gap:.75rem;background:#ffc04014;border:1px solid rgba(255,192,64,.25);border-radius:10px;padding:.75rem 1rem;font-size:.82rem;color:var(--amber)}.pending-notice-icon{font-size:1.1rem;flex-shrink:0}.pending-notice-text{flex:1;line-height:1.5}.pending-notice-close{background:none;border:none;cursor:pointer;color:var(--amber);font-size:1.1rem;line-height:1;padding:0}.perf-stats-head{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.perf-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.perf-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem 0}.perf-stat-value{font-size:1.6rem;font-weight:800}.perf-stat-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat-accent{color:var(--accent)}.stat-blue{color:#49f}.stat-purple{color:var(--accent2)}.sessions .session-list{display:flex;flex-direction:column;gap:.5rem}.session-item{display:flex;align-items:center;gap:.75rem;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;cursor:pointer;font-family:inherit;text-align:left;color:var(--text);width:100%;transition:border-color .15s}.session-item:hover{border-color:var(--accent)}.session-item>span:first-child{font-size:1.3rem}.session-item div{flex:1;display:flex;flex-direction:column;gap:.1rem}.session-item div strong{font-size:.88rem}.session-item div small{font-size:.72rem;color:var(--muted)}.score-pill{font-size:1.1rem;font-weight:800;color:var(--accent);min-width:3rem;text-align:right}.tracking-vault .long-subcopy{font-size:.78rem;color:var(--muted);margin-top:.15rem}.tracking-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tracking-select{padding:.35rem .65rem;border-radius:8px;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:.78rem;font-family:inherit;outline:none;cursor:pointer}.long-tabs{display:flex;gap:.3rem}.long-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.long-score{font-size:2rem;font-weight:900;line-height:1}.long-head small{font-size:.75rem;color:var(--muted)}.long-metrics{display:flex;gap:1.25rem}.long-metrics>div{display:flex;flex-direction:column;align-items:center;gap:.1rem}.long-metrics strong{font-size:1rem;font-weight:800}.long-metrics small{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.long-bars{display:flex;align-items:flex-end;gap:4px;height:100px;padding-top:.5rem}.long-bar{flex:1;border-radius:6px 6px 0 0;background:var(--bar-color, var(--accent));opacity:.5;display:flex;align-items:flex-start;justify-content:center;padding-top:4px;font-size:.62rem;font-weight:700;color:var(--text);transition:height .4s ease,opacity .3s;min-height:8px}.long-bar.active{opacity:1}.long-bar.empty{background:#ffffff0f;opacity:1}.long-bar span{text-shadow:0 1px 4px rgba(0,0,0,.5)}.long-labels{display:flex;gap:4px}.long-labels span{flex:1;text-align:center;font-size:.6rem;color:var(--muted)}.long-labels span.active{color:var(--text);font-weight:600}.archive-card{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;cursor:pointer;width:100%;text-align:left;font-family:inherit;color:var(--text);transition:border-color .15s}.archive-card:hover{border-color:var(--accent)}.archive-card-left{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:0}.archive-card-id{display:flex;align-items:center;gap:.4rem;font-size:.68rem;color:var(--muted)}.archive-card-title{font-size:.92rem;font-weight:600}.archive-card-meta{font-size:.76rem;color:var(--muted)}.archive-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;flex-shrink:0;margin-left:1rem}.archive-card-score{font-size:1.8rem;font-weight:900;color:var(--accent);line-height:1}.archive-card-meter{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.empty-state{align-items:center;text-align:center;padding:3rem 1.5rem}.empty-icon{font-size:2.5rem;margin-bottom:.5rem}.empty-state strong{font-size:1rem}.empty-state p{font-size:.85rem;color:var(--muted)}.empty-state .btn-primary{margin-top:.75rem}.lab-page{flex:1;padding:2rem;min-height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:center;justify-content:center}section.lab-page.card{max-width:540px;width:100%;margin:0 auto}.lab-steps-indicator{display:flex;align-items:center;gap:0;justify-content:center}.lab-step-item{display:flex;flex-direction:column;align-items:center;gap:.3rem}.lab-step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;background:var(--surface2);border:2px solid var(--border);color:var(--muted);transition:all .3s}.lab-step-circle.lsc-active{border-color:var(--accent);color:var(--accent);background:#00c8ff14}.lab-step-circle.lsc-done{background:var(--accent);border-color:var(--accent);color:#fff}.lab-step-label{font-size:.68rem;color:var(--muted);font-weight:600}.lab-step-label.lsl-active{color:var(--text)}.lab-step-line{width:48px;height:2px;background:var(--border);margin:0 .5rem 1.2rem;transition:background .3s}.lab-step-line.lsl-filled{background:var(--accent)}.sport-dropdown-wrap{position:relative;width:100%}.sport-dropdown{width:100%;padding:.85rem 2.5rem .85rem 1rem;background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:.95rem;font-family:inherit;outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .15s}.sport-dropdown:focus{border-color:var(--accent)}.sport-dropdown-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.9rem;color:var(--muted);pointer-events:none}.upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .15s;min-height:160px}.upload-box:hover{border-color:var(--accent)}.upload-box input[type=file]{display:none}.upload-box video{width:100%;max-height:220px;border-radius:8px;object-fit:cover;background:#000}.upload-box div{display:flex;flex-direction:column;gap:.3rem}.upload-box strong{font-size:.9rem;color:var(--text)}.upload-box small{font-size:.78rem;color:var(--muted)}.upload-instructions{width:100%;border:1px solid var(--border);background:#ffffff05;border-radius:12px;padding:.9rem 1rem 1rem}.upload-instructions-title{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}.upload-instructions ul{list-style:none;display:flex;flex-direction:column;gap:.45rem;padding:0}.upload-instructions li{font-size:.84rem;color:var(--muted);line-height:1.45;position:relative;padding-left:1rem}.upload-instructions li:before{content:"•";color:var(--accent);position:absolute;left:0}.scan-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1.5rem,3vw,2.75rem);min-height:calc(100vh - 64px);gap:1.6rem}section.scan-page.card{width:min(980px,94vw);min-height:min(860px,calc(100vh - 120px));max-width:none;margin:0 auto;padding:clamp(2rem,4vw,3.5rem) clamp(1.25rem,4vw,4rem);border-radius:28px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 20% 12%,rgba(0,200,255,.11),transparent 45%),radial-gradient(circle at 82% 88%,rgba(124,58,237,.12),transparent 50%),linear-gradient(180deg,#ffffff05,#ffffff02),var(--surface);box-shadow:0 24px 80px #00000073;align-items:center;text-align:center;justify-content:center;gap:clamp(.8rem,1.5vh,1.35rem)}.scan-sport-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.3rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);font-size:1.02rem;font-weight:600;color:#c3cbdf}.scan-ring-centered{margin:.5rem 0}.ring{width:clamp(180px,23vw,270px);aspect-ratio:1/1;border-radius:50%;background:conic-gradient(var(--accent) var(--pct, 0%),rgba(255,255,255,.06) 0%);display:flex;align-items:center;justify-content:center;position:relative}.ring:before{content:"";position:absolute;width:calc(100% - 34px);height:calc(100% - 34px);border-radius:50%;background:var(--surface)}.ring span{position:relative;z-index:1;font-size:clamp(2.6rem,4vw,4rem);font-weight:800;letter-spacing:-.02em;color:var(--accent)}.scan-status-title{font-size:clamp(1.45rem,2.2vw,2.15rem);font-weight:800;letter-spacing:.05em;color:var(--text);text-transform:uppercase}.scan-bar{width:min(760px,100%);height:12px;border-radius:999px;background:#ffffff0f;overflow:hidden}.scan-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .4s ease}.scan-telemetry-line{display:flex;align-items:center;gap:.4rem;font-size:clamp(1rem,1.3vw,1.25rem);color:#00c8ffe6;font-family:monospace;letter-spacing:.03em}.scan-telemetry-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.scan-resume-notice{font-size:.95rem;color:var(--amber);padding:.6rem 1rem;background:#ffc0401a;border-radius:10px}.scan-no-refresh-note{font-size:1rem;color:#98a4c0}.scan-steps{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:.75rem;width:min(760px,100%)}.step-item{flex:1;padding:.8rem .7rem;border-radius:12px;background:var(--surface2);border:1px solid var(--border);text-align:center;transition:all .3s}.step-item strong{font-size:1rem;font-weight:700;color:var(--muted)}.step-item.active{border-color:var(--accent)}.step-item.active strong{color:var(--accent)}.step-item.done{background:#00e08e14;border-color:#00e08e4d}.step-item.done strong{color:var(--green)}@media (max-width: 900px){section.scan-page.card{width:min(700px,94vw);min-height:auto;border-radius:20px;padding:1.6rem 1rem}.scan-steps{grid-template-columns:repeat(2,minmax(120px,1fr))}.scan-bar{height:10px}.scan-no-refresh-note{font-size:.88rem}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.analysis-running-badge{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:300;display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border-radius:20px;background:#14141cf2;border:1px solid rgba(0,200,255,.3);font-size:.8rem;white-space:nowrap;box-shadow:0 4px 24px #00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.analysis-running-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.analysis-running-btn{background:#00c8ff26;border:1px solid rgba(0,200,255,.3);border-radius:10px;padding:.25rem .6rem;font-size:.75rem;color:var(--accent);cursor:pointer;font-family:inherit}.profile-page{max-width:600px}.profile-hero{flex-direction:row;align-items:center;gap:1rem}.profile-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:800;color:#fff;flex-shrink:0}.profile-hero strong{font-size:1rem}.profile-hero small{font-size:.78rem;color:var(--muted);display:block}.preferences-page{max-width:600px}.pref-list{display:flex;flex-direction:column;gap:.75rem}.pref-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0}.pref-item>div{display:flex;flex-direction:column;gap:.1rem}.pref-item strong{font-size:.88rem}.pref-item small{font-size:.75rem;color:var(--muted)}.toggle-btn{width:44px;height:24px;border-radius:12px;background:#ffffff1a;border:none;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}.toggle-btn.on{background:var(--accent)}.toggle-btn span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;display:block}.toggle-btn.on span{transform:translate(20px)}.segment-row{display:flex;gap:.5rem;margin-top:.25rem}.pricing-page{max-width:600px;align-items:stretch}.pricing-grid{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}.plan-card{gap:1rem}.plan-card.featured{border-color:var(--accent);background:linear-gradient(135deg,#00c8ff0a,#7c3aed0a)}.plan-price{font-size:2.2rem;font-weight:900}.plan-price small{font-size:.85rem;color:var(--muted);font-weight:500}.plan-card ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;padding:0}.plan-card li{font-size:.85rem;display:flex;gap:.5rem;align-items:flex-start}.plan-card li:before{content:"✓";color:var(--green);font-weight:700;flex-shrink:0}.report-page{flex:1;padding:1.5rem;max-width:860px;margin:0 auto;width:100%}.report-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.report-top{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);background:#ffffff05}.report-brand{font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--accent);text-transform:uppercase}.report-sub{font-size:.8rem;color:var(--muted);margin-top:.25rem}.report-close{background:none;border:none;cursor:pointer;font-size:1.4rem;color:var(--muted);line-height:1}.report-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);background:#ffffff03}.report-tabs-light .report-tab{flex:1;padding:.75rem;border:none;background:none;font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;transition:color .15s,border-color .15s,background .15s;position:relative}.report-tabs-light .report-tab.active{border-bottom-color:transparent}.report-tabs-light .report-tab.active:after{content:"";position:absolute;left:14%;right:14%;bottom:0;height:2px;border-radius:2px;background:var(--tab-color, var(--accent))}.report-tabs-light .report-tab-overview.active{--tab-color: #26d8ff;color:#26d8ff;background:#26d8ff12}.report-tabs-light .report-tab-biomechanics.active{--tab-color: #f6be52;color:#f6be52;background:#f6be5214}.report-tabs-light .report-tab-training.active{--tab-color: #8f95ff;color:#8f95ff;background:#8f95ff14}.scan-resume-notice.report-ai-notice{margin:.5rem 1rem 0;font-size:.78rem}.report-pane{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.report-pane-flow{--tab-accent: var(--accent);--pane-glow-a: rgba(0, 200, 255, .1);--pane-glow-b: rgba(124, 58, 237, .08);background:radial-gradient(circle at 8% -4%,var(--pane-glow-a),transparent 40%),radial-gradient(circle at 92% 104%,var(--pane-glow-b),transparent 35%),linear-gradient(180deg,#ffffff05,#ffffff02)}.report-pane-overview{--tab-accent: #26d8ff;--pane-glow-a: rgba(38, 216, 255, .11);--pane-glow-b: rgba(124, 58, 237, .08)}.report-pane-biomechanics{--tab-accent: #f6be52;--pane-glow-a: rgba(246, 190, 82, .09);--pane-glow-b: rgba(34, 197, 94, .08)}.report-pane-training{--tab-accent: #8f95ff;--pane-glow-a: rgba(143, 149, 255, .1);--pane-glow-b: rgba(0, 200, 255, .08)}.report-snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.snapshot-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.3rem}.snapshot-icon{font-size:1.2rem}.snapshot-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.snapshot-sublabel{font-size:.68rem;color:var(--muted);opacity:.7}.snapshot-value{font-size:1.6rem;font-weight:800;color:var(--accent);margin-top:.25rem}.snapshot-risk{font-size:1.1rem;font-weight:800;margin-top:.25rem}.risk-low{color:var(--green)}.risk-moderate{color:var(--amber)}.risk-high{color:var(--red)}.pbs-gauge-card{background:var(--surface2);border:1px solid var(--border);border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.pbs-kicker{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.pbs-gauge-wrap{position:relative;width:200px;height:140px}.pbs-gauge-svg{width:100%;height:100%;overflow:visible}.pbs-gauge-fill{transition:stroke-dasharray 1.2s cubic-bezier(.4,0,.2,1)}.pbs-gauge-center{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:baseline;gap:2px}.pbs-gauge-level-inside{position:absolute;bottom:2px;left:50%;transform:translate(-50%);display:flex;justify-content:center}.pbs-gauge-value{font-size:2.2rem;font-weight:900}.pbs-gauge-max{font-size:.8rem;color:var(--muted)}.pbs-gauge-footer{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:100%}.pbs-level-badge{padding:.2rem .7rem;border-radius:20px;border:1px solid;font-size:.72rem;font-weight:700;white-space:nowrap}.pbs-level-hint{font-size:.78rem;color:var(--muted);text-align:center}.perf-summary-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.report-kicker{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.perf-summary-text{font-size:.9rem;line-height:1.6;color:var(--text)}.core-signal-shell{background:var(--surface2);border:1px solid var(--border);border-radius:14px;overflow:hidden}.core-signal-head{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:#ffffff05}.core-signal-icon{color:var(--accent);font-size:1rem}.core-signal-title{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.core-signal-gap{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.core-signal-gap-detailed{gap:1.2rem}.gap-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.gap-detail-header-left{display:flex;flex-direction:column;gap:.25rem}.gap-detail-header-left strong{font-size:.9rem;font-weight:700}.gap-detail-subtitle{font-size:.75rem;color:var(--muted)}.core-signal-gap-right{display:flex;flex-direction:column;align-items:flex-end}.core-signal-gap-value{font-size:2rem;font-weight:900;color:var(--accent);line-height:1}.core-signal-gap-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;color:var(--muted)}.gap-detail-section{display:flex;flex-direction:column;gap:.5rem}.gap-detail-heading{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.gap-detail-body{font-size:.85rem;color:var(--text);line-height:1.65}.gap-pillar-bars{display:flex;flex-direction:column;gap:.6rem}.gap-pillar-row{display:flex;align-items:center;gap:.5rem;animation:fadeUp .35s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.gap-pillar-icon{font-size:.8rem;width:16px;text-align:center}.gap-pillar-label{font-size:.75rem;font-weight:600;width:68px;flex-shrink:0}.gap-pillar-track{flex:1;height:7px;border-radius:4px;background:#ffffff0f;overflow:hidden}.gap-pillar-fill{height:100%;border-radius:4px;transition:width 1s cubic-bezier(.4,0,.2,1)}.gap-pillar-score{font-size:.8rem;font-weight:700;width:26px;text-align:right}.gap-pillar-cap{font-size:.7rem;color:var(--muted);width:32px}.gap-advice-list{display:flex;flex-direction:column;gap:.75rem;padding:0;list-style:none}.gap-advice-item{display:flex;gap:.75rem;align-items:flex-start}.gap-advice-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:20px;background:#00c8ff1a;border:1px solid rgba(0,200,255,.2);font-size:.7rem;font-weight:700;color:var(--accent);white-space:nowrap;flex-shrink:0}.gap-advice-content{display:flex;flex-direction:column;gap:.25rem}.gap-advice-tip{font-size:.82rem;color:var(--text);line-height:1.5}.gap-advice-action{font-size:.8rem;color:var(--accent);line-height:1.5}.report-panel{background:var(--surface2);border:1px solid var(--border);border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;box-shadow:inset 0 1px #ffffff09}.report-panel-head{display:flex;align-items:center;justify-content:space-between}.report-pane-flow>.report-panel,.report-pane-flow>.core-signal-shell,.report-pane-flow>.perf-summary-card,.report-pane-flow>.pbs-gauge-card{background:linear-gradient(180deg,#ffffff09,#ffffff03);border-color:#ffffff1f}.perf-meter-row{display:flex;gap:1rem;flex-wrap:wrap}.flow-panel{gap:1rem}.flow-title-row{display:flex;align-items:center;gap:.6rem}.flow-title-row h3{font-size:.95rem;font-weight:700}.flow-title-row-green .flow-icon{color:var(--green)}.flow-title-row-amber .flow-icon{color:var(--amber)}.flow-title-row-cyan .flow-icon{color:var(--accent)}.flow-title-row-sport .flow-icon{font-size:1.1rem}.flow-panel-subtitle{font-size:.82rem;color:var(--muted);line-height:1.5}.flow-icon{font-size:1rem}.flow-list{display:flex;flex-direction:column;gap:.9rem}.strength-flow-card{background:#00e08e0d;border:1px solid rgba(0,224,142,.15);border-radius:12px;padding:.9rem 1.1rem}.strength-flow-card h4{font-size:.85rem;font-weight:700;color:var(--green);margin-bottom:.3rem}.strength-flow-card p{font-size:.82rem;color:var(--text);line-height:1.55}.improve-flow-card{background:#ffc0400a;border:1px solid rgba(255,192,64,.15);border-radius:12px;padding:.9rem 1.1rem;position:relative}.drill-number-badge{position:absolute;top:.75rem;right:.75rem;width:26px;height:26px;border-radius:50%;background:#ffffff14;border:1px solid var(--border);font-size:.72rem;font-weight:700;color:var(--muted);display:flex;align-items:center;justify-content:center}.improve-number-badge{background:#ffc0401a;border-color:#ffc0404d;color:var(--amber)}.sport-number-badge{background:#00c8ff1a;border-color:#00c8ff33;color:var(--accent)}.improve-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.improve-icon{font-size:1rem}.improve-flow-card h4{font-size:.88rem;font-weight:700}.improve-body{font-size:.82rem;color:var(--text);line-height:1.55;margin-bottom:.75rem}.improve-row{display:flex;flex-direction:column;gap:.3rem;margin-top:.6rem}.improve-row span{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.improve-row-why span{color:#ffc040b3}.improve-row-do span{color:#00c8ffb3}.improve-row p{font-size:.82rem;color:var(--text);line-height:1.55}.sport-coach-card{background:#00c8ff08;border:1px solid rgba(0,200,255,.1);border-radius:12px;padding:.9rem 1.1rem;position:relative;display:flex;flex-direction:column;gap:.7rem}.sport-coach-title{font-size:.88rem;font-weight:700;color:var(--accent);padding-right:2rem}.sport-coach-summary{font-size:.82rem;color:var(--muted);line-height:1.5}.sport-coach-section{display:flex;flex-direction:column;gap:.4rem}.sport-coach-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.sport-coach-strengths .sport-coach-section-label{color:var(--green)}.sport-coach-tips .sport-coach-section-label{color:var(--amber)}.sport-coach-list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.sport-coach-strength-item{font-size:.82rem;color:var(--text);line-height:1.5}.sport-coach-strength-item strong{color:var(--green)}.sport-coach-tip-list{display:flex;flex-direction:column;gap:.6rem}.sport-coach-tip-item{display:flex;flex-direction:column;gap:.2rem}.sport-coach-tip-label{font-size:.78rem;font-weight:700;color:var(--amber)}.sport-coach-tip-explanation{font-size:.8rem;color:var(--text);line-height:1.5}.sport-coach-tip-cue{font-size:.8rem;color:var(--accent);line-height:1.5}.drill-flow-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;position:relative;display:flex;flex-direction:column;gap:.75rem}.drill-flow-card h4{font-size:.88rem;font-weight:700;padding-right:2rem}.drill-section{display:flex;flex-direction:column;gap:.35rem}.drill-section p{font-size:.82rem;color:var(--text);line-height:1.55}.drill-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.drill-section-steps .drill-section-label{color:#00c8ffb3}.drill-steps{display:flex;flex-direction:column;gap:.4rem;padding-left:1.25rem}.drill-steps li{font-size:.82rem;color:var(--text);line-height:1.55}.drill-video-block{display:flex;flex-direction:column;gap:.35rem}.drill-video-frame{width:100%;border-radius:10px;overflow:hidden;aspect-ratio:16/9;background:#000}.drill-video-frame iframe{width:100%;height:100%;border:none}.drill-video-link{font-size:.82rem;color:var(--accent);text-decoration:none}.drill-video-link:hover{text-decoration:underline}.training-block{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.training-block-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.training-block-body{font-size:.85rem;color:var(--text);line-height:1.6}.goal-list-flow{display:flex;flex-direction:column;gap:.6rem;padding:0;list-style:none}.goal-list-flow li{display:flex;gap:.75rem;align-items:flex-start}.goal-num{min-width:22px;height:22px;border-radius:50%;background:#00c8ff1f;border:1px solid rgba(0,200,255,.25);font-size:.7rem;font-weight:700;color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.goal-list-flow p{font-size:.84rem;line-height:1.55}.continue-training-btn{width:100%;padding:.85rem;background:#00c8ff1a;border:1px solid rgba(0,200,255,.3);border-radius:12px;font-size:.9rem;font-weight:600;color:var(--accent);cursor:pointer;font-family:inherit;transition:background .15s}.continue-training-btn:hover{background:#00c8ff29}.biomech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.biomech-card{background:#ffffff08;border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.biomech-card-head{display:flex;align-items:center;justify-content:space-between}.biomech-card-head h4{font-size:.85rem;font-weight:700}.biomech-card-head span{font-size:1.1rem;font-weight:800;color:var(--accent)}.biomech-copy{font-size:.8rem;color:var(--muted);line-height:1.55}.biomech-callout{border-radius:8px;padding:.6rem .75rem;font-size:.78rem}.biomech-callout strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:.3rem}.biomech-callout ul{list-style:disc;padding-left:1rem;display:flex;flex-direction:column;gap:.25rem}.biomech-callout li{line-height:1.45}.biomech-callout-focus{background:#00c8ff12;border:1px solid rgba(0,200,255,.2);color:var(--text)}.biomech-callout-focus strong{color:var(--accent)}.biomech-callout-recs{background:#00c8ff12;border:1px solid rgba(0,200,255,.15);color:var(--text)}.biomech-callout-recs strong{color:var(--accent)}.perf-meter{flex:1;min-width:140px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.perf-meter svg{width:100%;max-width:140px}.perf-meter-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.perf-meter-value{font-size:1.2rem;font-weight:800}.kinetic-svg{width:100%;max-width:140px}.skel-draw-ellipse{stroke-dasharray:1;stroke-dashoffset:1;animation:skelDraw 2s ease forwards}.skel-draw-path{stroke-dasharray:1;stroke-dashoffset:1;animation:skelDraw 2.5s ease forwards .3s}@keyframes skelDraw{to{stroke-dashoffset:0}}.skel-joint{opacity:0;animation:skelJointIn .3s ease forwards 1.8s}@keyframes skelJointIn{to{opacity:.7}}.body-analysis-panel{gap:1rem}.body-analysis-sub{font-size:.82rem;color:var(--muted);line-height:1.5;margin-bottom:.25rem}.body-map-layout{display:grid;grid-template-columns:280px 1fr;gap:1.25rem;align-items:start}@media (max-width: 560px){.body-map-layout{grid-template-columns:1fr}.body-map-svg-wrap{max-width:220px;margin:0 auto}}.body-map-svg-wrap{position:sticky;top:80px;border-radius:10px;overflow:hidden;background:#ffffff05;border:1px solid var(--border)}.body-map-svg{width:100%;display:block}.body-map-regions{display:flex;flex-direction:column;gap:.75rem}.body-region-card{background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.6rem}.body-region-head{display:flex;align-items:center;gap:.5rem}.body-region-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.sev-low{background:var(--green)}.sev-moderate{background:var(--amber)}.sev-high{background:var(--red)}.body-region-head strong{font-size:.85rem;font-weight:700;flex:1}.body-region-badge{font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;text-transform:uppercase;letter-spacing:.05em}.sev-low.body-region-badge{background:#00e08e1f;color:var(--green)}.sev-moderate.body-region-badge{background:#ffc0401f;color:var(--amber)}.sev-high.body-region-badge{background:#ff50501f;color:var(--red)}.body-region-details{display:flex;flex-direction:column;gap:.5rem}.body-region-section{display:flex;flex-direction:column;gap:.2rem}.body-region-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.body-region-obs{font-size:.8rem;color:var(--text);line-height:1.5}.body-legend{display:flex;gap:1.25rem;flex-wrap:wrap;padding-top:.5rem}.body-legend span{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--muted)}.body-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.mechanics-focus-panel{gap:1rem}.mechanics-focus-list{display:flex;flex-direction:column;gap:.9rem}.mechanics-card{background:#7c3aed0d;border:1px solid rgba(124,58,237,.15);border-radius:12px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.6rem}@media (max-width: 600px){.report-mobile-wrap{padding:0}.report-shell{border-radius:0;border-left:none;border-right:none}.report-pane{padding:1rem}.report-snapshot-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.snapshot-card{padding:.75rem}.snapshot-value{font-size:1.2rem}.biomech-grid,.quick-actions{grid-template-columns:1fr}.perf-stats-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}}.coach-take-card{background:linear-gradient(135deg,#00c8ff0f,#7c3aed0f);border:1px solid rgba(0,200,255,.15);border-radius:14px;padding:1.1rem 1.2rem;margin-bottom:.5rem}.coach-take-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.coach-take-icon{font-size:1.1rem}.coach-take-title{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#ffffffe6;flex:1}.coach-take-text{font-size:.92rem;line-height:1.55;color:#fffc}.form-grade-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.15rem .5rem;border-radius:8px;font-weight:800;font-size:.82rem;letter-spacing:.02em;line-height:1.3}.form-grade-a{background:#00e08e26;color:#00e08e;border:1px solid rgba(0,224,142,.3)}.form-grade-b{background:#00c8ff26;color:#00c8ff;border:1px solid rgba(0,200,255,.3)}.form-grade-c{background:#ffc04026;color:#ffc040;border:1px solid rgba(255,192,64,.3)}.form-grade-d{background:#ff643c26;color:#ff644c;border:1px solid rgba(255,100,60,.3)}.form-grade-f{background:#ff3c3c26;color:#ff3c3c;border:1px solid rgba(255,60,60,.3)}.next-session-card{background:#00e08e0d;border:1px solid rgba(0,224,142,.18);border-radius:14px;padding:1rem 1.2rem;margin-bottom:.5rem}.next-session-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.next-session-icon{font-size:1.1rem}.next-session-title{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#00e08e}.next-session-text{font-size:.92rem;line-height:1.55;color:#ffffffd9}.progression-timeline-card{background:#7c3aed0d;border:1px solid rgba(124,58,237,.15);border-radius:14px;padding:1rem 1.2rem;margin-bottom:.5rem}.progression-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.progression-icon{font-size:1.1rem}.progression-title{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#a78bfa}.progression-text{font-size:.92rem;line-height:1.55;color:#fffc}.drill-title-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.drill-title-row h4{margin:0}.drill-difficulty-badge{display:inline-block;padding:.12rem .55rem;border-radius:6px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.drill-diff-beginner{background:#00e08e26;color:#00e08e;border:1px solid rgba(0,224,142,.25)}.drill-diff-intermediate{background:#00c8ff26;color:#00c8ff;border:1px solid rgba(0,200,255,.25)}.drill-diff-advanced{background:#ff643c26;color:#ff8040;border:1px solid rgba(255,100,60,.25)}.drill-section-progression{border-top:1px solid rgba(255,255,255,.06);padding-top:.6rem}.drill-progression-text{font-size:.85rem;color:#ffffffb3;font-style:italic}.dash-coach-card{background:linear-gradient(135deg,#00e08e0f,#00c8ff0f);border:1px solid rgba(0,224,142,.18)}.dash-coach-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;flex-wrap:wrap}.dash-coach-icon{font-size:1.1rem}.dash-coach-header strong{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;flex:1}.dash-coach-text{font-size:.9rem;line-height:1.55;color:#fffc;margin-bottom:.6rem}.stat-green{color:#00e08e}.pricing-grid-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}.plan-badge{position:absolute;top:-.6rem;right:1rem;background:var(--accent, #00c8ff);color:#000;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .7rem;border-radius:6px}.plan-card{position:relative}.plan-description{font-size:.85rem;color:#fff9;margin:.3rem 0 1rem;line-height:1.4}.plan-price-custom{font-size:1.8rem!important;font-weight:800}.plan-card-team{border-color:#a78bfa40;background:linear-gradient(135deg,#7c3aed0a,#a78bfa0a)}.btn-team-contact{background:linear-gradient(135deg,#7c3aed,#a78bfa)!important;text-decoration:none;text-align:center;display:block}.btn-team-contact:hover{opacity:.9}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}@media (max-width: 640px){.top-nav{padding:0 1rem;height:56px}.report-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.report-tabs::-webkit-scrollbar{display:none}.report-tabs-light .report-tab{flex:none;white-space:nowrap;padding:.65rem .9rem;font-size:.78rem}section.onboarding-page.card{margin:1rem;width:calc(100% - 2rem);padding:1.5rem}.dashboard-page{padding:.85rem}.report-page{padding:.5rem 0}.report-shell{border-radius:0;border-left:none;border-right:none}.report-top{padding:1rem}.report-pane{padding:1rem;gap:1.25rem}.snapshot-card{padding:.75rem .6rem}.snapshot-value{font-size:1.2rem}.pbs-gauge-wrap{width:170px;height:120px}.pbs-gauge-value{font-size:1.9rem}.lab-page{padding:1rem}.lab-step-label{font-size:.72rem}section.scan-page.card{width:min(100%,94vw);padding:1.25rem .85rem}.splash-features{padding:2rem 1rem}.splash-hero{padding:2rem 1rem 1.5rem}}@media (max-width: 480px){.card{padding:.9rem;gap:.65rem}section.onboarding-page.card{margin:.75rem;width:calc(100% - 1.5rem);padding:1.25rem}.dashboard-page{padding:.75rem;gap:1rem}.quick-actions{grid-template-columns:1fr}.perf-stats-grid{gap:.4rem}.perf-stat-value{font-size:1.3rem}.report-pane{padding:.85rem;gap:1rem}.report-top{padding:.85rem 1rem}.report-sub{font-size:.75rem}.report-snapshot-grid{grid-template-columns:1fr 1fr;gap:.5rem}.snapshot-value{font-size:1.1rem}.snapshot-card{padding:.65rem .6rem}.pbs-gauge-card{padding:1rem .75rem}.pbs-gauge-wrap{width:150px;height:106px}.pbs-gauge-value{font-size:1.7rem}.pbs-gauge-max,.pbs-level-hint{font-size:.72rem}.perf-meter-row{gap:.5rem}.perf-meter{min-width:90px}.body-map-layout{grid-template-columns:1fr}.body-map-svg-wrap{max-width:190px;margin:0 auto;position:static}.biomech-grid{grid-template-columns:1fr!important}.drill-flow-card{padding:.85rem}.drill-video-link{font-size:.82rem}.report-tabs-light .report-tab{padding:.6rem .75rem;font-size:.74rem}.coach-take-card{padding:.9rem 1rem}.coach-take-text{font-size:.87rem}.next-session-card{padding:.9rem 1rem}.next-session-text{font-size:.87rem}.progression-timeline-card{padding:.9rem 1rem}.progression-text{font-size:.87rem}.body-region-obs{font-size:.78rem}.splash-features{padding:1.5rem .85rem}.hero-ticker-track{font-size:.88rem;letter-spacing:.08em}.splash-cta-btn{padding:.85rem 1.6rem;font-size:1.1rem}.features-head h2{font-size:clamp(2.2rem,11vw,3.5rem)}.lab-page{padding:.85rem;gap:.75rem}.lab-steps-indicator{gap:.5rem}.lab-step-label{font-size:.68rem}.upload-box{min-height:150px}.archive-card{padding:.75rem .9rem}section.scan-page.card{padding:1.1rem .75rem}.scan-steps{grid-template-columns:repeat(2,1fr);gap:.5rem}.step-item{padding:.5rem .4rem}.step-item strong{font-size:.82rem}.btn-primary,.btn-ghost{min-height:44px}.tab{min-height:36px}}@media (max-width: 380px){:root{font-size:15px}.report-snapshot-grid{grid-template-columns:1fr 1fr;gap:.35rem}.snapshot-value{font-size:1rem}.snapshot-label{font-size:.62rem}.pbs-gauge-wrap{width:135px;height:96px}.pbs-gauge-value{font-size:1.5rem}.report-tabs-light .report-tab{padding:.55rem .6rem;font-size:.7rem}.body-map-svg-wrap{max-width:170px}section.onboarding-page.card{margin:.5rem;width:calc(100% - 1rem);padding:1rem}.features-head h2{font-size:clamp(1.9rem,12vw,2.8rem)}}.auth-view-container .auth-card{padding:32px;border-radius:var(--radius);background:var(--surface);box-shadow:0 16px 48px #0003;text-align:center}.auth-view-container .auth-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.auth-view-container .auth-logo img{width:40px;height:40px}.auth-view-container .auth-logo span{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.auth-view-container .auth-title{font-size:28px;margin-bottom:8px}.auth-view-container .auth-sub{font-size:16px;color:var(--muted);margin-bottom:24px}.auth-view-container .auth-form{display:grid;gap:16px}.auth-view-container .auth-field{text-align:left}.auth-view-container .auth-label{display:block;font-size:12px;font-weight:600;margin-bottom:6px;color:var(--muted)}.auth-view-container .auth-input-field{width:100%;padding:12px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:15px}.auth-view-container .auth-input-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #00c8ff26}.auth-view-container .auth-password-wrap{position:relative}.auth-view-container .auth-password-toggle{position:absolute;top:50%;right:12px;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px}.auth-view-container .auth-btn,.auth-view-container .auth-google-btn{padding:14px;font-size:16px;font-weight:700}.auth-view-container .auth-switch{margin-top:24px;font-size:14px}.auth-view-container .auth-switch button{font-weight:700}
