:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eef3ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#070a12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 10%,#173867 0,#0000 30%),#070a12;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}.auth-shell{background:#070a12;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:#0b1220;border:1px solid #ffffff21;border-radius:8px;gap:18px;width:min(430px,100%);padding:32px;display:grid;box-shadow:0 24px 80px #00000073}.auth-panel h1{margin:0;font-size:30px;line-height:1.05}.auth-panel p{color:#aebfda;margin:8px 0 0;line-height:1.5}.auth-panel label{color:#dbe7ff;gap:8px;font-weight:800;display:grid}.auth-panel input{color:#fff;background:#070c16;border:1px solid #ffffff29;border-radius:7px;outline:none;width:100%;padding:14px 15px}.auth-panel input:focus{border-color:#7db1ff;box-shadow:0 0 0 3px #7db1ff24}.auth-icon{color:#9ff4d9;background:#4cefbb14;border:1px solid #4cefbb4d;border-radius:8px;place-items:center;width:48px;height:48px;display:grid}.auth-error{color:#ffd1d1;background:#ff767614;border:1px solid #ff76764d;border-radius:7px;padding:11px 12px}.auth-status{color:#c8d6ee;align-items:center;gap:10px;display:flex}.auth-logout{z-index:50;color:#dce9ff;cursor:pointer;background:#070a12e6;border:1px solid #ffffff24;border-radius:7px;align-items:center;gap:7px;padding:9px 11px;display:inline-flex;position:fixed;top:12px;right:12px}.config-shell{place-items:center;min-height:100vh;padding:32px;display:grid}.landing-grid{grid-template-columns:minmax(360px,720px) minmax(360px,620px);align-items:start;gap:24px;width:min(1480px,100%);display:grid}.landing-grid.hosted{grid-template-columns:1fr;width:min(760px,100%)}.config-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0b1220d1;border:1px solid #ffffff21;border-radius:28px;width:min(720px,100%);padding:34px;box-shadow:0 30px 120px #00000073}.download-card{width:100%}.brand-chip{color:#b9d5ff;background:#497ccd1f;border:1px solid #7db1ff59;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.config-card h1{letter-spacing:-.06em;margin:18px 0 10px;font-size:clamp(30px,5vw,58px);line-height:.95}.config-card h2{letter-spacing:-.055em;margin:18px 0 10px;font-size:clamp(26px,3vw,42px);line-height:1}.config-card p{color:#b7c3d8;line-height:1.7}.config-card label{color:#dbe7ff;gap:8px;margin-top:18px;font-weight:700;display:grid}.config-card input{color:#fff;background:#0a1020;border:1px solid #ffffff24;border-radius:15px;outline:none;width:100%;padding:14px 16px}.config-card input:focus{border-color:#6da5ff;box-shadow:0 0 0 4px #6da5ff21}.library-card{background:linear-gradient(145deg,#0a1223f0,#0c1f2ed6)}.library-status-card{color:#dce9ff;background:radial-gradient(circle at 0 0,#4cefbb2e,#0000 46%),#ffffff0f;border:1px solid #9dd7ff3d;border-radius:20px;align-items:center;gap:14px;margin-top:20px;padding:16px;display:flex}.library-status-card.loading svg{animation:1.1s ease-in-out infinite pulse-icon}.library-status-card strong,.library-status-card span{display:block}.library-status-card strong{color:#fff;font-size:17px}.library-status-card span{color:#aac0de;margin-top:4px;line-height:1.45}.advanced-config{background:#00000029;border:1px solid #ffffff1c;border-radius:18px;margin-top:18px;overflow:hidden}.advanced-config summary{color:#cfe0f8;cursor:pointer;padding:14px 16px;font-weight:900}.advanced-config label{margin:0;padding:0 16px 16px}@keyframes pulse-icon{0%,to{opacity:.62;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}.primary-button{color:#05111f;cursor:pointer;background:linear-gradient(135deg,#9dd7ff,#4cefbb);border:0;border-radius:16px;width:100%;margin-top:22px;padding:15px 18px;font-weight:900}.primary-button.inline{flex:1;width:auto;margin-top:0}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{color:#dce9ff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:15px;padding:13px 14px;font-weight:850}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button.compact{border-radius:10px;padding:7px 10px;font-size:13px}.status-box{color:#c9d6ec;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;margin-top:14px;padding:12px 14px}.course-picker{gap:10px;margin-top:18px;display:grid}.course-card-option{color:#e8f1ff;text-align:left;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;gap:5px;padding:14px 15px;display:grid}.course-card-option:hover,.course-card-option.active{background:#5491ff29;border-color:#9dd7ff99}.course-card-option span{font-weight:900}.course-card-option small{color:#9fb0cd}.local-pill{color:#cbd8f0;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;margin-top:14px;padding:10px 12px}.local-pill.ok{color:#b6ffe9;background:#4cefbb1a;border-color:#4cefbb52}.local-pill.bad{color:#ffd1d1;background:#ff76761a;border-color:#ff767647}.auto-download-card{color:#d8e7ff;background:linear-gradient(135deg,#4b87ff1f,#4cefbb14);border:1px solid #9dd7ff2e;border-radius:18px;align-items:flex-start;gap:12px;margin-top:14px;padding:14px;display:flex}.auto-download-card strong,.auto-download-card span{display:block}.auto-download-card strong{color:#fff}.auto-download-card span{color:#aebfda;margin-top:4px;line-height:1.45}.two-cols{grid-template-columns:1fr 1fr;gap:14px;display:grid}.button-row{gap:12px;margin-top:18px;display:flex}.button-row .secondary-button{flex:1}.job-box{background:#0003;border:1px solid #ffffff1f;border-radius:18px;margin-top:18px;overflow:hidden}.job-head{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.download-progress-card{background:radial-gradient(circle at 12% 10%,#4cefbb1f,#0000 36%),#060a12b8;border-bottom:1px solid #ffffff1a;gap:12px;padding:14px;display:grid}.progress-meta{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.progress-meta strong{letter-spacing:-.05em;color:#9ff4d9;font-size:28px}.progress-meta span{color:#dce8fa;text-align:right}.progress-track{background:#ffffff14;border-radius:999px;height:14px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#4cefbb,#9dd7ff);height:100%;transition:width .28s;box-shadow:0 0 24px #4cefbb59}.progress-details{color:#9fb0cd;flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.progress-details span{background:#ffffff0f;border-radius:999px;padding:5px 8px}.job-box pre{white-space:pre-wrap;word-break:break-word;color:#b8c7df;background:#05070d;max-height:360px;margin:0;padding:14px;font-size:12px;line-height:1.45;overflow:auto}.upload-next{color:#c9ffed;background:#4cefbb14;border-top:1px solid #ffffff1a;align-items:center;gap:8px;padding:14px;display:flex}.upload-next code{color:#fff;word-break:break-all}.app-layout{grid-template-columns:360px minmax(0,1fr);min-height:100vh;display:grid}.app-layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#040811d1;border-right:1px solid #ffffff1a;max-height:100vh;overflow:auto}.sidebar-header{border-bottom:1px solid #ffffff14;padding:22px}.course-title{letter-spacing:-.04em;font-size:22px;font-weight:900;line-height:1.08}.course-subtitle{color:#8ea2c3;margin-top:8px}.search-box{color:#8397b8;background:#0e1526;border-radius:14px;align-items:center;gap:8px;margin:16px;padding:10px 12px;display:flex}.search-box input{color:#fff;background:0 0;border:0;outline:none;width:100%}.week-list{padding:0 10px 20px}.week-list details{margin-bottom:8px}.week-list summary{cursor:pointer;color:#b7c8e7;align-items:center;gap:7px;padding:10px 12px;font-weight:800;display:flex}.lesson-row{color:#cad6ea;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;grid-template-columns:56px 1fr;align-items:start;gap:10px;width:100%;padding:10px 12px;display:grid}.lesson-row:hover{background:#ffffff0f}.lesson-row.active{color:#fff;background:linear-gradient(135deg,#458bff38,#4cefbb24)}.lesson-number{color:#8fb9ff;font-weight:900}.player-shell{min-width:0;max-height:100vh;padding:22px;overflow:auto}.player-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.eyebrow{color:#79aaff;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900}.player-topbar h2{letter-spacing:-.05em;margin:4px 0 0;font-size:clamp(24px,3vw,42px);line-height:1.02}.topbar-actions{align-items:center;gap:12px;display:flex}.control-button{color:#dbe7ff;cursor:pointer;white-space:nowrap;background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:7px;padding:10px 12px;font-weight:850;display:inline-flex}.control-button:hover{background:#5491ff29;border-color:#9dd7ff80}.rate-select{color:#dbe7ff;background:#0d1629;border-radius:14px;align-items:center;gap:8px;padding:10px 12px;display:flex}.rate-select select{color:#fff;background:0 0;border:0;outline:none}.stage-card{background:#0b1220;border:1px solid #ffffff1f;border-radius:24px;overflow:hidden;box-shadow:0 20px 80px #0000003d}.stage-card:fullscreen{background:#05070d;border:0;border-radius:0;grid-template-rows:minmax(0,1fr) auto;width:100vw;height:100vh;display:grid}.stage-card:fullscreen .stage{aspect-ratio:auto;height:100%}.stage{aspect-ratio:16/9;background:#10131a;place-items:center;display:grid;position:relative;overflow:hidden}.slide-image,.slide-background{width:100%;height:100%}.slide-image{object-fit:contain;background:#141820}.annotation-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.empty-stage{color:#8294b5;text-align:center;place-items:center;gap:10px;min-height:360px;padding:28px;display:grid}.stage-fullscreen-button{z-index:9;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;opacity:0;background:#00000075;border:1px solid #ffffff29;border-radius:13px;place-items:center;width:38px;height:38px;transition:opacity .18s,background .18s;display:grid;position:absolute;top:14px;right:14px}.stage:hover .stage-fullscreen-button,.stage-fullscreen-button:focus-visible{opacity:1}.stage-card:fullscreen .stage-fullscreen-button{opacity:1}.stage-fullscreen-button:hover{background:#5491ff6b}.camera-float{aspect-ratio:16/9;transform-origin:100% 100%;cursor:grab;touch-action:none;z-index:5;background:#000;border:2px solid #ffffff80;border-radius:18px;width:min(23vw,250px);transition:transform .22s,border-color .22s,box-shadow .22s;position:absolute;bottom:20px;right:20px;overflow:hidden;box-shadow:0 18px 60px #00000073}.camera-float:hover,.camera-float:focus-within{z-index:8;border-color:#9dd7ff;box-shadow:0 25px 90px #3e8dff6b}.camera-float:not(.is-positioned):hover,.camera-float:not(.is-positioned):focus-within{transform:scale(1.65)}.camera-float:active{cursor:grabbing}.camera-float.is-positioned{transform-origin:50%;bottom:auto;right:auto}.camera-float.is-hidden{display:none}.camera-float video{object-fit:cover;width:100%;height:100%;display:block}.camera-label{color:#fff;pointer-events:none;background:#000000ad;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:900;display:flex;position:absolute;bottom:8px;left:8px}.transport{border-top:1px solid #ffffff1a;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.transport audio{width:100%}.time-readout{color:#b9c8df;white-space:nowrap;align-items:center;gap:8px;display:flex}.media-error{color:#ffd1d1;background:#ff76761a;border-width:1px 0 0;border-radius:0;margin:0}.lower-grid{grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:18px;margin-top:18px;display:grid}.panel{color:#c6d2e8;background:#0c1322db;border:1px solid #ffffff1a;border-radius:22px;padding:18px}.panel-title{color:#fff;align-items:center;gap:8px;font-weight:900;display:flex}.pdf-panel{min-height:560px;padding:0;overflow:hidden}.pdf-tabs{border-bottom:1px solid #ffffff1a;gap:8px;padding:12px;display:flex}.pdf-tabs button{color:#c8d6ee;cursor:pointer;background:#ffffff0f;border:0;border-radius:12px;padding:9px 12px}.pdf-tabs button.active{color:#06111e;background:#9dd7ff;font-weight:900}.pdf-panel iframe{background:#10131a;border:0;width:100%;height:620px}.empty-pdf{color:#8294b5;place-items:center;min-height:360px;display:grid}.quiz-shell{background:#0c1322;border:1px solid #ffffff1a;max-width:900px;margin:0 auto;padding:26px}.quiz-metrics{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.quiz-metrics span{color:#dce8fa;background:#ffffff0f;border:1px solid #ffffff1a;padding:7px 10px}.quiz-link{width:fit-content;text-decoration:none;display:block}.quiz-question-list{gap:10px;margin-top:18px;display:grid}.quiz-question{background:#ffffff0d;border:1px solid #ffffff1a;padding:14px}@media (width<=1020px){.landing-grid,.app-layout,.app-layout.sidebar-collapsed{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #ffffff1a;border-right:0;max-height:42vh}.lower-grid{grid-template-columns:1fr}.topbar-actions{flex-wrap:wrap}.camera-float{width:190px}.camera-float:not(.is-positioned):hover{transform:scale(1.25)}}@media (width<=640px){.config-shell,.player-shell{padding:14px}.config-card{border-radius:22px;padding:22px}.transport{grid-template-columns:1fr}.camera-float{border-radius:14px;width:140px;bottom:10px;right:10px}.player-topbar{display:grid}.topbar-actions{gap:8px}.control-button span{display:none}.two-cols,.button-row{grid-template-columns:1fr;display:grid}.primary-button.inline{width:100%}}
