:root{color:#15211f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fbfd;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}#root{min-height:100vh}:root{--primary:#7c3aed;--primary-light:#ede9fe;--primary-dark:#4c1d95;--yellow:#fbbf24;--yellow-light:#fef9c3;--coral:#f97316;--green:#10b981;--green-light:#d1fae5;--red:#ef4444;--bg:#fdfaf6;--surface:#fff;--border:#e9e3f8;--border-soft:#f0ebfd;--text:#1a1033;--text-muted:#7c6f99;--text-soft:#a89fc0;--radius-sm:10px;--radius:16px;--radius-lg:24px;--radius-pill:999px;--shadow-sm:0 2px 8px #7c3aed14;--shadow:0 8px 32px #7c3aed1f;--shadow-lg:0 20px 60px #7c3aed29}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Helvetica,Arial,sans-serif}main{background:var(--bg);min-height:100vh;color:var(--text);background-image:radial-gradient(circle at 15% 20%,#ff8c4212 0%,#0000 50%),radial-gradient(circle at 85% 80%,#fbbf2414 0%,#0000 50%)}button,input,select{font:inherit}button{cursor:pointer;border:0}.navbar{background:var(--bg,#fdfaf6);border-bottom:1px solid var(--border-soft,#ccfbf1);z-index:200;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;height:64px;padding:0 48px;display:grid;position:sticky;top:0;box-shadow:0 1px 8px #ff8c420f}.navbar-logo{letter-spacing:-.5px;color:var(--primary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:20px;font-weight:900}.navbar-lang{justify-content:center;align-items:center;gap:12px;display:flex}.navbar-lang-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.navbar-lang-label select{color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:6px 10px;font-size:13px;font-weight:700}.navbar-arrow{color:var(--text-muted);font-size:16px;font-weight:700}.upload-copy h2,.processing-stage h2,.quiz-heading h2,.report-hero h2{letter-spacing:-.5px;color:var(--text);margin:0;font-size:42px;font-weight:900;line-height:1.06}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.eyebrow{color:var(--primary);letter-spacing:1px;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.language-chip,.primary-button,.secondary-button,.home-button,.lesson-sidebar button,.control-row button,.control-row select,.typed-answer button{border-radius:var(--radius-sm)}.language-chip{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-pill);padding:9px 16px;font-size:14px;font-weight:700}.upload-stage,.processing-stage,.quiz-stage,.report-stage{width:min(1180px,100% - 36px);margin:0 auto}.upload-stage{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:20px;padding:8px 0 40px;display:grid}.upload-copy,.upload-panel,.processing-stage,.question-card,.report-stage{background:var(--surface);border:1.5px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.upload-copy{padding:36px;overflow:hidden}.upload-copy p:not(.eyebrow),.processing-stage>div:first-child p,.quiz-heading p,.report-hero p{max-width:600px;color:var(--text-muted);margin:12px 0 0;font-size:15px;line-height:1.6}.hero-image{border-radius:var(--radius);background:var(--primary-light);height:320px;margin-top:28px;overflow:hidden}.hero-image img{object-fit:cover;width:100%;height:100%;display:block}.upload-panel{flex-direction:column;gap:16px;width:100%;max-width:680px;margin:0 auto;padding:24px;display:flex}.home-progress,.saved-videos{border:1.5px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);grid-column:1/-1;padding:24px}.home-progress-header,.home-progress-word,.saved-videos-header,.saved-video-card{align-items:center;display:flex}.home-progress-header,.saved-videos-header{justify-content:space-between;gap:18px;margin-bottom:18px}.home-progress-header h3,.saved-videos-header h3{color:var(--text);margin:0;font-size:22px;font-weight:800}.home-progress-header>span,.saved-videos-header>span{border-radius:var(--radius-pill);background:var(--primary-light);color:var(--primary);padding:6px 14px;font-size:14px;font-weight:900}.home-progress-header-right{align-items:center;gap:10px;display:flex}.vocab-filter-select{border:1.5px solid var(--border-soft);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:5px 28px 5px 12px;font-size:13px;font-weight:700}.vocab-filter-select:focus{border-color:var(--primary)}.home-progress-metrics{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.home-progress-metrics div{border-radius:var(--radius);background:var(--primary-light);border:1.5px solid var(--border-soft);padding:16px}.home-progress-metrics strong,.home-progress-metrics span{display:block}.home-progress-metrics strong{color:var(--primary-dark);font-size:30px;font-weight:900}.home-progress-metrics span{color:var(--primary);margin-top:2px;font-size:13px;font-weight:700}.home-progress-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:360px;display:grid;overflow:auto}.home-progress-list p,.saved-video-list p{color:var(--text-soft);grid-column:1/-1}.home-progress-word{border:1.5px solid var(--border-soft);border-radius:var(--radius-sm);background:#fdfaf6;justify-content:space-between;gap:10px;min-width:0;padding:12px;transition:border-color .15s}.home-progress-word:hover{border-color:var(--border)}.home-progress-word span{overflow-wrap:anywhere;min-width:0;color:var(--text);font-size:14px;font-weight:700}.home-progress-word strong{flex:none;font-size:12px}.saved-video-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.saved-video-card{border:1.5px solid var(--border-soft);border-radius:var(--radius);background:#fdfaf6;justify-content:space-between;gap:12px;min-width:0;padding:16px;transition:box-shadow .18s,border-color .18s}.saved-video-card:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.saved-video-card div{gap:4px;min-width:0;display:grid}.saved-video-card strong,.saved-video-card span,.saved-video-card small{overflow-wrap:anywhere}.saved-video-card strong{color:var(--text);font-weight:800}.saved-video-card span,.saved-video-card small{color:var(--text-muted);font-size:13px;font-weight:600}.saved-video-card button{border-radius:var(--radius-sm);background:var(--primary);color:#fff;flex:none;padding:10px 16px;font-size:14px;font-weight:800;transition:background .15s,transform .15s}.saved-video-card button:hover{background:var(--primary-dark);transform:translateY(-1px)}.status-pill{border-radius:var(--radius-pill);text-transform:capitalize;white-space:nowrap;justify-content:center;align-items:center;padding:4px 12px;font-size:12px;font-weight:800;display:inline-flex!important}.status-mastered{background:var(--green-light)!important;color:#065f46!important}.status-familiar{color:#1e40af!important;background:#dbeafe!important}.status-learning{background:var(--yellow-light)!important;color:#92400e!important}.status-new{background:var(--primary-light)!important;color:var(--primary-dark)!important}.dropzone{border-radius:var(--radius);min-height:130px;color:var(--text);text-align:center;background:#fdfaf6;border:2px dashed #c4b5fd;place-items:center;padding:20px;transition:border-color .18s,background .18s;display:grid}.dropzone:hover{border-color:var(--primary);background:var(--primary-light)}.dropzone input{opacity:0;pointer-events:none;position:absolute}.dropzone span{overflow-wrap:anywhere;max-width:92%;font-size:15px;font-weight:800}.dropzone small{color:var(--text-muted);font-size:13px}.upload-button-label{border-radius:var(--radius-pill);background:var(--primary);margin-top:8px;padding:8px 18px;font-size:13px;font-weight:800;display:inline-flex;color:#fff!important}.upload-progress{border:1.5px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);gap:12px;padding:16px;display:grid}.upload-progress-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.upload-progress-header div{gap:3px;display:grid}.upload-progress-header strong{color:var(--text);font-size:15px;font-weight:800}.upload-progress-header span{color:var(--text-muted);font-size:13px;font-weight:600}.upload-progress-header b{border-radius:var(--radius-pill);background:var(--primary);color:#fff;flex:none;padding:6px 12px;font-size:13px}.upload-progress-bar{border-radius:var(--radius-pill);background:var(--primary-light);height:10px;overflow:hidden}.upload-progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #a855f7);height:100%;transition:width .28s;display:block}.upload-progress-processing .upload-progress-bar span{background-image:linear-gradient(45deg,#ffffff40 25%,#0000 25% 50%,#ffffff40 50% 75%,#0000 75%,#0000);background-size:40px 40px;animation:1s linear infinite upload-stripes}.upload-progress-steps{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.upload-progress-steps span{border-radius:var(--radius-sm);color:var(--text-soft);text-align:center;background:#fdfaf6;padding:8px 6px;font-size:12px;font-weight:800;transition:background .2s,color .2s}.upload-progress-steps span.active{background:var(--primary-light);color:var(--primary-dark)}@keyframes upload-stripes{0%{background-position:0 0}to{background-position:40px 0}}.language-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.language-grid label,.control-row label{color:var(--text-muted);gap:6px;font-size:13px;font-weight:700;display:grid}.language-grid input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:10px 12px}.word-target-control{border:1.5px solid var(--border-soft);border-radius:var(--radius);background:#fdfaf6;gap:10px;padding:14px;display:grid}.word-target-control div{justify-content:space-between;gap:12px;display:flex}.word-target-control strong{color:var(--text);font-weight:800}.word-target-control span{color:var(--text-muted);font-size:13px;font-weight:600}.word-target-control input{width:100%;accent-color:var(--primary)}select,.typed-answer input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:10px 12px}.preview-video{aspect-ratio:16/9;border-radius:var(--radius);object-fit:cover;background:#111;width:100%}.primary-button{color:#fff;background:linear-gradient(135deg, var(--primary), #a855f7);border-radius:var(--radius-pill);padding:14px 22px;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px #ff8c424d}.primary-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff8c4266}.primary-button:not(:disabled):active{transform:translateY(0)}.primary-button:disabled{cursor:not-allowed;box-shadow:none;background:#c4b5fd}.secondary-button{color:var(--text);background:var(--surface);border-radius:var(--radius-pill);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);padding:14px 22px;font-weight:800;transition:border-color .15s,background .15s}.secondary-button:hover{border-color:var(--primary);background:var(--primary-light)}.home-button{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);padding:10px 18px;font-size:14px;font-weight:800;transition:border-color .15s,background .15s}.home-button:hover{border-color:var(--primary);background:var(--primary-light)}.error,.incorrect{color:var(--red);font-weight:800}.correct{color:var(--green);font-weight:800}.sidebar-note{color:var(--text-soft);font-size:12px;font-weight:700}.processing-stage{grid-template-columns:.75fr 1fr;gap:28px;padding:32px;display:grid}.steps{gap:12px;display:grid}.step{border:1.5px solid var(--border-soft);border-radius:var(--radius);opacity:.45;background:#fdfaf6;align-items:flex-start;gap:14px;padding:16px;transition:opacity .25s,border-color .25s,background .25s;display:flex}.step.complete{opacity:1}.step.active{border-color:var(--primary);background:var(--primary-light);opacity:1}.step span{background:linear-gradient(135deg, var(--primary), #a855f7);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:14px;font-weight:900;display:grid;box-shadow:0 2px 8px #ff8c424d}.step strong,.step p{margin:0;display:block}.step p{color:var(--text-muted);margin-top:3px;font-size:13px}.lesson-stage{grid-template-columns:minmax(0,1fr) 380px;gap:0;width:min(1360px,100% - 30px);margin:0 auto;padding-bottom:48px;display:grid}.video-shell{border-radius:var(--radius-lg) 0 0 var(--radius-lg);box-shadow:var(--shadow-lg);background:#050708;position:relative;overflow:hidden}.video-column{align-content:start;gap:16px;display:grid}.video-shell video{aspect-ratio:16/9;object-fit:contain;background:#050708;width:100%;display:block}.subtitle-overlay{border-radius:var(--radius);color:#fff;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000c7;width:min(86%,900px);padding:12px 18px;font-size:22px;font-weight:800;line-height:1.35;position:absolute;bottom:72px;left:50%;transform:translate(-50%)}.subtitle-word{background:var(--yellow);color:#4c1d95;border-radius:8px;padding:1px 6px}.translated-word{color:#ffd54f;text-underline-offset:3px;cursor:pointer;border-radius:4px;padding:0 2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:2px;transition:color .15s;display:inline-block;position:relative}.translated-word.tooltip-active{color:#ffe082}.word-tooltip{color:#fff;white-space:nowrap;pointer-events:none;z-index:50;background:#051e1cf5;border:1px solid #ffffff26;border-radius:6px;padding:5px 10px;font-size:13px;font-weight:600;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.word-tooltip:after{content:"";border:5px solid #0000;border-top-color:#051e1cf5;position:absolute;top:100%;left:50%;transform:translate(-50%)}.transcript .translated-word{color:#a78bfa;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.5px}.player-controls{color:#fff;background:linear-gradient(#0000,#000000e0);padding:12px 16px 14px;position:absolute;bottom:0;left:0;right:0}.progress-track{height:16px;position:relative}.progress-track input{z-index:2;opacity:0;width:100%;position:absolute}.progress-track:before,.progress-track span{content:"";border-radius:var(--radius-pill);height:4px;position:absolute;top:7px;left:0}.progress-track:before{background:#ffffff47;right:0}.progress-track span{background:linear-gradient(90deg, var(--primary), #a855f7)}.quiz-marker{z-index:3;color:#fff;font-size:12px;font-weight:900;position:absolute;top:-28px;right:0;transform:translate(5px)}.quiz-marker:after{content:"";border-radius:var(--radius-pill);background:var(--yellow);width:3px;height:24px;position:absolute;bottom:-13px;right:8px}.quiz-marker strong{border-radius:var(--radius-sm);background:var(--yellow);color:#4c1d95;padding:4px 8px;display:block}.control-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.control-row button,.lesson-sidebar button,.typed-answer button{color:#fff;border-radius:var(--radius-sm);background:#ffffff29;padding:8px 12px;font-weight:800;transition:background .15s}.control-row button:hover,.lesson-sidebar button:hover{background:#ffffff47}.control-row input{accent-color:var(--primary)}.control-row select{padding:7px 10px}.ctrl-btn{border-radius:var(--radius-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;background:#ffffff24!important;padding:0!important}.ctrl-btn svg{width:18px;height:18px}.ctrl-btn:hover{background:#ffffff47!important}.ctrl-btn-active{background:#ff8c428c!important}.ctrl-time{color:#ffffffd9;white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:700}.ctrl-group{align-items:center;gap:6px;display:flex}.ctrl-icon{color:#ffffffb3;flex-shrink:0;width:18px;height:18px}.ctrl-slider{width:72px;accent-color:var(--primary)}.ctrl-select{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#ffffff24;border:none;padding:6px 8px;font-size:13px;font-weight:700}.lesson-sidebar{border:1.5px solid var(--border-soft);border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:var(--surface);box-shadow:var(--shadow);border-left:0;align-content:start;gap:8px;padding:10px;display:grid}.lesson-words-panel{border:1.5px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);padding:18px}.lesson-words-heading{margin-bottom:14px}.lesson-words-heading h3{color:var(--text);margin:0;font-size:20px;font-weight:800}.sidebar-header,.word-list,.transcript{border:1.5px solid var(--border-soft);border-radius:var(--radius);background:var(--surface)}.sidebar-header{justify-content:space-between;gap:12px;padding:16px;display:flex}.sidebar-header h3{margin:0;font-weight:800}.sidebar-note{margin:6px 0 0}.sidebar-header button{align-self:center}.sidebar-header button.toggle-off{background:var(--primary-light)!important;color:var(--primary-dark)!important}.word-list{grid-template-columns:1fr 1fr;gap:10px;padding:14px;display:grid}.word-card{border:1.5px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface);padding:12px;transition:border-color .15s}.word-card:hover{border-color:var(--border)}.word-card span,.word-card strong,.word-card small{display:block}.word-card strong{color:var(--primary);font-weight:800}.word-card small{color:var(--text-soft);margin-top:4px;font-size:12px}.transcript{max-height:430px;padding:8px;overflow:auto}.transcript button{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;background:#fdfaf6;border:1.5px solid #0000;margin:0 0 7px;padding:10px 12px;transition:border-color .15s,background .15s}.transcript button:hover{background:var(--primary-light)}.transcript button.active{border-color:var(--primary);background:var(--primary-light)}.transcript span{color:var(--text-soft);margin-bottom:2px;font-size:12px;font-weight:800;display:block}.quiz-stage,.report-stage{background:var(--surface);border:1.5px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:0 0 32px;overflow:hidden}.quiz-heading,.report-hero{margin-bottom:24px}.quiz-heading{border-bottom:1.5px solid var(--border-soft);background:linear-gradient(135deg, var(--primary-light), #fef9c3);padding:28px}.report-hero{background:linear-gradient(135deg, var(--primary-light), #fef9c3);justify-content:space-between;align-items:center;gap:24px;padding:32px;display:flex}.report-hero p{max-width:600px}.score-ring{background:radial-gradient(circle at center, #fff 0 57%, transparent 58%), conic-gradient(var(--primary) var(--score,0%), #ede9fe 0 100%);border-radius:50%;flex:none;align-content:center;place-items:center;width:150px;height:150px;display:grid;box-shadow:0 12px 40px #ff8c4240}.score-ring strong,.score-ring span{display:block}.score-ring strong{color:var(--text);text-align:center;max-width:100px;font-size:31px;font-weight:900;line-height:.95}.score-ring span{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;margin-top:5px;font-size:11px;font-weight:800}.quiz-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.question-card{padding:22px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.question-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--yellow));border-radius:var(--radius-pill) var(--radius-pill) 0 0;height:4px;position:absolute;inset:0 0 auto}.question-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.question-card.answered-correct{background:#f0fdf4;border-color:#6ee7b7}.question-card.answered-wrong{background:#fff5f5;border-color:#fca5a5}.question-topline{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.question-number{color:var(--primary);margin:0;font-size:13px;font-weight:900}.question-topline span{border-radius:var(--radius-pill);background:var(--primary-light);color:var(--primary-dark);padding:4px 12px;font-size:12px;font-weight:800}.question-card h3{color:var(--text);margin:0 0 18px;font-size:20px;font-weight:800;line-height:1.3}.option-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.option-grid button{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:50px;color:var(--text);font-size:15px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.option-grid button:not(:disabled):hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-2px)}.option-grid button.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.typed-answer{gap:10px;display:flex}.typed-answer input{flex:1;min-width:0}.typed-answer button{background:var(--primary)!important;border-radius:var(--radius-sm)!important}.quiz-stage>.primary-button,.report-stage>.secondary-button{margin-top:24px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin:0 28px 20px;display:grid}.metric-grid div,.progress-row{border:1.5px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);padding:18px}.metric-grid span,.metric-grid strong{display:block}.metric-grid span{color:var(--text-muted);margin-top:4px;font-size:13px;font-weight:700}.metric-grid strong{color:var(--text);font-size:30px;font-weight:900}.progress-table{gap:10px;padding:0 28px;display:grid}.progress-row{grid-template-columns:1.5fr .8fr .8fr .6fr;align-items:center;gap:16px;display:grid}.progress-row strong{justify-self:end}.new-word-strip,.review-word-strip{border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;margin:0 28px 20px;padding:14px;display:flex}.new-word-strip{background:#ecfdf5;border:1.5px solid #a7f3d0}.review-word-strip{background:var(--yellow-light);border:1.5px solid #fde68a}.new-word-strip span{color:#065f46;font-weight:800}.review-word-strip span{color:#92400e;font-weight:800}.new-word-strip strong,.review-word-strip strong{border-radius:var(--radius-pill);color:var(--text);padding:4px 12px;font-size:14px}.new-word-strip strong{background:var(--green-light)}.review-word-strip strong{background:var(--yellow)}.brand-tagline{color:var(--text-muted);margin:0;font-size:13px;font-weight:600}.upload-own-button{border:1.5px solid var(--border);background:var(--surface);color:var(--primary);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);padding:9px 18px;font-size:14px;font-weight:800;transition:background .15s,border-color .15s}.upload-own-button:hover{background:var(--primary-light);border-color:var(--primary)}.library-stage{flex-direction:column;gap:28px;width:min(1280px,100% - 36px);margin:0 auto;padding:24px 0 48px;display:flex}.settings-bar{background:var(--surface);border:1.5px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.settings-bar-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.settings-arrow{color:var(--primary);font-size:18px;font-weight:900}.settings-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;flex-direction:column;gap:4px;font-size:11px;font-weight:800;display:flex}.settings-label select{color:var(--text);border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-transform:none;letter-spacing:0;min-width:130px;padding:8px 12px;font-size:14px;font-weight:700}.settings-label-slider{text-transform:none;letter-spacing:0;color:var(--text-muted);flex-direction:row;align-items:center;gap:12px;font-size:13px;font-weight:700}.settings-label-slider strong{color:var(--primary)}.settings-label-slider input[type=range]{width:120px;accent-color:var(--primary)}.tier-display{align-items:center;gap:10px;display:flex}.tier-emoji{font-size:26px;line-height:1}.tier-info{flex-direction:column;gap:4px;min-width:160px;display:flex}.tier-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12px;font-weight:700}.tier-label strong{color:var(--text)}.tier-bar{background:var(--border);border-radius:99px;height:6px;overflow:hidden}.tier-bar span{border-radius:99px;height:100%;transition:width .6s;display:block}.tier-sublabel{color:var(--text-muted);font-size:11px}:-webkit-any(.video-shell:fullscreen,.video-shell:-webkit-full-screen){border-radius:0;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;overflow:hidden}:is(.video-shell:fullscreen,.video-shell:fullscreen){border-radius:0;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;overflow:hidden}:-webkit-any(.video-shell:fullscreen video,.video-shell:-webkit-full-screen video){width:100%;height:100%;aspect-ratio:unset;object-fit:contain}:is(.video-shell:fullscreen video,.video-shell:fullscreen video){width:100%;height:100%;aspect-ratio:unset;object-fit:contain}:-webkit-any(.video-shell:fullscreen .subtitle-overlay,.video-shell:-webkit-full-screen .subtitle-overlay){z-index:100;bottom:90px}:is(.video-shell:fullscreen .subtitle-overlay,.video-shell:fullscreen .subtitle-overlay){z-index:100;bottom:90px}:-webkit-any(.video-shell:fullscreen .player-controls,.video-shell:-webkit-full-screen .player-controls){z-index:100}:is(.video-shell:fullscreen .player-controls,.video-shell:fullscreen .player-controls){z-index:100}.upload-own-panel{background:var(--surface);border:1.5px solid var(--border-soft);border-radius:var(--radius-lg);width:100%;max-width:600px;box-shadow:var(--shadow);flex-direction:column;gap:16px;margin:0 auto;padding:24px;display:flex}.upload-own-panel .eyebrow{margin-bottom:4px}.library-heading{padding:0 4px}.library-heading h2{color:var(--text);margin:4px 0 0;font-size:30px;font-weight:900}.movie-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.movie-card{border-radius:var(--radius-lg);background:var(--surface);border:1.5px solid var(--border-soft);box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.movie-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.movie-card-art{justify-content:center;align-items:center;height:140px;display:flex;position:relative}.movie-card-emoji{filter:drop-shadow(0 4px 12px #0003);font-size:64px;line-height:1}.movie-card-thumbnail{object-fit:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;height:100%;position:absolute;inset:0}.movie-card-body{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex}.movie-card-title{color:var(--text);margin:0;font-size:16px;font-weight:900;line-height:1.2}.movie-card-meta{flex-wrap:wrap;gap:10px;display:flex}.movie-card-meta span{color:var(--text-muted);background:var(--primary-light);border-radius:var(--radius-pill);padding:3px 10px;font-size:12px;font-weight:700}.watch-button{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--primary), #a855f7);color:#fff;width:100%;margin-top:auto;padding:12px;font-size:14px;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 3px 12px #ff8c424d}.watch-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4266}.watch-button:disabled{box-shadow:none;cursor:not-allowed;background:#c4b5fd}.watch-button-saved{background:linear-gradient(135deg, var(--green), #059669)!important;box-shadow:0 3px 12px #10b98159!important}.watch-button-saved:hover{box-shadow:0 6px 20px #10b98180!important}.movie-card-actions{gap:8px;display:flex}.movie-card-actions .watch-button-saved{flex:1}.watch-button-reprocess{background:var(--primary-light)!important;width:40px!important;color:var(--primary)!important;box-shadow:none!important;flex:none!important;padding:0!important;font-size:18px!important}.watch-button-reprocess:hover{background:var(--primary)!important;color:#fff!important}.movie-card-linked{border-color:#6ee7b7}.movie-card-ready-badge{background:var(--green);color:#fff;border-radius:var(--radius-pill);letter-spacing:.5px;text-transform:uppercase;padding:3px 10px;font-size:11px;font-weight:900;position:absolute;top:10px;right:10px}.movie-card-soon{opacity:.5;pointer-events:none}.movie-card-soon-badge{color:#fff;border-radius:var(--radius-pill);letter-spacing:.5px;text-transform:uppercase;background:#0000008c;padding:3px 10px;font-size:11px;font-weight:900;position:absolute;top:10px;right:10px}.watch-button-soon{opacity:.5;cursor:not-allowed}.watch-button-processing{cursor:not-allowed;animation:1.8s ease-in-out infinite pulse-processing;box-shadow:none!important;background:linear-gradient(135deg,#94a3b8,#64748b)!important}@keyframes pulse-processing{0%,to{opacity:1}50%{opacity:.65}}.movie-card-processing-badge{color:#fff;border-radius:var(--radius-pill);letter-spacing:.5px;text-transform:uppercase;background:#000000a6;padding:3px 10px;font-size:11px;font-weight:900;animation:1.8s ease-in-out infinite pulse-processing;position:absolute;top:10px;right:10px}.vocab-filter{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.vocab-filter-btn{border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;padding:5px 14px;font-size:13px;font-weight:700;transition:all .15s}.vocab-filter-btn.active,.vocab-filter-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.vocab-pill-grid{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.vocab-pill{border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;font-size:14px;font-weight:700;transition:all .18s;display:flex}.vocab-pill:hover{border-color:var(--primary);background:var(--primary-light)}.vocab-pill.expanded{border-color:var(--primary);background:var(--primary-light);border-radius:var(--radius);padding:10px 18px}.vocab-pill-target{font-size:15px;font-weight:800}.vocab-pill-native{color:var(--text-muted);font-size:12px;font-weight:600;animation:.15s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.vocab-pill.status-mastered{border-color:#6ee7b7}.vocab-pill.status-familiar{border-color:#93c5fd}.vocab-pill.status-learning{border-color:#fcd34d}.vocab-pill.status-new{border-color:var(--border)}@media (width<=1100px){.movie-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vocab-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.upload-stage,.processing-stage,.lesson-stage,.quiz-list{grid-template-columns:1fr}.navbar{grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:10px;height:auto;padding:12px 20px}.navbar-lang{grid-column:1/-1;justify-content:flex-start}.tier-display{grid-area:1/2;justify-self:end}.movie-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-copy h2,.processing-stage h2,.quiz-heading h2,.report-hero h2{font-size:30px}.lesson-stage{width:min(100% - 20px,760px)}.video-shell{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.lesson-sidebar{border-top:0;border-left:1.5px solid var(--border-soft);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.subtitle-overlay{font-size:16px;bottom:112px}.metric-grid,.progress-row,.language-grid,.home-progress-metrics,.saved-video-list{grid-template-columns:1fr}.home-progress-list{grid-template-columns:repeat(2,minmax(0,1fr))}.report-hero{flex-direction:column;align-items:flex-start}.progress-row strong{justify-self:start}}@media (width<=560px){.upload-copy,.upload-panel,.processing-stage,.question-card{padding:18px}.hero-image{height:220px}.word-list,.option-grid,.home-progress-list,.saved-video-list{grid-template-columns:1fr}.word-target-control div,.saved-video-card{flex-direction:column;align-items:flex-start}.control-row{gap:8px}}
