body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0;background-color:#f8f9fa;color:#333;line-height:1.6}.App{max-width:1200px;margin:0 auto;padding:20px}.app-top-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;border:1px solid #dbe4ef;background:#fff;box-shadow:0 6px 18px #0f172a0f;margin-bottom:26px}.app-top-nav__brand{font-weight:800;color:#1f3650;letter-spacing:.01em}.app-top-nav__right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-top-nav__links{display:flex;gap:8px;flex-wrap:wrap}.app-top-nav__link{text-decoration:none;color:#35506c;border:1px solid transparent;border-radius:999px;padding:7px 12px;font-size:.9rem;font-weight:600;transition:all .16s ease}.app-top-nav__link:hover{background:#eef6ff;border-color:#cde2ff}.app-top-nav__link.active{background:#007bff;color:#fff;border-color:#007bff}.app-top-nav__lang{display:inline-flex;border:1px solid #d9e1ea;border-radius:999px;overflow:hidden;background:#f3f5f8}.app-top-nav__lang button{border:none;background:transparent;color:#35506c;font-weight:700;font-size:.78rem;padding:7px 10px;cursor:pointer;min-width:42px}.app-top-nav__lang button.active{background:#1f3650;color:#fff}.app-top-nav__lang button:hover:not(.active){background:#e8edf4}.page-header{margin-bottom:20px}.page-header h1{margin:0;color:#1f2f41}.page-header p{margin:6px 0 0;color:#617387}.history-view-toggle{margin-top:14px;display:inline-flex;gap:8px;padding:4px;border-radius:999px;border:1px solid #d9e1ea;background:#eef2f7}.history-view-toggle button{border:1px solid transparent;background:transparent;color:#34495e;border-radius:999px;padding:7px 14px;font-size:.86rem;font-weight:700;cursor:pointer;transition:all .15s ease}.history-view-toggle button.active{background:#007bff;color:#fff;border-color:#007bff}.history-mode-hint{margin:14px 0 0;padding:10px 12px;border:1px solid #d6e6f7;border-radius:10px;background:#f3f8ff;color:#35506c;font-size:.9rem}.home{text-align:center}.home header{margin-bottom:40px}.home-hero-kicker{display:inline-block;margin:0 0 10px;padding:6px 12px;border-radius:999px;background:#e7f3ff;border:1px solid #b7d9ff;color:#0f4c8a;font-size:.85rem;font-weight:700;letter-spacing:.02em}.home-hero-title{margin:0;color:#1b2a3a;font-size:clamp(2rem,5vw,3rem);line-height:1.1;letter-spacing:-.02em}.home-hero-subtitle{color:#5e6e80;font-size:clamp(1rem,2.2vw,1.3rem);font-weight:500;max-width:760px;margin:18px auto 30px}.home-hero{position:relative;margin-bottom:40px;transition:all .3s ease}.home-hero.collapsed{margin-bottom:20px}.home-hero-kicker-btn{background:none;border:none;padding:8px 0;cursor:pointer;transition:all .2s ease;width:100%;text-align:center;display:block;margin:0 auto 16px}.home-hero-kicker-btn:hover{opacity:.8}.home-hero-kicker-btn:active{transform:scale(.98)}.hero-content{transition:all .3s ease;overflow:hidden}.hero-content.visible{opacity:1;max-height:800px}.hero-content.hidden{opacity:0;max-height:0;margin:0;padding:0}.home-hero-skill-picker{margin-top:24px;padding-top:24px;border-top:1px solid #e0e8f0}.nav-links{display:flex;gap:15px}.nav-links a{color:#007bff;text-decoration:none;font-weight:500;padding:8px 16px;border-radius:6px;transition:all .2s;border:1px solid transparent}.nav-links a:hover{background-color:#e7f3ff;border-color:#007bff}.home header{margin-top:8px}.home-skill-picker{background:#f8f9fa;border-radius:12px;padding:20px;max-width:560px;margin:0 auto 28px;text-align:left}.home-skill-picker-label{font-size:.95em;font-weight:600;color:#555;margin:0 0 12px}.home-sport-toggle{display:flex;gap:8px;margin-bottom:14px}.home-sport-toggle button{padding:6px 18px;border-radius:20px;border:1px solid #ccc;background:#fff;font-size:.9em;cursor:pointer;transition:all .15s}.home-sport-toggle button.active{background:#007bff;color:#fff;border-color:#007bff}.home-skill-grid{display:flex;flex-wrap:wrap;gap:8px}.home-skill-chip{padding:6px 14px;border-radius:16px;border:1px solid #c0c0c0;background:#fff;font-size:.88em;cursor:pointer;transition:all .15s;color:#333}.home-skill-chip:hover{border-color:#007bff;background:#e7f3ff}.home-skill-chip.active{background:#007bff;color:#fff;border-color:#007bff}.upload-button{display:flex;flex-direction:column;align-items:center;gap:15px;margin:30px 0}.upload-button input[type=file]{display:none}.record-button{background-color:#28a745;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:16px;transition:background-color .2s;margin-left:10px}.record-button:hover{background-color:#218838}.recording-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center}.recording-preview{width:100%;height:100%;object-fit:contain;display:block}.recording-hud{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;background:#0000008c;padding:14px 24px;border-radius:999px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);max-width:90%}.recording-indicator{color:#ff4040;font-weight:700;font-size:1rem;letter-spacing:.05em;animation:blink 1.2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.camera-ctrl-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.25);padding:9px 12px;border-radius:6px;font-size:1.1rem;cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;height:40px}.camera-ctrl-btn:hover{background:#fff3;border-color:#fff6}.camera-ctrl-btn:active{transform:scale(.95)}.recording-start-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:1px solid rgba(255,255,255,.2);padding:9px 13px;border-radius:6px;font-size:1.2rem;cursor:pointer;font-weight:600;transition:all .2s ease;box-shadow:0 4px 12px #28a7454d;display:flex;align-items:center;justify-content:center;min-width:44px;height:44px}.recording-start-btn:hover{background:linear-gradient(135deg,#218838,#1aa179);box-shadow:0 6px 16px #28a74566;transform:translateY(-2px)}.recording-start-btn:active{transform:scale(.95)}.recording-cancel-btn{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.2);padding:9px 11px;border-radius:6px;font-size:1.1rem;cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;height:40px}.recording-cancel-btn:hover{background:#ffffff26;border-color:#ffffff59}.recording-cancel-btn:active{transform:scale(.95)}.recording-stop-btn{background:linear-gradient(135deg,#dc3545,#ff6b6b);color:#fff;border:1px solid rgba(255,255,255,.2);padding:10px 14px;border-radius:6px;font-size:1.2rem;cursor:pointer;font-weight:600;transition:all .2s ease;box-shadow:0 4px 12px #dc35454d;display:flex;align-items:center;justify-content:center;min-width:44px;height:44px}.recording-stop-btn:hover{background:linear-gradient(135deg,#c82333,#ee5a52);box-shadow:0 6px 16px #dc354566;transform:translateY(-2px)}.recording-stop-btn:active{transform:scale(.95)}.recording-countdown-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.recording-countdown-number{font-size:22vmin;font-weight:800;color:#fff;text-shadow:0 4px 32px rgba(0,0,0,.7);line-height:1;animation:countdown-pulse 1s ease-out forwards}@keyframes countdown-pulse{0%{transform:scale(1.4);opacity:.6}40%{transform:scale(1);opacity:1}85%{transform:scale(.92);opacity:1}to{transform:scale(.85);opacity:.5}}.recording-controls{display:flex;align-items:center;gap:8px}.recording-settings-group{display:flex;align-items:center}.recording-delay-select{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.25);padding:7px 24px 7px 12px;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;outline:none;transition:all .2s ease;min-width:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23fff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.recording-delay-select:hover{background-color:#fff3;border-color:#fff6}.recording-delay-select:focus{background-color:#ffffff40;border-color:#ffffff80;box-shadow:0 0 0 2px #ffffff1a}.recording-delay-select option{background:#16213e;color:#fff;padding:8px}.recording-converting-msg{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;font-size:1.1rem;font-weight:500}.recording-converting-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.analyze{padding:20px}.analyze header{margin-bottom:30px}.analyze header button,.history header button,.analysis-detail header button{background:none;border:1px solid #ddd;padding:8px 16px;border-radius:4px;cursor:pointer}.analyze h1{margin:0;color:#2c3e50}.controls{display:flex;flex-direction:column;gap:6px;padding:10px 12px}.controls-row{display:flex;align-items:center;gap:8px}.controls-row--top{justify-content:flex-start}.controls-time{font-size:.85rem;color:#fff;white-space:nowrap;flex:1;text-shadow:0 1px 2px rgba(0,0,0,.7)}.controls-right-actions{display:flex;gap:6px;align-items:center;margin-left:auto}.controls-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .15s,border-color .15s;display:flex;align-items:center;gap:4px;white-space:nowrap}.controls-btn:hover{background:#ffffff47;border-color:#fff9}.controls-btn--play{font-size:1.1rem;padding:6px 12px;background:#ffffff38}.controls-btn--speed{padding:4px 8px;opacity:.55}.controls-btn--speed.active{opacity:1;background:#ffffff47;border-color:#ffffffb3}.controls-btn--fullscreen{padding:5px 8px;line-height:0}.controls-seek{width:100%;accent-color:#fff;cursor:pointer}.feedback-panel{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.feedback-panel h3{margin-top:0;color:#2c3e50}.feedback-panel h4{color:#495057;margin-bottom:10px}.feedback-panel ul{margin:10px 0}.feedback-panel li{margin-bottom:8px}.history header{margin-bottom:30px}.history h1{margin:0;color:#2c3e50}.history-action-btn{border:1px solid #d0d7de;background:#fff;color:#2c3e50;border-radius:8px;padding:8px 12px;font-size:.9rem;cursor:pointer;transition:all .16s ease;font-weight:600}.history-action-btn:hover{transform:translateY(-1px)}.history-action-btn--edit{border-color:#b8d9ff;background:#edf6ff;color:#0f4c8a}.history-action-btn--edit:hover{background:#dcebff;border-color:#8ec4ff}.history-action-btn--delete{border-color:#dc3545;background:#dc3545;color:#fff}.history-action-btn--delete:hover{background:#c82333;border-color:#bd2130}.history-dashboard{display:grid;gap:16px}.history-range-filter{display:inline-flex;gap:8px;background:#eef2f7;border:1px solid #d9e1ea;border-radius:999px;padding:4px;width:fit-content}.history-range-filter button{border:1px solid transparent;background:transparent;color:#34495e;border-radius:999px;padding:6px 12px;font-size:.84rem;font-weight:600;cursor:pointer;transition:all .15s ease}.history-range-filter button.active{background:#007bff;color:#fff;border-color:#007bff}.history-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.history-stat-card{background:#fff;border:1px solid #dfe5ec;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0f172a0d}.history-stat-card p{margin:0;color:#64748b;font-size:.85rem}.history-stat-card h3{margin:6px 0 0;color:#0f172a;font-size:1.4rem}.history-level-card{background:linear-gradient(135deg,#0f4c8a,#1c77c3);color:#fff;border-radius:14px;padding:14px;box-shadow:0 10px 26px #0f4c8a47}.history-level-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.history-level-label{margin:0;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;opacity:.85}.history-level-top h3{margin:2px 0 0}.history-level-xp{font-weight:700;background:#ffffff29;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px 10px;font-size:.85rem}.history-level-progress-track{margin-top:10px;width:100%;height:10px;border-radius:999px;background:#ffffff47;overflow:hidden}.history-level-progress-fill{height:100%;background:linear-gradient(90deg,#74d1ff,#b4f2ff)}.history-level-meta{margin:8px 0 0;font-size:.86rem;opacity:.95}.history-badge-row{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.history-badge{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:4px 10px;font-size:.8rem;opacity:.75}.history-badge.unlocked{background:#ffffff29;opacity:1}.history-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.history-analytics-card{background:#fff;border:1px solid #dfe5ec;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0f172a0d}.history-analytics-card h3{margin:0 0 12px;color:#1e293b}.history-trend-list{display:grid;gap:8px}.history-trend-row{display:grid;grid-template-columns:62px 1fr 32px;gap:10px;align-items:center;font-size:.84rem;color:#334155}.history-trend-bar-track{height:10px;border-radius:999px;background:#edf2f7;overflow:hidden}.history-trend-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#0ea5e9,#38bdf8)}.history-topic-list{display:grid;gap:10px}.history-topic-item{display:grid;grid-template-columns:1fr;gap:6px}.history-topic-text{font-size:.86rem;color:#334155}.history-topic-track{height:9px;border-radius:999px;background:#edf2f7;overflow:hidden}.history-topic-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#6366f1)}.history-topic-item span{font-size:.8rem;color:#64748b}.history-skill-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.history-skill-card{border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:#fcfdff}.history-skill-card h4{margin:4px 0 6px;color:#0f172a;font-size:1rem}.history-skill-card p{margin:2px 0;font-size:.83rem;color:#475569}.history-skill-type{margin:0;font-size:.72rem;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.history-content-layout{display:grid;grid-template-columns:320px 1fr;gap:20px;align-items:start}.history-main-panel{min-width:0}.history-sidebar{border:1px solid #dfe5ec;border-radius:14px;background:#fff;box-shadow:0 8px 24px #0f172a0f;overflow:hidden;display:grid;grid-template-rows:auto auto 1fr;max-height:75vh}.history-sidebar-header{padding:14px 14px 10px;border-bottom:1px solid #edf2f7;background:linear-gradient(180deg,#f8fbff,#fff)}.history-sidebar-header h3{margin:4px 0;color:#0f172a}.history-sidebar-label{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.history-sidebar-meta{margin:0;font-size:.84rem;color:#475569}.history-skill-tabs{display:flex;gap:8px;overflow-x:auto;padding:10px 14px;border-bottom:1px solid #edf2f7;background:#fcfdff}.history-skill-tab{border:1px solid #dbe4ef;background:#fff;color:#334155;border-radius:12px;padding:10px 12px;min-width:120px;text-align:left;cursor:pointer;transition:all .16s ease;display:grid;gap:3px}.history-skill-tab:hover{border-color:#b8d9ff;background:#f4f9ff}.history-skill-tab.active{border-color:#007bff;background:#eaf4ff;box-shadow:inset 0 0 0 1px #007bff14}.history-skill-tab__title{font-size:.88rem;font-weight:700;color:#0f172a}.history-skill-tab__meta{font-size:.72rem;text-transform:uppercase;color:#64748b;letter-spacing:.03em}.history-sidebar-list{overflow-y:auto;padding:12px;display:grid;gap:10px;align-content:start;grid-auto-rows:min-content}.history-sidebar-item{border:1px solid #dfe5ec;border-radius:12px;padding:10px;background:#fff;display:grid;gap:8px;align-content:start}.history-sidebar-item.selected{border-color:#8ec4ff;background:#f3f9ff;box-shadow:0 0 0 3px #007bff14}.history-sidebar-item__main{border:none;background:transparent;text-align:left;width:100%;cursor:pointer;padding:0;display:grid;gap:5px}.history-sidebar-item__main strong{color:#0f172a}.history-sidebar-item__main p{margin:0;font-size:.82rem;color:#475569}.history-sidebar-item .history-action-btn--delete{justify-self:start;align-self:start}@media (max-width: 960px){.history-content-layout{grid-template-columns:1fr;gap:14px}.history-main-panel{order:1}.history-content-layout .history-sidebar{order:2;max-height:none}.history-skill-tabs{padding-bottom:12px}}.training header{margin-bottom:30px}.training h1{margin:0;color:#2c3e50}.training h2{color:#495057;margin-bottom:20px}.training h3{color:#2c3e50;margin-top:30px;margin-bottom:15px}.drawing-canvas canvas{border:2px solid #007bff!important}.drawing-tools{margin-top:10px;background-color:#fff;padding:10px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.drawing-tools button{background-color:#f8f9fa;border:1px solid #ddd;padding:8px 12px;border-radius:4px;cursor:pointer;transition:all .2s;font-size:14px}.drawing-tools button:hover{background-color:#e9ecef;border-color:#adb5bd}.drawing-tools .save-button{background-color:#28a745;color:#fff;border-color:#28a745;margin-left:auto}.drawing-tools .save-button:hover{background-color:#218838;border-color:#1e7e34}.shape-timeline-editor{margin-top:12px;background-color:#fff;padding:12px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.shape-timeline-editor h3{margin:0 0 10px;font-size:1rem;color:#2c3e50}.shape-selector-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.shape-selector-list button{background-color:#f8f9fa;border:1px solid #ced4da;padding:6px 10px;border-radius:999px;cursor:pointer}.shape-selector-list button.active{background-color:#007bff;color:#fff;border-color:#007bff}.shape-range-controls{display:grid;gap:8px}.shape-range-controls label{display:grid;gap:4px;font-size:.9rem;color:#495057}.shape-range-controls input[type=range]{width:100%}.analyze-stepper{display:flex;gap:8px;flex-wrap:wrap}.analyze-step{border:1px solid #ced4da;border-radius:999px;padding:6px 12px;font-size:.86rem;color:#495057;background:#fff}.analyze-step.active{background:#007bff;border-color:#007bff;color:#fff;font-weight:600}.analyze-step-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:16px}.analyze-step-panel h3{margin:0 0 10px;color:#2c3e50}.analyze-step-panel .feedback-panel{box-shadow:none;padding:0}.analyze-step-actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.analyze-step-actions button{border:1px solid #ced4da;background:#f8f9fa;color:#2c3e50;border-radius:6px;padding:8px 12px;cursor:pointer}.analyze-step-actions button:disabled{opacity:.45;cursor:not-allowed}.analyze-save-cta{border:1px solid #28a745!important;background:#28a745!important;color:#fff!important;margin-left:auto}.analyze-save-cta:hover{background:#218838!important;border-color:#1e7e34!important}.analyze-inline-btn{border:1px solid #ced4da;background:#f8f9fa;color:#2c3e50;border-radius:6px;padding:8px 12px;cursor:pointer;transition:all .2s;font-size:14px}.analyze-inline-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.analyze-inline-btn:disabled{opacity:.45;cursor:not-allowed}.analyze-inline-btn--apply{border-color:#28a745;background:#28a745;color:#fff}.analyze-inline-btn--apply:hover:not(:disabled){background:#218838;border-color:#1e7e34}.analysis-saved-panel{background:#f3fff7;border:1px solid #bdeccc;border-radius:8px;padding:12px}.analysis-saved-panel h4{margin:0 0 6px;color:#1e7e34}.analysis-saved-panel p{margin:0 0 10px;color:#2f4a38}.analysis-saved-actions{display:flex;flex-wrap:wrap;gap:8px}.analysis-saved-actions button{border:1px solid #ced4da;background:#fff;color:#2c3e50;border-radius:6px;padding:8px 12px;cursor:pointer}.analysis-saved-actions button:hover{border-color:#007bff;color:#007bff}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.confirm-dialog{width:min(460px,100%);background:#fff;border-radius:12px;box-shadow:0 18px 46px #0000003d;padding:18px}.confirm-dialog h3{margin:0 0 8px;color:#2c3e50}.confirm-dialog p{margin:0;color:#495057;line-height:1.45}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.confirm-dialog-actions button{border:1px solid #ced4da;background:#fff;color:#2c3e50;border-radius:6px;padding:8px 12px;cursor:pointer}.confirm-danger-btn{background:#dc3545!important;color:#fff!important;border-color:#dc3545!important}.confirm-danger-btn:hover{background:#c82333!important;border-color:#bd2130!important}.checklist{display:grid;gap:8px}.checklist-item-card{display:flex;align-items:flex-start;gap:8px;font-size:.92rem;color:#334;border:1px solid #d7dde4;background:#fff;border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer;transition:all .16s ease}.checklist-item-card:hover{border-color:#a8c7e8;background:#f8fbff}.checklist-item-card.checked{border-color:#007bff;background:#e7f3ff;box-shadow:0 1px 3px #007bff38}.checklist-item-card.checked span:last-child{font-weight:600}.checklist-item-marker{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.78rem;font-weight:700;border:1px solid #b8c0c9;color:#6a7480;background:#fff}.checklist-item-card.checked .checklist-item-marker{border-color:#007bff;background:#007bff;color:#fff}.feedback-section{margin-bottom:16px}.feedback-textarea{width:100%;min-height:84px;resize:vertical;border:1px solid #ced4da;border-radius:6px;padding:10px;font:inherit;box-sizing:border-box}.feedback-skill-badge{display:inline-flex;align-items:center;gap:4px;font-size:.86rem;background:#e7f3ff;color:#144d8f;border:1px solid #b7d9ff;border-radius:999px;padding:5px 10px;margin-bottom:10px}.feedback-skill-type{opacity:.8}.feedback-no-skill-hint{font-size:.86rem;color:#5c6f82;margin:8px 0 0}@media (max-width: 768px){.App{padding:10px}.home{padding:20px 10px}.app-top-nav{flex-direction:column;align-items:flex-start}.home h1{font-size:2em}.analyze{padding:10px}.analyze>div{flex-direction:column}.analyze-step-actions,.confirm-dialog-actions{flex-direction:column}.analyze-save-cta{margin-left:0}.feedback-panel{width:100%!important;margin-top:20px}.hero-content{overflow:visible}.hero-content.visible{max-height:none}.hero-content.hidden{overflow:hidden}.home-skill-picker{padding:16px}.home-sport-toggle{flex-wrap:wrap}.home-sport-toggle button{flex:1 1 calc(50% - 8px);min-width:120px;text-align:center}}.skill-practice{padding:20px}.skill-practice header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.skill-practice h1{color:#2c3e50;font-size:2em}.skill-practice h2{color:#34495e;font-size:1.5em;margin-bottom:15px}.skill-practice main{max-width:800px;margin:0 auto}.skill-practice ul{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.skill-practice li{margin-bottom:10px;padding-left:20px;position:relative}.skill-practice li:before{content:"✓";color:#28a745;font-weight:700;position:absolute;left:0}.video-stage{position:relative;width:100%;max-width:640px;border-radius:10px;overflow:hidden;background:#000;box-shadow:0 4px 12px #00000026}.video-stage.is-fullscreen{max-width:100%;width:100%;height:100%;border-radius:0}.video-player video{width:100%;height:auto;display:block}.video-stage.is-fullscreen .video-player video{height:100%;object-fit:contain}.video-controls-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.35) 70%,transparent 100%);padding:36px 4px 4px;opacity:0;transition:opacity .2s ease;z-index:20;border-radius:0 0 10px 10px}.video-stage:hover .video-controls-overlay,.video-controls-overlay:focus-within{opacity:1}.video-stage.is-fullscreen .video-controls-overlay{border-radius:0;opacity:0}.video-stage.is-fullscreen:hover .video-controls-overlay,.video-stage.is-fullscreen .video-controls-overlay:focus-within{opacity:1}.video-editor{min-height:100vh}.video-editor__title-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.video-editor__back-btn{border:1px solid #d0d7de;background:#fff;color:#2c3e50;border-radius:8px;padding:7px 12px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.video-editor__back-btn:hover{background:#f0f4f8}.video-editor__title{margin:0;font-size:clamp(1rem,3vw,1.5rem);color:#1f2f41;word-break:break-all}.video-editor__subtitle{color:#617387;font-size:.9rem;margin:6px 0 0}.video-editor__body{display:grid;grid-template-columns:1fr;gap:20px;margin-top:20px}@media (min-width: 900px){.video-editor__body{grid-template-columns:1fr 1fr;align-items:start}}.video-editor__player-wrap{position:relative;background:#000;border-radius:10px;overflow:hidden}.video-editor__player-wrap .video-controls-overlay{opacity:1}.video-editor__edit-panel{display:flex;flex-direction:column;gap:16px}.video-editor__loading,.video-editor__error{margin-top:40px;text-align:center;color:#617387}.video-editor__error-msg{color:#dc3545;font-size:.9rem;margin:0;padding:8px 12px;border:1px solid #f5c6cb;border-radius:8px;background:#fff5f6}.video-editor__actions{display:flex;gap:10px;flex-wrap:wrap}.video-editor__action-btn{border:1px solid #d0d7de;background:#fff;color:#2c3e50;border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .16s ease;flex:1 1 auto;min-width:120px;text-align:center}.video-editor__action-btn:disabled{opacity:.45;cursor:not-allowed}.video-editor__action-btn--clear{border-color:#d0d7de}.video-editor__action-btn--save-new{border-color:#b8d9ff;background:#edf6ff;color:#0f4c8a}.video-editor__action-btn--save-new:not(:disabled):hover{background:#dcebff;border-color:#8ec4ff}.video-editor__action-btn--replace{border-color:#b8ddb8;background:#edfaed;color:#166016}.video-editor__action-btn--replace:not(:disabled):hover{background:#d4f4d4;border-color:#88c888}.edit-timeline{background:#fff;border:1px solid #dbe4ef;border-radius:12px;padding:14px 14px 10px}.edit-timeline__hint{font-size:.8rem;color:#617387;margin:0 0 8px}.edit-timeline__legend{display:flex;gap:12px;margin-bottom:10px}.edit-timeline__legend-item{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px;display:inline-flex;align-items:center}.edit-timeline__legend-item:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.edit-timeline__legend-item--remove{background:#fef2f2;color:#991b1b}.edit-timeline__legend-item--remove:before{background:#ef4444}.edit-timeline__legend-item--speed{background:#eff6ff;color:#1e40af}.edit-timeline__legend-item--speed:before{background:#3b82f6}.edit-timeline__scroll-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.edit-timeline__track{position:relative;height:48px;background:#f1f5f9;border-radius:8px;cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;min-width:100%}.edit-timeline__playhead{position:absolute;top:0;bottom:0;width:2px;background:#f97316;pointer-events:none;z-index:10;border-radius:1px;transform:translate(-50%)}.edit-timeline__segment{position:absolute;top:4px;bottom:4px;border-radius:5px;display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:.85;cursor:pointer;z-index:5;transition:opacity .1s;min-width:4px}.edit-timeline__segment--selected{opacity:1;outline:2px solid #fff;box-shadow:0 0 0 3px #1e40af;z-index:6}.edit-timeline__segment--pending{background:#94a3b8!important;cursor:crosshair;pointer-events:none;opacity:.5}.edit-timeline__segment-label{color:#fff;font-size:.65rem;font-weight:700;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 20px;text-shadow:0 1px 2px rgba(0,0,0,.4)}.edit-timeline__handle{position:absolute;top:0;bottom:0;width:20px;cursor:ew-resize;z-index:7;display:flex;align-items:center;justify-content:center}.edit-timeline__handle:after{content:"";display:block;width:3px;height:60%;background:#fffc;border-radius:2px}.edit-timeline__handle--start{left:0}.edit-timeline__handle--end{right:0}.edit-timeline__time-markers{display:flex;justify-content:space-between;margin-top:4px;font-size:.68rem;color:#94a3b8;padding:0 2px}.edit-timeline__segment-controls{margin-top:10px;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.edit-timeline__segment-time{font-size:.8rem;color:#475569;font-weight:600;margin:0 0 8px}.edit-timeline__action-row{display:flex;gap:6px;flex-wrap:wrap}.edit-timeline__action-btn{border:1px solid #d0d7de;background:#fff;color:#2c3e50;border-radius:8px;padding:8px 12px;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .14s ease;white-space:nowrap;min-height:44px}.edit-timeline__action-btn:hover{background:#f0f4f8}.edit-timeline__action-btn.active{background:#1e40af;color:#fff;border-color:#1e40af}.edit-timeline__action-btn--delete{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.edit-timeline__action-btn--delete:hover{background:#fee2e2;border-color:#f87171}.edit-progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.edit-progress-overlay__card{background:#fff;border-radius:16px;padding:28px 32px;max-width:360px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}.edit-progress-overlay__spinner{width:44px;height:44px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:editor-spin .9s linear infinite;margin:0 auto 16px}@keyframes editor-spin{to{transform:rotate(360deg)}}.edit-progress-overlay__title{font-size:1rem;font-weight:700;color:#1e293b;margin:0 0 16px}.edit-progress-overlay__bar-track{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-bottom:8px}.edit-progress-overlay__bar-fill{height:100%;background:#3b82f6;border-radius:999px;transition:width .3s ease}.edit-progress-overlay__percent{font-size:.85rem;color:#64748b;margin:0}.history-action-btn--editor{border-color:#c4b5fd;background:#f5f3ff;color:#4c1d95}.history-action-btn--editor:hover{background:#ede9fe;border-color:#a78bfa}
