:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text-heading:#0f172a;--text-muted:#64748b;--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--accent:#6366f1;--shadow:0 4px 6px -1px #0f172a14;--shadow-hover:0 10px 25px -5px #0f172a1f;color:var(--text-heading);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-width:320px;margin:0;overflow-x:hidden}#root{width:100%;min-height:100dvh}button,a{font-family:inherit}button{-webkit-tap-highlight-color:transparent}.confirm-dialog{z-index:1000;padding:1.25rem;padding-left:max(1.25rem, env(safe-area-inset-left));padding-right:max(1.25rem, env(safe-area-inset-right));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog__panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:400px;padding:1.5rem;animation:.18s ease-out confirm-dialog-in;box-shadow:0 20px 40px #0f172a33}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-dialog__title{color:var(--text-heading);margin:0 0 .5rem;font-size:1.15rem;font-weight:700;line-height:1.3}.confirm-dialog__message{color:var(--text-muted);margin:0 0 1.35rem;font-size:.95rem;line-height:1.55}.confirm-dialog__actions{justify-content:flex-end;gap:.65rem;display:flex}.confirm-dialog__btn{cursor:pointer;border-radius:8px;min-height:44px;padding:.55rem 1rem;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s}.confirm-dialog__btn--cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-heading)}.confirm-dialog__btn--confirm{color:#fff;background:#dc2626;border:1px solid #dc2626}@media (hover:hover){.confirm-dialog__btn--cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.confirm-dialog__btn--confirm:hover{background:#b91c1c;border-color:#b91c1c}}.confirm-dialog__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.confirm-dialog__btn--confirm:focus-visible{outline-color:#ef4444}.video-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}@media (hover:hover){.video-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}}.video-card__link{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none;display:block}.video-card__media{aspect-ratio:16/9;background:#1e293b;position:relative}.video-card__thumbnail-wrap{width:100%;height:100%;position:relative}.video-card__thumbnail{object-fit:cover;opacity:0;pointer-events:none;background:#1e293b;width:100%;height:100%;transition:opacity .2s;display:block}.video-card__thumbnail--ready{opacity:.92}@media (hover:hover){.video-card:hover .video-card__thumbnail--ready{opacity:1}}.video-card__thumbnail-wrap .video-card__placeholder,.video-card__thumbnail-wrap .video-card__thumbnail{position:absolute;inset:0}.video-card__placeholder{background:linear-gradient(135deg,#334155 0%,#475569 50%,#64748b 100%);width:100%;height:100%}.video-card__loader{z-index:2;background:#0f172a59;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.video-card__loader-spinner{border:3px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite video-card-spin}@keyframes video-card-spin{to{transform:rotate(360deg)}}.video-card__number{z-index:3;color:#fff;background:#6366f1eb;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:.8rem;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px;box-shadow:0 2px 8px #0003}.video-card__play-icon{color:#fff;background:#00000059;justify-content:center;align-items:center;font-size:clamp(1.25rem,4vw,1.5rem);transition:background .2s;display:flex;position:absolute;inset:0}@media (hover:hover){.video-card:hover .video-card__play-icon{background:#00000080}}.video-card__duration{color:#fff;background:#000000bf;border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:600;position:absolute;bottom:10px;right:10px}.video-card__body{text-align:left;padding:1rem 1.1rem 1.25rem}.video-card--admin .video-card__body{padding-bottom:.5rem}.video-card__body-top{justify-content:space-between;align-items:flex-start;gap:.65rem;margin-bottom:.35rem;display:flex}.video-card__title{color:var(--text-heading);flex:1;margin:0;font-size:clamp(1rem,3vw,1.05rem);font-weight:600;line-height:1.3}.video-card__status{border-radius:999px;flex-shrink:0;align-items:center;margin-top:.1rem;padding:.25rem .55rem;font-size:.7rem;font-weight:700;line-height:1.2;display:inline-flex}.video-card__status--correct{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.video-card__status--incorrect{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.video-card__status--not-found{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.video-card__actions{justify-content:flex-end;padding:0 1.1rem 1.1rem;display:flex}.video-card__delete{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.4rem .75rem;font-size:.75rem;font-weight:600;transition:background .15s,border-color .15s}@media (hover:hover){.video-card__delete:hover{background:#fee2e2;border-color:#fca5a5}}.video-card__delete:focus-visible{outline-offset:2px;outline:2px solid #ef4444}.video-card__title-number{color:var(--accent);margin-right:.15rem}.video-card__parts{flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem;display:flex}.video-card__part{border:1px solid var(--border);color:var(--text-muted);background:#f8fafc;border-radius:999px;align-items:center;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.video-card__description{color:var(--text-muted);margin:0;font-size:clamp(.85rem,2.5vw,.9rem);line-height:1.5}@media (width<=640px){.video-card{border-radius:10px}.video-card__body{padding:.85rem 1rem 1rem}.video-card--admin .video-card__body{padding-bottom:.4rem}.video-card__actions{padding:0 1rem 1rem}}.video-list{width:100%;max-width:1200px;padding:2.5rem 1.5rem 3rem;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(3rem, env(safe-area-inset-bottom));margin:0 auto}.video-list__header{text-align:left;margin-bottom:2rem}.video-list__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .5rem;font-size:.8rem;font-weight:600}.video-list__title{color:var(--text-heading);margin:0 0 .35rem;font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;line-height:1.2}.video-list__subtitle{color:var(--text-muted);margin:0;font-size:clamp(.9rem,2.5vw,1rem)}.video-list__filters{flex-direction:column;gap:.85rem;margin-top:1.25rem;display:flex}.video-list__search{max-width:420px}.video-list__status-filters{flex-wrap:wrap;gap:.5rem;display:flex}.video-list__status-btn{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.45rem .9rem;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.video-list__status-btn--active{border-color:var(--accent);background:var(--accent);color:#fff}.video-list__status-btn--correct.video-list__status-btn--active{background:#15803d;border-color:#15803d}.video-list__status-btn--incorrect.video-list__status-btn--active{background:#b91c1c;border-color:#b91c1c}.video-list__status-btn--not-found.video-list__status-btn--active{background:#64748b;border-color:#64748b}@media (hover:hover){.video-list__status-btn:hover:not(.video-list__status-btn--active){color:var(--text-heading);background:#f1f5f9;border-color:#cbd5e1}}.video-list__status-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.video-list__body-part-block{flex-direction:column;gap:.5rem;display:flex}.video-list__filter-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.8rem;font-weight:700}.video-list__search-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.video-list__search-field{align-items:center;gap:.5rem;display:flex}.video-list__search-input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text-heading);box-shadow:var(--shadow);border-radius:10px;padding:.65rem .9rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.video-list__search-input::placeholder{color:#94a3b8}.video-list__search-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #6366f12e}.video-list__search-clear{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text-muted);cursor:pointer;border-radius:8px;flex-shrink:0;padding:.5rem .85rem;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}@media (hover:hover){.video-list__search-clear:hover{color:var(--text-heading);background:#f1f5f9;border-color:#cbd5e1}}.video-list__search-clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.video-list__restore{border:1px solid var(--border);background:var(--surface);color:var(--text-heading);cursor:pointer;border-radius:8px;margin-top:.85rem;padding:.5rem .9rem;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s}@media (hover:hover){.video-list__restore:hover{background:#f1f5f9;border-color:#cbd5e1}}.video-list__restore:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.video-list__empty{color:var(--text-muted);margin:0;padding:2rem 0;font-size:1rem}.video-list__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.5rem;display:grid}.video-list__pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:2.5rem;padding-top:.5rem;display:flex}.video-list__page-numbers{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;display:flex}.video-list__page-btn{border:1px solid var(--border);background:var(--surface);min-width:40px;min-height:40px;color:var(--text-heading);cursor:pointer;border-radius:8px;padding:.4rem .7rem;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.video-list__page-btn--nav{min-width:64px}.video-list__page-btn--active{border-color:var(--accent);background:var(--accent);color:#fff}.video-list__page-btn:disabled{opacity:.45;cursor:not-allowed}@media (hover:hover){.video-list__page-btn:hover:not(:disabled):not(.video-list__page-btn--active){background:#f1f5f9;border-color:#cbd5e1}}.video-list__page-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=640px){.video-list{padding-top:1.25rem;padding-bottom:2rem}.video-list__header{margin-bottom:1.25rem}.video-list__filters{margin-top:1rem}.video-list__search{max-width:none}.video-list__grid{grid-template-columns:1fr;gap:1rem}.video-list__pagination{gap:.5rem;margin-top:1.75rem}.video-list__page-btn{min-width:36px;min-height:36px;padding:.35rem .55rem;font-size:.85rem}.video-list__page-btn--nav{min-width:56px}}@media (width>=641px) and (width<=900px){.video-list__grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (width>=901px){.video-list__grid{grid-template-columns:repeat(3,1fr)}}.video-page{width:100%;max-width:960px;padding:1.5rem;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(2rem, env(safe-area-inset-bottom));margin:0 auto}.video-page--not-found{text-align:center;padding-top:4rem}.video-page__header{margin-bottom:1.25rem}.video-page__back-btn,.video-page__back-link{min-height:44px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:.35rem;padding:.5rem 0;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.video-page__delete-btn{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-shrink:0;min-height:44px;padding:.5rem .9rem;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s}@media (hover:hover){.video-page__back-btn:hover,.video-page__back-link:hover{text-decoration:underline}.video-page__delete-btn:hover{background:#fee2e2;border-color:#fca5a5}}.video-page__delete-btn:focus-visible{outline-offset:2px;outline:2px solid #ef4444}.video-page__player{aspect-ratio:16/9;box-shadow:var(--shadow-hover);background:#000;border-radius:12px;position:relative;overflow:hidden}.video-page__iframe,.video-page__video{background:#000;border:none;width:100%;height:100%;display:block}.video-page__video{object-fit:contain}.video-page__info{text-align:left;margin-top:1.5rem}.video-page__info-top{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.video-page__info-text{flex:1;min-width:0}.video-page__number{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.85rem;font-weight:700}.video-page__title-row{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.35rem;display:flex}.video-page__title{color:var(--text-heading);margin:0;font-size:clamp(1.25rem,4vw,2rem);font-weight:700;line-height:1.25}.video-page__meta{color:var(--text-muted);margin:0;font-size:.85rem;font-weight:600}.video-page__parts{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.video-page__part{border:1px solid var(--border);color:var(--text-muted);background:#f8fafc;border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.video-page__description{color:var(--text-muted);margin:0;font-size:clamp(.9rem,2.5vw,1rem);line-height:1.6}.video-page__compare{text-align:left;margin-top:2rem}.video-page__compare-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.video-page__compare-title{color:var(--text-heading);margin:0;font-size:1.1rem;font-weight:700}.video-page__compare-badge{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;align-items:center;padding:.3rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.video-page__compare-badge--needed{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.video-page__compare-badge--not-found{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.video-page__player--compare{box-shadow:var(--shadow)}@media (width<=640px){.video-page{padding-top:.75rem;padding-left:0;padding-right:0}.video-page__header,.video-page__info,.video-page__compare{padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right))}.video-page__header{margin-bottom:1rem}.video-page__player{box-shadow:none;border-radius:0}.video-page__player--compare{border-radius:0}.video-page__info{margin-top:1.25rem}.video-page__compare{margin-top:1.5rem}.video-page__info-top{flex-direction:column;align-items:stretch;gap:.85rem}.video-page__delete-btn{width:100%}}.app{background:radial-gradient(circle at top left, #6366f114, transparent 40%), radial-gradient(circle at bottom right, #0ea5e914, transparent 35%), var(--bg);min-height:100dvh}.app--status{color:var(--text-muted);justify-content:center;align-items:center;padding:2rem;font-size:1rem;font-weight:600;display:flex}.app--status-error{color:#dc2626}@media (width<=640px){.app{background:var(--bg)}}
