*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);min-height:100vh;color:#e2e8f0;line-height:1.6}#root{min-height:100vh}.app{min-height:100vh;padding:20px;max-width:100%;margin:0 auto}.header{text-align:center;padding:30px 20px;background:#1e293bf2;border-radius:20px;margin-bottom:30px;box-shadow:0 10px 40px #00000080;border:1px solid rgba(71,85,105,.3)}.header h1{font-size:2.5rem;color:#818cf8;margin-bottom:10px;font-weight:700}.header p{font-size:1.1rem;color:#94a3b8;font-weight:400}.container{max-width:100%;margin:0 auto}.workflow{display:grid;grid-template-columns:auto 1fr;gap:30px;margin-bottom:30px;width:100%;align-items:start}@media (max-width: 1400px){.workflow{grid-template-columns:1fr}}.card{background:#1e293bf2;border-radius:20px;padding:25px;box-shadow:0 10px 40px #00000080;border:1px solid rgba(71,85,105,.3);display:flex;flex-direction:column;align-items:center;position:sticky;top:20px}.card h2{font-size:1.2rem;margin-bottom:20px;color:#818cf8;font-weight:600;text-align:center;width:100%}button{padding:16px 36px;border:1px solid rgba(255,255,255,.15);border-radius:2px;font-size:.95rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:10px;position:relative;overflow:hidden;background:#000;color:#fff}button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#ffffff1a;transition:left .3s ease}button:hover:not(:disabled):before{left:0}button:hover:not(:disabled){transform:translateY(-1px);border-color:#ffffff4d}button:active{transform:translateY(0)}button:disabled{opacity:.4;cursor:not-allowed;transform:none;pointer-events:none}button:disabled:before{display:none}button.secondary{background:#dc2626;color:#fff;border-color:#dc2626}button.secondary:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}button.danger{background:#dc2626;border-color:#dc2626}.video-container{position:relative;margin:0 0 20px;background:#000;border-radius:15px;overflow:hidden;width:100%;max-width:720px;aspect-ratio:16/9}video{width:100%;height:100%;display:block;object-fit:cover}canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.controls{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;width:100%;max-width:720px;margin-top:10px}.status{padding:12px 16px;border-radius:10px;margin:15px 0;font-weight:500;font-size:.95rem;text-align:center}.status.info{background:#818cf833;color:#cbd5e1;border:1px solid rgba(129,140,248,.3)}.status.success{background:#4ade8033;color:#4ade80;border:1px solid rgba(74,222,128,.3)}.status.error{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.status.warning{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.file-input-wrapper{position:relative;overflow:hidden;display:inline-block}.file-input-wrapper input[type=file]{position:absolute;left:-9999px}.loading{display:flex;align-items:center;gap:.5rem}.spinner{border:3px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;width:20px;height:20px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.results-grid{display:grid;gap:20px;width:100%;min-width:0}.score-display{text-align:center;padding:30px;background:linear-gradient(135deg,#4338ca,#6366f1);color:#fff;border-radius:20px;box-shadow:0 10px 40px #00000080;border:1px solid rgba(129,140,248,.3)}.score-number{font-size:4rem;font-weight:700;margin:1rem 0;line-height:1}.deviations-list{list-style:none;padding:0}.deviation-item{padding:15px;margin:10px 0;background:#1e293bf2;border-radius:15px;border:1px solid rgba(71,85,105,.3);box-shadow:0 5px 20px #0000004d}.deviation-item strong{color:#818cf8;font-size:1.1rem}.deviation-value{font-weight:700;color:#ef4444;margin-left:.5rem}.cue{margin-top:8px;color:#94a3b8;font-style:italic;font-size:.9rem}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;margin-top:20px;width:100%}.metric-card{padding:15px;background:#1e293bf2;border-radius:15px;box-shadow:0 5px 20px #0000004d;border:1px solid rgba(71,85,105,.3);transition:transform .3s ease;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}.metric-card:hover{transform:translateY(-3px);border-color:#818cf880}.metric-label{font-size:.85rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.metric-value{font-size:1.6rem;font-weight:700;color:#818cf8;margin-top:.5rem}.mode-selector-container{padding:40px 20px}.mode-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;max-width:1200px;margin:0 auto}.mode-card{background:#1e293bf2;border:2px solid rgba(71,85,105,.3);border-radius:20px;padding:40px 30px;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;gap:15px;min-height:300px}.mode-card:hover{transform:translateY(-5px);border-color:#818cf8;box-shadow:0 15px 50px #818cf84d}.mode-icon{font-size:4rem;margin-bottom:10px}.mode-card h3{font-size:1.5rem;color:#818cf8;margin:0}.mode-card p{color:#94a3b8;font-size:1.1rem;font-weight:400;line-height:1.5;margin:0;flex:1;text-transform:none}.mode-badge{background:#818cf833;color:#818cf8;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.workflow-vertical{display:flex;flex-direction:column;gap:30px;max-width:1400px;margin:0 auto}.workflow-step{display:flex;gap:20px;align-items:flex-start;opacity:.5;transition:opacity .3s ease}.workflow-step.active,.workflow-step.completed{opacity:1}.step-number{flex-shrink:0;width:50px;height:50px;background:#47556980;color:#94a3b8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;border:3px solid rgba(71,85,105,.3);transition:all .3s ease}.workflow-step.active .step-number{background:linear-gradient(135deg,#4338ca,#6366f1);color:#fff;border-color:#818cf8;box-shadow:0 0 20px #818cf880}.workflow-step.completed .step-number{background:#10b981;color:#fff;border-color:#10b981}.workflow-step.completed .step-number:after{content:"✓";font-size:1.2rem}.step-content{flex:1;min-width:0}.compact-header-button{padding:10px 20px;font-size:.9rem;background:#dc262633;border:1px solid #dc2626;color:#dc2626}.compact-header-button:hover:not(:disabled){background:#dc2626;color:#fff}.recording-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.recording-preview-modal{background:#1e293bfa;border-radius:20px;border:2px solid rgba(71,85,105,.5);padding:30px;max-width:90vw;box-shadow:0 20px 60px #000c;position:relative;margin:auto}.preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px;gap:20px;flex-shrink:0}.preview-header h2{color:#818cf8;margin:0;font-size:1.5rem;line-height:1.3}.close-button{background:#dc262633;border:1px solid #dc2626;color:#dc2626;padding:8px 15px;font-size:1.2rem;cursor:pointer;border-radius:8px;transition:all .2s ease}.close-button:hover{background:#dc2626;color:#fff}.preview-canvas-container{background:#000;border-radius:15px;overflow:hidden;margin-bottom:20px;width:640px;height:480px;max-width:100%;margin-left:auto;margin-right:auto;position:relative}.preview-canvas{display:block;border-radius:15px;width:100%;height:100%;pointer-events:none;position:static;top:auto;left:auto}.preview-controls{margin-bottom:25px;flex-shrink:0}.playback-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap;min-height:50px}.play-button{width:50px;height:50px;border-radius:50%;background:#818cf8;border:none;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0 0 0 4px;transition:all .2s ease}.play-button:hover{background:#6366f1;transform:scale(1.05)}.scrubber{flex:1;height:8px;border-radius:4px;background:#47556980;outline:none;-webkit-appearance:none;min-width:150px}.scrubber::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#818cf8;cursor:pointer;transition:all .2s ease}.scrubber::-webkit-slider-thumb:hover{background:#6366f1;transform:scale(1.2)}.scrubber::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#818cf8;cursor:pointer;border:none}.speed-controls{display:flex;gap:5px}.speed-controls button{padding:5px 12px;font-size:.8rem;background:#47556980;border:1px solid rgba(71,85,105,.3);color:#94a3b8}.speed-controls button.active{background:#818cf8;color:#fff;border-color:#818cf8}.preview-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin-top:10px;flex-shrink:0}.action-button{padding:14px 32px;font-size:1rem;border-radius:10px;cursor:pointer;border:none;font-weight:600;color:#fff;transition:all .2s ease}.action-button.target{background:linear-gradient(135deg,#4338ca,#6366f1)}.action-button.target:hover{transform:translateY(-2px);box-shadow:0 5px 20px #818cf880}.action-button.attempt{background:#10b981}.action-button.attempt:hover{transform:translateY(-2px);box-shadow:0 5px 20px #10b98180}.action-button.cancel{background:#47556980;color:#e2e8f0}.action-button.cancel:hover{background:#475569cc}.recordings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:999;padding:20px}.recordings-modal{background:#1e293bfa;border-radius:20px;border:2px solid rgba(71,85,105,.5);padding:30px;max-width:1200px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #000c}.recordings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.recordings-header h2{color:#818cf8;margin:0;font-size:1.8rem}.search-input{width:100%;padding:12px 20px;background:#0f172acc;border:1px solid rgba(71,85,105,.5);border-radius:10px;color:#e2e8f0;font-size:1rem;outline:none;transition:border-color .2s ease}.search-input:focus{border-color:#818cf8}.search-input::placeholder{color:#64748b}.recordings-grid{display:grid;gap:15px}.recording-card{background:#0f172acc;border:1px solid rgba(71,85,105,.3);border-radius:15px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;transition:all .2s ease}.recording-card:hover{border-color:#818cf8;transform:translateY(-2px)}.recording-card.selectable{cursor:pointer}.recording-card.selected-target{border:2px solid #6366f1;background:#6366f11a}.recording-card.selected-attempt{border:2px solid #10b981;background:#10b9811a}.recording-info{flex:1}.recording-name{display:flex;align-items:center;gap:10px;margin-bottom:8px}.recording-name strong{color:#e2e8f0;font-size:1.1rem}.recording-type-badge{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.recording-type-badge.target{background:#6366f133;color:#818cf8}.recording-type-badge.attempt{background:#10b98133;color:#10b981}.recording-meta{color:#94a3b8;font-size:.9rem}.recording-actions{display:flex;gap:10px;flex-wrap:wrap}.recording-actions button{padding:10px 20px;font-size:.9rem;white-space:nowrap}.selected-indicator{color:#10b981;font-size:2rem;font-weight:700}.dual-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:20px}@media (max-width: 900px){.dual-select-grid{grid-template-columns:1fr}}.selection-column{display:flex;flex-direction:column;gap:15px}.selection-header{font-size:1.3rem;margin:0 0 10px;padding-bottom:10px;border-bottom:2px solid}.selection-header.target{color:#818cf8;border-color:#818cf8}.selection-header.attempt{color:#10b981;border-color:#10b981}.comparison-sources{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;padding:20px;background:#0f172acc;border-radius:15px;margin-bottom:20px}.source-label{padding:10px 20px;border-radius:10px;font-size:1rem}.source-label.target{background:#6366f133;color:#818cf8;border:1px solid #818cf8}.source-label.attempt{background:#10b98133;color:#10b981;border:1px solid #10b981}.source-label strong{color:#e2e8f0}
