:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #121216;--bg-offset: #1e1e24;--card-bg: #1e1e24;--card-bg-elevated: #2b2b36;--text: #ffffff;--text-dim: #a0a0b0;--primary: #00d2ff;--primary-glow: rgba(0, 210, 255, .4);--border: #2d2d39;--sidebar-width: 260px;--success: #00ff88;--danger: #ff4d4d}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.landing-page{height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#1e1e24,#121216);padding:20px}.auth-card{background:var(--card-bg);padding:40px;border-radius:16px;box-shadow:0 20px 50px #00000080;width:100%;max-width:400px;text-align:center;border:1px solid var(--border)}.auth-card h1{margin-top:0;margin-bottom:30px;background:linear-gradient(to right,#00d2ff,#3a7bd5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:2rem;font-weight:800}.auth-form{display:flex;flex-direction:column;gap:15px}.auth-form input{padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:1rem;color:#fff;transition:border-color .2s}.auth-form input:focus{outline:none;border-color:var(--primary)}.auth-buttons{display:flex;gap:10px;margin-top:10px}.auth-buttons button{flex:1;padding:14px;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s}.auth-buttons button[type=submit]{background:var(--primary);color:#000}.auth-buttons button[type=button]{background:var(--border);color:var(--text)}.divider{margin:30px 0;position:relative;border-top:1px solid var(--border)}.divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--card-bg);padding:0 15px;color:var(--text-dim);font-size:.8rem}.btn-demo-bypass{width:100%;padding:16px;background:transparent;color:var(--primary);border:2px solid var(--primary);border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-demo-bypass:hover{background:var(--primary);color:#000;box-shadow:0 0 20px var(--primary-glow)}.app-container{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-offset);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:1000}.sidebar-header{padding:30px 20px}.sidebar-logo{font-size:1.5rem;font-weight:800;background:linear-gradient(to right,#00d2ff,#3a7bd5);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-menu{flex:1;padding:0 15px;display:flex;flex-direction:column;gap:8px}.menu-item{padding:12px 20px;background:transparent;border:none;border-radius:10px;color:var(--text-dim);text-align:left;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:12px}.menu-item:hover{background:#ffffff0d;color:#fff}.menu-item.active{background:var(--primary);color:#000;box-shadow:0 4px 15px var(--primary-glow)}.sidebar-footer{padding:20px;border-top:1px solid var(--border)}.btn-logout{width:100%;padding:10px;background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:8px;cursor:pointer}.btn-logout:hover{border-color:var(--danger);color:var(--danger)}.main-content{flex:1;margin-left:var(--sidebar-width);padding:40px;background:var(--bg)}.dashboard-grid-layout{display:grid;grid-template-columns:1fr 350px;gap:30px;align-items:start;max-width:1400px;margin:0 auto}.dashboard-main-column{display:flex;flex-direction:column;gap:30px;min-width:0}.dashboard-side-column{display:flex;flex-direction:column;gap:20px;position:sticky;top:40px}@media(max-width:1024px){.dashboard-grid-layout{grid-template-columns:1fr}.dashboard-side-column{position:static}}.analytics-column{display:flex;flex-direction:column;gap:30px}.card{background:var(--card-bg);border-radius:16px;padding:24px;border:1px solid var(--border);box-shadow:0 10px 30px #0003}.card h3,.card h4{margin-top:0;margin-bottom:20px;font-size:1.1rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.heatmap-grid{display:grid;grid-template-columns:repeat(21,1fr);gap:6px}.heatmap-cell{aspect-ratio:1;background:#2d2d39;border-radius:3px;transition:transform .1s}.heatmap-cell:hover{transform:scale(1.2)}.level-1{background:#0e4429}.level-2{background:#006d32}.level-3{background:#26a641}.level-4{background:#39d353}.heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.heatmap-months{display:flex;gap:20px;color:var(--text-dim);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:15px;color:var(--text-dim);font-size:.7rem}.heatmap-legend .heatmap-cell{width:12px;height:12px;cursor:default}.heatmap-legend .heatmap-cell:hover{transform:none}.sessions-view{max-width:1200px;margin:0 auto;animation:fadeIn .3s ease-out}.sessions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.sessions-header h2{margin:0;font-size:2rem;color:var(--text)}.sessions-table-card{padding:0;overflow:hidden}.sessions-table{width:100%;border-collapse:collapse}.sessions-table th{background:#ffffff05;padding:18px 24px;font-weight:700;font-size:.85rem;border-bottom:1px solid var(--border);text-align:left}.sessions-table td{padding:18px 24px;border-bottom:1px solid var(--border);color:var(--text);font-size:.95rem;text-align:left}.interactive-row{cursor:pointer;transition:background .2s}.interactive-row:hover{background:#00d2ff0d}.interactive-row:hover td{color:var(--primary)}.score-cell{font-weight:800;color:var(--primary)!important}.kpi-column{display:flex;flex-direction:column;gap:20px}.kpi-card{text-align:center}.best-form-card video{width:100%;aspect-ratio:9/16;border-radius:12px;object-fit:cover;margin-bottom:15px;border:1px solid var(--border)}.kpi-value{font-size:2.5rem;font-weight:800;color:var(--primary);text-shadow:0 0 15px var(--primary-glow)}.kpi-value-large{font-size:4rem;font-weight:800;color:var(--primary);margin:20px 0}.kpi-label{color:var(--text-dim);font-size:.9rem}.advice-text{font-size:.95rem;line-height:1.6;text-align:left;color:var(--text)}.history-row{grid-column:1 / -1;margin-top:20px;width:100%}.recent-sessions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;width:100%}.dashboard-controls{grid-column:1 / -1;display:flex;justify-content:flex-end;margin-bottom:-10px}.btn-seed{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-seed:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-seed:disabled{opacity:.5;cursor:not-allowed}.sport-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:5px}.filter-pill{padding:8px 16px;background:transparent;border:1px solid var(--primary);color:var(--primary);border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.filter-pill:hover{background:#00d2ff1a;box-shadow:0 0 10px var(--primary-glow)}.filter-pill.active{background:var(--primary);color:#121216}.detailed-session-view{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn-back{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.btn-back:hover{border-color:var(--text);color:var(--text)}.btn-delete{background:transparent;color:#ff4d4d;border:1px solid #ff4d4d;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s}.btn-delete:hover{background:#ff4d4d1a;box-shadow:0 0 10px #ff4d4d4d}.drilldown-actions{display:flex;gap:15px;margin-bottom:30px}.drilldown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.drilldown-header h2{margin:0;font-size:2rem;color:var(--primary)}.drilldown-date{color:var(--text-dim)}.drilldown-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.drilldown-video-card video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:12px}.drilldown-info{display:flex;flex-direction:column;gap:30px}.session-thumbnail-card{width:100%;background:var(--card-bg-elevated);border-radius:12px;overflow:hidden;border:1px solid var(--border);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.session-thumbnail-card:hover{transform:translateY(-8px);border-color:var(--primary);box-shadow:0 15px 30px #00d2ff33}.session-hover-video{width:100%;aspect-ratio:9/16;object-fit:cover}.session-thumb-info{padding:12px;display:flex;justify-content:space-between;align-items:center;background:var(--card-bg-elevated)}.session-thumb-exercise{font-size:.8rem;font-weight:600}.session-thumb-score{font-size:.8rem;color:var(--primary);font-weight:700}.analyze-view{max-width:1000px;margin:0 auto;width:100%}.tabs{display:flex;gap:15px;margin-bottom:25px;width:100%}@media(max-width:768px){.analyze-view{max-width:100%;overflow-x:hidden}.upload-section{padding:15px;width:100%}.upload-controls-grid{display:flex;flex-direction:column;width:100%}.upload-controls-grid select,.upload-controls-grid input,.upload-controls-grid .file-input-wrapper{width:100%!important;max-width:100%}.video-grid{display:flex;flex-direction:column;gap:20px}.video-card{width:100%;aspect-ratio:9/16}.analysis-details{display:flex;flex-direction:column;width:100%}.feedback-container,.stats-container{width:100%;overflow-wrap:break-word;word-wrap:break-word}}.tab{padding:10px 20px;background:var(--bg);border-radius:8px;cursor:pointer;color:var(--text-dim);transition:all .2s;border:1px solid var(--border)}.tab.active{background:var(--primary);color:#000;border-color:var(--primary)}.upload-controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}select,input[type=text]{background:var(--bg);border:1px solid var(--border);padding:12px;border-radius:8px;color:#fff}.btn-process{background:var(--primary);color:#000;border:none;padding:12px;border-radius:8px;font-weight:800;cursor:pointer}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px}.video-card{background:#000;border-radius:16px;overflow:hidden;position:relative;aspect-ratio:9/16;border:1px solid var(--border)}.video-card h4{position:absolute;top:15px;left:15px;background:#000000b3;padding:6px 12px;border-radius:6px;font-size:.75rem;z-index:10}.video-card video{width:100%;height:100%;object-fit:cover}.analysis-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}table{width:100%;border-collapse:collapse}th,td{padding:14px;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--text-dim);font-size:.8rem;text-transform:uppercase}.score-good{color:var(--success);font-weight:700}.score-bad{color:var(--danger);font-weight:700}.detailed-video-player{width:100%;max-height:60vh;object-fit:contain!important;background-color:#000;border-radius:12px;box-shadow:0 10px 30px #00000080;margin-bottom:20px;display:block}.cursor-pointer{cursor:pointer}.kpi-subtitle{font-size:.85rem;color:#a0a0b0;text-transform:uppercase;letter-spacing:1px;margin-top:5px}.coach-note-video{width:100%;border-radius:8px;margin-top:15px;cursor:pointer;transition:transform .2s;max-height:200px;object-fit:cover}.coach-note-video:hover{transform:scale(1.02);border:2px solid var(--primary)}.guest-cta-card{text-align:center;padding:60px 40px;max-width:600px;margin:40px auto}.guest-cta-card h2{font-size:2rem;color:var(--primary);margin-bottom:20px}.guest-cta-card p{color:var(--text-dim);font-size:1.1rem;line-height:1.6;margin-bottom:30px}.guest-cta-card .btn-process{padding:16px 40px;font-size:1.1rem}@media(max-width:1100px){.sidebar{width:80px}.sidebar-logo,.menu-item span{display:none}.main-content{margin-left:80px;padding:30px}.dashboard-grid-layout{grid-template-columns:1fr}.dashboard-side-column{position:static}.drilldown-grid,.analysis-details{grid-template-columns:1fr}}@media(max-width:768px){.sessions-table-card{overflow-x:auto}.sessions-table{min-width:600px}.app-container{flex-direction:column}.sidebar{width:100%;height:70px;bottom:0;top:auto;flex-direction:row;border-right:none;border-top:1px solid var(--border);padding:0;justify-content:center}.sidebar-header{display:none}.sidebar-footer{display:flex;border-top:none;padding:0;width:100px;border-left:1px solid var(--border);flex-shrink:0}.btn-logout{height:100%;width:100%;border:none;border-radius:0;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 5px}.sidebar-menu{flex-direction:row;padding:0;gap:0;flex:1;height:100%}.menu-item{flex:1;border-radius:0;justify-content:center;padding:0;font-size:1.1rem;height:100%}.menu-item.active{box-shadow:none;background:transparent;color:var(--primary);border-top:3px solid var(--primary)}.main-content{margin-left:0;margin-bottom:70px;padding:20px;width:100%;overflow-x:hidden}.dashboard-grid-layout{display:flex;flex-direction:column}.recent-sessions-grid{grid-template-columns:1fr 1fr;gap:12px}.sessions-table-card{overflow-x:hidden}.sessions-table{min-width:0;font-size:.8rem}.sessions-table th,.sessions-table td{padding:10px 8px}.sessions-table th:first-child,.sessions-table td:first-child{display:none}.tabs{flex-wrap:wrap;gap:8px}.tab{flex:1;text-align:center;font-size:.85rem;padding:8px}}
