@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{--bg:#0d0d0d;--bg2:#141414;--bg3:#1c1c1c;--accent:#ffc662;--accent-dk:#e5a83e;--accent-ink:#000;--text:#fff;--muted:#a0a0a0;--line:#ffffff14;--gold:#ffc662;--panel:#141414f2;--focus:0 0 0 2px #ffc6624d;--input-bg:#1c1c1c;--radius:8px;--radius-lg:12px;--ok:#22c55e}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);flex-direction:column;min-height:100dvh;font:500 14px/1.5 Inter,system-ui,sans-serif;display:flex;overflow-x:hidden}#root{flex-direction:column;flex:1;display:flex}.app{flex-direction:column;flex:1;width:100%;display:flex}.main{flex:1;width:100%;max-width:1300px;margin:0 auto;padding:0 24px}.top{z-index:100;-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line);background:#0d0d0df7;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.nav-student-info{cursor:pointer;align-items:center;gap:10px;display:flex}.nav-student-name{color:var(--muted);white-space:nowrap;letter-spacing:.2px;font-size:13px;font-weight:700}.nav-student-name span{color:var(--accent)}.nav-avatar{flex-shrink:0;width:36px;height:36px;position:relative}.nav-avatar-img{object-fit:cover;border:2px solid var(--accent);border-radius:10px;width:36px;height:36px;display:block;box-shadow:0 2px 8px #0006}.nav-avatar-initial{background:var(--accent);color:#000;border:2px solid var(--accent);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:900;display:flex;box-shadow:0 2px 8px #0006}.nav-avatar-cam{background:var(--accent);color:#000;border:1.5px solid var(--bg);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;bottom:-4px;right:-4px}.nav-student-info:hover .nav-avatar-img,.nav-student-info:hover .nav-avatar-initial{border-color:var(--accent-dk,#e6a800);transition:all .2s;transform:scale(1.05)}.avatar-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.avatar-modal{background:linear-gradient(135deg,#1a1a1a,#111);border:1px solid #ffc66233;border-radius:20px;width:100%;max-width:360px;padding:28px;box-shadow:0 24px 60px #000c}.avatar-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.avatar-modal-header h3{margin:0;font-size:18px;font-weight:800}.avatar-modal-close{color:var(--muted);cursor:pointer;background:#ffffff14;border:none;border-radius:8px;align-items:center;padding:6px;transition:all .2s;display:flex}.avatar-modal-close:hover{background:#ffffff26}.avatar-preview-wrap{justify-content:center;margin-bottom:16px;display:flex}.avatar-preview-img{object-fit:cover;border:3px solid var(--accent);border-radius:16px;width:100px;height:100px;box-shadow:0 4px 20px #00000080}.avatar-preview-initial{background:var(--accent);color:#000;border:3px solid var(--accent);border-radius:16px;justify-content:center;align-items:center;width:100px;height:100px;font-size:40px;font-weight:900;display:flex}.brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex;position:absolute;left:50%;transform:translate(-50%)}.brand-logo-img{object-fit:cover;border:2px solid var(--accent);border-radius:10px;width:40px;height:40px;box-shadow:0 2px 8px #0000004d}.brand-title{color:var(--text);letter-spacing:-.5px;white-space:nowrap;font-size:18px;font-weight:900}.brand-title em{color:var(--accent);font-style:normal}.mobile-menu-toggle{display:none}.nav-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.nav-school-name{color:var(--accent);letter-spacing:.5px;white-space:nowrap;font-size:13px;font-weight:800}.nav-logout-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;background:#ffffff0f;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.nav-logout-btn:hover{color:#f87171;background:#ff64641f;border-color:#f871714d}.nav-links{flex:1;align-items:center;gap:8px;display:flex}.link-btn{color:var(--muted);border-radius:var(--radius);padding:6px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:color .15s,background .15s}.link-btn:hover,.link-btn.active{color:var(--text);background:#ffffff0f}.btn{border-radius:var(--radius);background:var(--accent);min-height:48px;color:var(--accent-ink);cursor:pointer;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;width:auto;padding:0 24px;font:700 15px/1 Inter,sans-serif;text-decoration:none;transition:background .15s,transform .1s,filter .15s;display:inline-flex}.btn:hover{background:var(--accent-dk)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;pointer-events:none}.btn.secondary{color:var(--text);border:1px solid var(--line);background:#ffffff0f}.btn.secondary:hover{background:#ffffff1a}.btn.outline{color:var(--accent);border:2px solid var(--accent);background:0 0}.btn.outline:hover{background:#ffc66214}.btn.full{width:100%}.btn.danger{color:#f87171;background:#dc262626;border:1px solid #dc26264d}.btn.danger:hover{background:#dc262640}.form-group{margin-bottom:16px}.label{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.input{background:var(--input-bg);border-radius:var(--radius);width:100%;min-height:48px;color:var(--text);border:1px solid #ffffff1a;outline:none;padding:12px 16px;font:500 15px Inter,sans-serif;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--accent);box-shadow:var(--focus)}.input::placeholder{color:var(--muted)}.login-bg{z-index:0;background:#0a0a0a;position:fixed;inset:0;overflow:hidden}.login-mosaic{opacity:.2;filter:blur(1px);grid-template-columns:repeat(6,1fr);gap:8px;display:grid;position:absolute;inset:-20px;transform:rotate(-8deg)scale(1.3)}.login-mosaic-item{aspect-ratio:2/3;background:var(--bg3);background-position:50%;background-size:cover;border-radius:6px}.login-overlay{z-index:1;background:radial-gradient(#1e0f00b3 0%,#000000eb 100%);position:fixed;inset:0}.login-wrap{z-index:2;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex;position:relative}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f0f0ffa;border:1px solid #ffc6621f;border-radius:20px;width:100%;max-width:440px;padding:44px 40px;box-shadow:0 0 80px #ffc66214}.login-logo{text-align:center;margin-bottom:28px}.login-logo-img{object-fit:cover;border:3px solid var(--accent);border-radius:16px;width:80px;height:80px;margin-bottom:16px;box-shadow:0 4px 20px #0006}.login-school-name{letter-spacing:-.5px;color:#fff;font-size:26px;font-weight:900}.login-school-name em{color:var(--accent);font-style:normal}.login-headline{color:var(--muted);margin-top:4px;font-size:14px;font-weight:500;line-height:1.5}.login-sep{background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.4;border:none;height:1px;margin:20px 0 28px}.login-meta{color:var(--muted);justify-content:space-between;margin-bottom:16px;font-size:12px;display:flex}.login-meta a{color:var(--muted);text-decoration:none}.login-meta a:hover{color:var(--accent)}.login-security{text-align:center;color:var(--muted);opacity:.7;justify-content:center;align-items:center;gap:6px;margin-top:20px;font-size:12px;display:flex}.catalog-section{padding:28px 0 20px}.catalog-course-block{margin-bottom:52px}.catalog-course-header{border-bottom:2px solid #ffc66226;align-items:flex-end;gap:20px;margin-bottom:20px;padding-bottom:14px;display:flex}.catalog-course-title{color:#fff;letter-spacing:-.4px;font-size:22px;font-weight:900}.catalog-course-meta{color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:500}.story-row{scrollbar-width:none;gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.story-row::-webkit-scrollbar{display:none}.story-bubble{cursor:pointer;flex-direction:column;flex:none;align-items:center;gap:8px;transition:transform .2s;display:flex}.story-bubble:hover{transform:translateY(-4px)}.story-ring{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border-radius:50%;width:72px;height:72px;padding:3px;transition:all .2s}.story-ring.active{background:linear-gradient(135deg, var(--accent), var(--accent-dk));box-shadow:0 0 20px #ffc66266}.story-ring-inner{background-position:50%;background-size:cover;background-color:var(--bg3);border:2px solid var(--bg);width:100%;height:100%;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:900;display:flex;overflow:hidden}.story-label{color:var(--muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:72px;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.story-label.active{color:var(--accent)}.lessons-expanded{border-radius:var(--radius-lg);background:var(--bg2);border:1px solid #ffc6621a;margin-top:20px;overflow:hidden}.lesson-row{cursor:pointer;border-bottom:1px solid #ffffff0a;align-items:center;gap:16px;padding:14px 18px;transition:background .15s;display:flex}.lesson-row:last-child{border-bottom:none}.lesson-row:hover{background:#ffffff0a}.lesson-row.active{border-left:3px solid var(--accent);background:#ffc6620f}.lesson-row-num{width:32px;height:32px;color:var(--accent);background:#ffc6621a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.lesson-row-info{flex:1}.lesson-row-title{color:#fff;font-size:14px;font-weight:600}.lesson-row-meta{color:var(--muted);margin-top:2px;font-size:11px}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-title{color:var(--text);letter-spacing:-.3px;font-size:18px;font-weight:800}.section-link{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}.cards-row{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;gap:16px;padding-bottom:16px;display:flex;overflow-x:auto}.cards-row::-webkit-scrollbar{display:none}.pcard{aspect-ratio:3/4;border-radius:var(--radius-lg);cursor:pointer;scroll-snap-align:start;background:var(--bg3);flex:none;width:180px;text-decoration:none;transition:transform .25s cubic-bezier(.25,.46,.45,.94),box-shadow .25s;position:relative;overflow:hidden}@media (width>=768px){.pcard{width:220px}}.pcard:hover{z-index:2;transform:scale(1.05);box-shadow:0 12px 32px #000000b3}.pcard-img{background-position:50%;background-size:cover;transition:transform .35s;position:absolute;inset:0}.pcard:hover .pcard-img{transform:scale(1.08)}.pcard-overlay{background:linear-gradient(#0000 40%,#000000eb 100%);position:absolute;inset:0}.pcard-body{padding:16px 14px;position:absolute;bottom:0;left:0;right:0}.pcard-tag{text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:6px;font-size:9px;font-weight:700;display:inline-block}.pcard-title{color:#fff;text-transform:uppercase;letter-spacing:.3px;font-size:13px;font-weight:800;line-height:1.2}.pcard-price{color:var(--accent);margin-top:6px;font-size:12px;font-weight:700}.lcard{border-radius:var(--radius-lg);background:var(--bg2);border:1px solid var(--line);cursor:pointer;scroll-snap-align:start;flex:none;width:300px;text-decoration:none;transition:transform .2s,border-color .2s;overflow:hidden}.lcard:hover{border-color:#ffc6624d;transform:translateY(-4px)}.lcard-img{background:var(--bg3);background-position:50%;background-size:cover;height:160px;position:relative}.lcard-play{opacity:0;background:#0006;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.lcard:hover .lcard-play{opacity:1}.lcard-body{padding:14px}.lcard-title{color:#fff;margin-bottom:6px;font-size:14px;font-weight:700}.lcard-meta{color:var(--muted);font-size:12px}.progress-bar{background:#ffffff1a;border-radius:2px;height:3px;margin-top:10px}.progress-fill{background:var(--accent);border-radius:2px;height:100%}.study-layout-v2{grid-template-columns:260px 1fr;gap:0;min-height:calc(100vh - 64px);display:grid}@media (width<=900px){.study-layout-v2{grid-template-columns:1fr}}.study-sidebar-left{background:var(--bg2);border-right:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.study-sidebar-left-header{border-bottom:1px solid var(--line);background:var(--bg);padding:18px 16px}.study-sidebar-left-title{text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:4px;font-size:12px;font-weight:700}.study-sidebar-left-module{color:#fff;font-size:14px;font-weight:700}.study-lessons-list{scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;flex:1;overflow-y:auto}.study-lesson-item{cursor:pointer;border-bottom:1px solid #ffffff0a;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.study-lesson-item:hover{background:#ffffff0a}.study-lesson-item.active{border-left:3px solid var(--accent);background:#ffc66212}.study-lesson-num{width:28px;height:28px;color:var(--muted);background:#ffffff0f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex}.study-lesson-item.active .study-lesson-num{color:var(--accent);background:#ffc66226}.study-lesson-info{flex:1;min-width:0}.study-lesson-title{color:#fff;font-size:12px;font-weight:600;line-height:1.3}.study-lesson-dur{color:var(--muted);margin-top:2px;font-size:10px}.study-main-content{background:#000;flex-direction:column;display:flex;overflow-y:auto}.cp-wrapper{aspect-ratio:16/9;cursor:pointer;background:#000;border-radius:0;width:100%;position:relative;overflow:hidden}.cp-wrapper:fullscreen{width:100vw;height:100vh;aspect-ratio:unset}.cp-video{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.cp-spinner-overlay{z-index:10;background:#0006;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cp-spinner{border:4px solid #fff3;border-top-color:#fff;border-radius:50%;width:44px;height:44px;animation:.8s linear infinite cp-spin}@keyframes cp-spin{to{transform:rotate(360deg)}}.cp-big-play{z-index:15;pointer-events:auto;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.cp-big-play svg{filter:drop-shadow(0 4px 16px #0009);width:80px;height:80px}.cp-big-play:hover svg circle{fill:#000000bf}.cp-error-overlay{z-index:30;pointer-events:auto;background:#000c;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.cp-error-msg{color:#fff;text-align:center;opacity:.85;padding:0 24px;font-size:15px}.cp-btn-retry{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:700}.cp-controls{z-index:20;pointer-events:auto;opacity:0;background:linear-gradient(#0000 0%,#0006 40%,#000000d9 100%);padding:0 12px 10px;transition:opacity .25s,transform .25s;position:absolute;bottom:0;left:0;right:0;transform:translateY(6px)}.cp-controls--visible{opacity:1;transform:translateY(0)}.cp-progress-area{align-items:center;height:18px;margin-bottom:4px;display:flex;position:relative}.cp-buffer-bar,.cp-progress-fill{pointer-events:none;border-radius:2px;height:4px;transition:width .1s linear;position:absolute;left:0}.cp-buffer-bar{background:#ffffff40;width:0}.cp-progress-fill{background:var(--accent,#ffc662);z-index:1;width:0}.cp-seek{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;margin:0;padding:0;position:absolute}.cp-btn-row{align-items:center;gap:4px;display:flex}.cp-btn{color:#fff;cursor:pointer;pointer-events:auto;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:background .15s;display:flex}.cp-btn svg{width:20px;height:20px}.cp-btn:hover{background:#ffffff1f}.cp-btn--text{min-width:36px;font-size:13px;font-weight:700}.cp-volume{-webkit-appearance:none;cursor:pointer;background:#ffffff4d;border-radius:2px;outline:none;flex-shrink:0;width:72px;height:4px}.cp-volume::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:12px;height:12px}.cp-time{color:#ffffffd9;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.3px;font-size:12px}.cp-rate-menu{z-index:100;background:#141414f2;border:1px solid #ffffff1a;border-radius:8px;min-width:80px;position:absolute;bottom:36px;right:0;overflow:hidden}.cp-rate-item{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:8px 14px;font-size:13px;transition:background .1s;display:block}.cp-rate-item:hover{background:#ffffff14}.cp-rate-item.active{color:var(--accent,#ffc662);font-weight:700}.cp-wrapper.cp-error{cursor:default;justify-content:center;align-items:center;min-height:200px;display:flex}.study-lesson-info-panel{background:var(--bg);flex:1;padding:24px 28px}.study-lesson-title-main{color:#fff;margin-bottom:12px;font-size:20px;font-weight:800;line-height:1.3}.study-lesson-desc{color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.7}.study-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.course-hero{border-radius:var(--radius-lg);height:360px;margin-bottom:32px;position:relative;overflow:hidden}.course-hero-img{background-position:50%;background-size:cover;position:absolute;inset:0}.course-hero-overlay{background:linear-gradient(#0000 0%,#0d0d0d4d 40%,#0d0d0d 100%);position:absolute;inset:0}.course-hero-content{padding:32px;position:absolute;bottom:0;left:0;right:0}.site-footer{background:var(--bg2);border-top:1px solid #ffc6621a;margin-top:auto;padding:40px 28px 24px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;max-width:1300px;margin:0 auto;display:flex}.footer-brand{flex-direction:column;gap:8px;display:flex}.footer-logo{object-fit:cover;border:2px solid var(--accent);border-radius:10px;width:44px;height:44px;box-shadow:0 2px 8px #0000004d}.footer-school-name{color:#fff;letter-spacing:-.3px;font-size:18px;font-weight:900}.footer-school-name em{color:var(--accent);font-style:normal}.footer-tagline{color:var(--muted);font-size:12px}.footer-contact{flex-direction:column;gap:8px;display:flex}.footer-contact-title{text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:11px;font-weight:700}.footer-contact-item{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.footer-contact-item a{color:var(--muted);text-decoration:none;transition:color .15s}.footer-contact-item a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);text-align:center;color:var(--muted);opacity:.6;margin-top:28px;padding-top:20px;font-size:12px}.admin-sidebar{z-index:1000;background:#0d0d0d;border-right:1px solid #ffc66212;flex-direction:column;flex-shrink:0;width:220px;display:flex}@media (width<=900px){.admin-sidebar{width:260px;transition:transform .3s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}}.admin-mobile-header{background:#0d0d0d;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:14px 16px;display:none}.admin-main-content{-webkit-overflow-scrolling:touch;flex:1;padding:36px 24px;overflow-y:auto}@media (width<=900px){.admin-mobile-header{display:flex}.admin-main-content{padding:16px 12px!important}.fc .fc-toolbar{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.fc .fc-toolbar-chunk{flex-wrap:wrap!important;justify-content:center!important;gap:4px!important;display:flex!important}.fc .fc-toolbar-title{text-align:center!important;font-size:15px!important}.fc .fc-button{padding:5px 8px!important;font-size:11px!important}.fc-col-header-cell-cushion{padding:4px 2px!important;font-size:11px!important}.fc-timegrid-slot-label-cushion{font-size:10px!important}}.admin-sidebar-overlay{display:none}@media (width<=900px){.admin-sidebar-overlay.open{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#0009;display:block;position:fixed;inset:0}}.admin-sidebar-brand{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding:24px 20px;display:flex}.admin-sidebar-icon{background:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.admin-sidebar-text-primary{color:#fff;font-size:13px;font-weight:800}.admin-sidebar-text-secondary{color:var(--muted);font-size:10px}.admin-nav-item{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;margin-bottom:2px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.admin-nav-item:hover{color:#fff;background:#ffffff0f}.admin-nav-item.active{color:var(--accent);background:#ffc6621a}.badge{text-transform:uppercase;letter-spacing:1px;color:var(--muted);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.access-badge{color:var(--accent);background:#ffc66214;border:1px solid #ffc66233;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:16px;padding:24px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.catalog-loading{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:120px 20px;font-size:14px;display:flex}.catalog-loading-spinner{border:3px solid #ffc66233;border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.catalog-empty{text-align:center;color:var(--muted);padding:80px 20px}.meuscursos-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;display:flex}.dashboard-page{padding:32px 0 60px}.dashboard-hero{padding:0 24px 32px}.dashboard-hero-title{color:#fff;letter-spacing:-.5px;margin-bottom:8px;font-size:28px;font-weight:900}.dashboard-hero-sub{color:var(--muted);font-size:14px}.course-shelf{margin-bottom:48px}.shelf-header{align-items:center;gap:12px;padding:0 24px 16px;display:flex}.shelf-badge{letter-spacing:1.5px;text-transform:uppercase;border-radius:20px;padding:4px 10px;font-size:10px;font-weight:800}.shelf-badge.enrolled{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.shelf-badge.catalog{color:var(--accent);background:#ffc6621f;border:1px solid #ffc66240}.shelf-title{color:#fff;font-size:18px;font-weight:800}.course-story-row{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;gap:16px;padding:4px 24px 16px;display:flex;overflow-x:auto}.course-story-row::-webkit-scrollbar{display:none}.mobile-lessons-toggle{display:none}.story-course-card{aspect-ratio:9/16;cursor:pointer;scroll-snap-align:start;background:#111;border-radius:16px;flex:none;width:200px;transition:transform .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s;position:relative;overflow:hidden}@media (width>=768px){.story-course-card{width:240px}}.story-course-card:hover{z-index:2;transform:scale(1.04)translateY(-4px);box-shadow:0 20px 50px #000c}.story-card-bg{background-position:50%;background-size:cover;transition:transform .4s;position:absolute;inset:0}.story-course-card:hover .story-card-bg{transform:scale(1.06)}.story-card-overlay{position:absolute;inset:0}.overlay-enrolled{background:linear-gradient(#0000 30%,#000000d9 100%)}.overlay-locked{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#000000b8}.story-card-badge{z-index:3;position:absolute;top:12px;left:12px}.badge-enrolled{color:#fff;letter-spacing:1px;text-transform:uppercase;background:#22c55ed9;border-radius:20px;align-items:center;gap:4px;padding:4px 9px;font-size:9px;font-weight:800;display:inline-flex}.badge-locked{color:#fff;letter-spacing:1px;text-transform:uppercase;background:#000000a6;border:1px solid #ffffff26;border-radius:20px;align-items:center;gap:4px;padding:4px 9px;font-size:9px;font-weight:800;display:inline-flex}.story-card-body{z-index:3;flex-direction:column;gap:10px;padding:18px 14px;display:flex;position:absolute;bottom:0;left:0;right:0}.story-card-title{color:#fff;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 2px 8px #000c;font-size:14px;font-weight:900;line-height:1.2}.story-card-price{flex-direction:column;gap:2px;display:flex}.price-old{color:#ffffff73;font-size:11px;text-decoration:line-through}.price-new{color:var(--accent);font-size:16px;font-weight:900}.story-card-btn{letter-spacing:.3px;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px 14px;font-size:12px;font-weight:800;transition:transform .15s,opacity .15s,box-shadow .15s;display:flex}.story-card-btn:hover{opacity:.92;transform:translateY(-1px)}.btn-play{background:var(--accent);color:#000;box-shadow:0 4px 16px #ffc66280}.btn-unlock{color:#fff;background:linear-gradient(135deg,#ff6b6b,#e63946);box-shadow:0 4px 16px #e6394666}.cert-story-card{aspect-ratio:9/16;cursor:pointer;scroll-snap-align:start;background:#111;border-radius:16px;flex:none;width:200px;transition:transform .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s;position:relative;overflow:hidden}@media (width>=768px){.cert-story-card{width:240px}}.cert-unlocked{border:2px solid #ffc66266}.cert-locked{border:2px solid #ffffff0f}.cert-story-card:hover{z-index:2;transform:scale(1.04)translateY(-4px);box-shadow:0 20px 50px #000c}.cert-story-card:hover .story-card-bg{transform:scale(1.06)}.cert-trophy{z-index:3;filter:drop-shadow(0 4px 12px #000c);font-size:52px;animation:1s bounce;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.cert-progress-circle{z-index:3;width:72px;height:72px;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.cert-circle-svg{width:100%;height:100%;transform:rotate(-90deg)}.cert-circle-bg{fill:none;stroke:#ffffff1f;stroke-width:3px}.cert-circle-fill{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray .6s}.cert-circle-text{color:var(--accent);justify-content:center;align-items:center;font-size:15px;font-weight:900;display:flex;position:absolute;inset:0}.cert-mini-bar{background:#ffffff1a;border-radius:4px;height:4px;margin-bottom:4px;overflow:hidden}.cert-mini-fill{border-radius:4px;height:100%;transition:width .5s}.cert-bar-label{color:#ffffff80;text-align:center;margin-bottom:8px;font-size:10px}.cert-locked-msg{color:#ffffff73;text-align:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:9px 12px;font-size:11px;font-weight:700;display:flex}@keyframes bounce{0%{opacity:0;transform:translate(-50%,-60%)scale(.5)}60%{opacity:1;transform:translate(-50%,-68%)scale(1.15)}to{opacity:1;transform:translate(-50%,-60%)scale(1)}}@media (width<=600px){.main{padding:0 12px}.top{gap:8px;height:56px;padding:0 12px}.nav-student-name,.nav-school-name{display:none}.brand-logo-img{width:34px;height:34px}.brand-title{font-size:15px}.mobile-menu-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;padding:8px;transition:background .15s;display:flex}.mobile-menu-toggle:hover{background:#ffffff0f}.nav-right{display:none}.mobile-menu-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2500;background:#000000d9;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-menu-content{background:var(--bg2);border-top:1px solid var(--line);border-radius:24px 24px 0 0;padding:24px;animation:.3s cubic-bezier(.2,.8,.2,1) slideUp}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-menu-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.mobile-menu-links{flex-direction:column;gap:12px;display:flex}.dashboard-page{padding:16px 0 48px}.store-banner{border-radius:16px!important;min-height:200px!important;margin:0 12px 24px!important;padding:24px!important}.store-banner h1{font-size:24px!important}.store-banner p{font-size:14px!important}.shelf-header{gap:8px;padding:0 12px 12px}.shelf-title{font-size:15px}.course-story-row{-webkit-overflow-scrolling:touch;gap:16px;padding:4px 16px 20px;scroll-padding-left:16px}.story-course-card{border-radius:16px;width:70vw;max-width:220px}.story-card-title{font-size:14px}.story-card-btn{padding:12px 14px;font-size:12px}.cert-story-card{border-radius:16px;width:70vw;max-width:220px}.login-card{border-radius:16px;padding:28px 20px}.login-logo-img{width:64px;height:64px}.login-school-name{white-space:nowrap;font-size:20px}.study-layout-v2{display:block!important}.cp-wrapper{border-radius:0!important}.cp-btn{padding:10px!important}.cp-btn svg{width:24px!important;height:24px!important}.cp-volume{display:none!important}.cp-progress-area{height:26px!important}.cp-buffer-bar,.cp-progress-fill{height:5px!important}.cp-time{font-size:11px!important}.cp-rate-menu{bottom:40px!important;right:4px!important}@media (hover:none){.cp-controls{opacity:1!important;transform:none!important}}.study-sidebar-left{z-index:3000;flex-direction:column;display:flex;top:0;right:-320px;border:none!important;border-left:1px solid var(--line)!important;width:280px!important;height:100vh!important;max-height:100vh!important;transition:right .3s cubic-bezier(.4,0,.2,1)!important;position:fixed!important}.study-sidebar-left.open{box-shadow:-10px 0 20px #00000080;right:0!important}.study-sidebar-left-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2999;background:#0009;position:fixed;inset:0}.mobile-lessons-toggle{color:var(--muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:flex!important}.study-main-content{order:1}.study-lesson-info-panel{padding:16px}.study-lesson-title-main{font-size:16px}.study-actions{gap:8px}.study-actions .btn{min-height:40px;padding:0 14px;font-size:13px}.course-hero{border-radius:12px;height:220px}.course-hero-content{padding:16px}.site-footer{padding:24px 16px 16px}.footer-inner{flex-direction:column;gap:20px}.footer-bottom{margin-top:16px;padding-top:12px}.footer-school-name,.footer-contact-title,.footer-contact-item a{color:var(--accent)!important}.admin-layout{flex-direction:column!important}.admin-main{max-height:none!important;padding:20px!important;overflow-y:visible!important}.desktop-only-editor{display:none!important}.mobile-editor-warning{flex-direction:column;justify-content:center;align-items:center;min-height:50vh;display:flex!important}.avatar-modal{border-radius:16px;padding:20px}.card{padding:16px}.input{min-height:44px;font-size:14px}.btn{white-space:normal;text-align:center;height:auto;min-height:48px;padding:12px 16px;line-height:1.3}.grid{grid-template-columns:repeat(2,1fr);gap:10px}}@media (width>=601px) and (width<=768px){.main{padding:0 20px}.top{height:60px;padding:0 20px}.nav-school-name{display:none}.story-course-card,.cert-story-card{width:220px}.study-layout-v2{grid-template-columns:1fr}.study-sidebar-left{border-right:none;border-top:1px solid var(--line);order:2;max-height:320px}.study-main-content{order:1}.login-card{padding:32px 28px}}@media (hover:none) and (pointer:coarse){.story-course-card:hover,.cert-story-card:hover,.pcard:hover{box-shadow:none;transform:none}.story-course-card:active,.cert-story-card:active{transform:scale(.97)}.story-card-btn{padding:12px 14px;font-size:13px}.btn{min-height:48px}}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.cp-wrapper{aspect-ratio:unset!important;height:100svh!important}.cp-volume{display:none!important}}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}
