@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#090a09;--bg-surface:#111411;--bg-elevated:#171c18;--bg-hover:#20271f;--border:#273028;--border-light:#344038;--accent:#34d399;--accent-hover:#22c55e;--accent-dim:#34d3991f;--accent-glow:#34d39938;--text-1:#f2f5f1;--text-2:#b7c2b6;--text-3:#7f8c80;--text-4:#59645b;--green:#22c55e;--green-dim:#22c55e1a;--red:#ef4444;--amber:#f59e0b;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:16px}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#090a09;background:var(--bg);color:#f2f5f1;color:var(--text-1);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer}button,input,textarea{font-family:inherit}::selection{background:#34d39947}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#333}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes checkPop{0%{transform:scale(.7)}60%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes progressFill{0%{width:0}to{width:var(--w)}}.fade-up{animation:fadeUp .35s ease forwards}.fade-in{animation:fadeIn .25s ease forwards}.skeleton{animation:shimmer 1.4s ease infinite;background:linear-gradient(90deg,#111 25%,#1c1c1c 50%,#111 75%);background-size:400px 100%;border-radius:4px}.spinner{animation:spin .75s linear infinite;border:2px solid #344038;border-top-color:#34d399;border:2px solid var(--border-light);border-radius:50%;border-top-color:var(--accent);height:22px;width:22px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;padding:0;position:absolute;width:1px}.auth,.sr-only{overflow:hidden}.auth{align-items:center;background:linear-gradient(180deg,#ffffff0a,#0000 34%),linear-gradient(135deg,#090a09,#111411 48%,#0b0d0c);display:flex;justify-content:center;min-height:100vh;padding:24px;position:relative}.auth:before{background:linear-gradient(hsla(0,0%,100%,.028) 1px,#0000 0),linear-gradient(90deg,#ffffff05 1px,#0000 0);background-size:52px 52px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#000000c7,#0000 78%);mask-image:linear-gradient(180deg,#000000c7,#0000 78%);pointer-events:none;position:fixed}.auth__shell{grid-gap:18px;align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(0,1.05fr) minmax(320px,.78fr);position:relative;width:min(100%,940px);z-index:1}.auth__intro,.auth__panel{background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius-lg);box-shadow:0 22px 60px #0000003d}.auth__intro{background:linear-gradient(135deg,#34d3991f,#f59e0b14),#0c0c10c2;display:flex;flex-direction:column;justify-content:space-between;min-height:430px;padding:24px}.auth__brand{gap:10px}.auth__brand,.auth__brand-mark{align-items:center;display:flex}.auth__brand-mark{background:hsla(0,0%,100%,.035);border:1px solid #94a3b838;border-radius:10px;color:var(--text-1);height:40px;justify-content:center;width:40px}.auth__brand-name{color:var(--text-1);font-size:15px;font-weight:800}.auth__brand-sub{color:var(--text-3);font-size:12px;margin-top:2px}.auth__intro-copy{max-width:520px;padding:36px 0}.auth__eyebrow{color:var(--text-2);display:block;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.auth__intro-copy h1{color:var(--text-1);font-size:clamp(30px,5vw,48px);font-weight:800;letter-spacing:0;line-height:1.02}.auth__intro-copy p{color:var(--text-2);font-size:14px;line-height:1.55;margin-top:12px;max-width:430px}.auth__security{align-items:center;background:#080a0f7a;border:1px solid #94a3b82b;border-radius:var(--radius-sm);color:var(--text-3);display:inline-flex;font-size:12px;gap:8px;max-width:470px;min-height:38px;padding:9px 11px}.auth__security svg{color:var(--text-2);flex:0 0 auto}.auth__panel{display:flex;flex-direction:column;justify-content:center;padding:22px}.auth__panel-head{border-bottom:1px solid #94a3b824;margin-bottom:16px;padding-bottom:16px}.auth__panel-head span{color:var(--text-3);display:block;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.auth__panel-head h2{color:var(--text-1);font-size:22px;font-weight:760}.auth__error{align-items:center;background:#ef444414;border:1px solid #ef44446b;border-radius:var(--radius);color:#fecaca;display:flex;font-size:13px;gap:8px;margin-bottom:14px;padding:11px 12px}.auth__error svg{flex-shrink:0;height:14px;width:14px}.auth__form{gap:12px}.auth__field,.auth__form{display:flex;flex-direction:column}.auth__field{gap:5px}.auth__label{color:var(--text-3);font-size:11px}.auth__input-wrap{position:relative}.auth__input{background:#0a0a0a6b;border:1px solid #94a3b838;border-radius:var(--radius-sm);color:var(--text-1);font-size:13px;min-height:40px;outline:none;padding:9px 11px;transition:border-color .15s,box-shadow .15s;width:100%}.auth__input:focus{border-color:#94a3b873;box-shadow:0 0 0 2px #94a3b81a}.auth__input::placeholder{color:var(--text-4)}.auth__input--pass{padding-right:42px}.auth__eye{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:color .15s,background .15s,border-color .15s;width:32px}.auth__eye:hover{background:hsla(0,0%,100%,.035);border-color:#94a3b829;color:var(--text-1)}.auth__submit{align-items:center;background:#f4f4f5eb;border:1px solid #94a3b847;border-radius:var(--radius-sm);color:#111;cursor:pointer;display:flex;font-size:13px;font-weight:650;gap:8px;justify-content:center;margin-top:4px;min-height:40px;padding:9px 14px;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;width:100%}.auth__submit:hover:not(:disabled){background:#fff;border-color:#f4f4f5b8;box-shadow:0 10px 28px #0000003d}.auth__submit:active:not(:disabled){transform:scale(.99)}.auth__submit:disabled{cursor:default;opacity:.55}@media (max-width:860px){.auth__shell{grid-template-columns:1fr;max-width:520px}.auth__intro{min-height:320px}}@media (max-width:640px){.auth{align-items:stretch;padding:14px}.auth__shell{width:100%}.auth__intro,.auth__panel{padding:18px}.auth__intro{min-height:280px}.auth__intro-copy{padding:28px 0}}.navbar{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#0a0a0aeb;border-bottom:1px solid #94a3b81f;display:flex;gap:14px;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:300}.navbar,.navbar__logo{align-items:center;min-height:52px}.navbar__logo{display:inline-flex;flex:0 0 auto;text-decoration:none}.navbar__logo-text{color:var(--text-1);font-size:15px;font-weight:760;letter-spacing:0}.navbar__nav{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex:1 1 auto;gap:4px;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none}.navbar__nav::-webkit-scrollbar{display:none}.navbar__link{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--text-3);display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:620;gap:6px;justify-content:center;min-height:34px;padding:7px 12px;scroll-snap-align:start;text-decoration:none;transition:background .16s ease,border-color .16s ease,color .16s ease;white-space:nowrap}.navbar__link:hover{background:hsla(0,0%,100%,.035);color:var(--text-2)}.navbar__link.active{background:#ffffff12;border-color:#94a3b829;color:var(--text-1)}.navbar__link svg{flex:0 0 auto;height:14px;width:14px}.navbar__spacer{flex:0 0 4px}.navbar__user{gap:10px}.navbar__avatar,.navbar__user{align-items:center;display:flex;flex:0 0 auto}.navbar__avatar{background:linear-gradient(135deg,#0f766e,#ca8a04);border-radius:50%;color:#fff;font-size:11px;font-weight:740;height:26px;justify-content:center;overflow:hidden;width:26px}.navbar__avatar img{height:100%;object-fit:cover;width:100%}.navbar__username{color:var(--text-2);font-size:13px;max-width:150px;overflow:hidden;text-overflow:ellipsis}.navbar__logout,.navbar__username{font-weight:560;white-space:nowrap}.navbar__logout{align-items:center;background:#0000;border:1px solid #94a3b824;border-radius:var(--radius-sm);color:var(--text-4);cursor:pointer;display:inline-flex;font-size:12px;gap:5px;min-height:30px;padding:6px 10px;transition:background .16s ease,border-color .16s ease,color .16s ease}.navbar__logout:hover{background:#ef44440f;border-color:#ef444457;color:#f87171}@media (max-width:720px){.navbar{grid-gap:10px;background:linear-gradient(180deg,#121216fa,#0a0a0af0),#0a0a0a;box-shadow:0 12px 30px #0000002e;display:grid;gap:10px;grid-template-columns:1fr;min-height:auto;padding:11px 12px 10px}.navbar__logo{min-height:22px;padding:0 2px}.navbar__logo-text{font-size:16px;font-weight:800}.navbar__nav{background:hsla(0,0%,100%,.035);border:1px solid #94a3b824;border-radius:12px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.035);gap:6px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10px,#000 calc(100% - 30px),#0000);mask-image:linear-gradient(90deg,#0000,#000 10px,#000 calc(100% - 30px),#0000);padding:5px;width:100%}.navbar__link{background:#0000;border-color:#0000;border-radius:9px;color:var(--text-3);font-size:13px;font-weight:720;gap:7px;min-height:38px;padding:8px 14px;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .14s ease}.navbar__link:active{transform:scale(.985)}.navbar__link.active{background:#f4f4f5eb;border-color:#f4f4f5b3;box-shadow:0 8px 20px #00000038;color:#111}.navbar__link svg{height:15px;width:15px}.navbar__spacer,.navbar__user{display:none}}.announcement{align-items:center;border:1px solid #0000;border-radius:18px;box-shadow:0 14px 40px #00000038;display:flex;gap:14px;margin:20px auto 0;padding:14px 18px;width:min(1280px,calc(100% - 48px))}.announcement--info{background:linear-gradient(90deg,#38bdf829,#0000 42%),linear-gradient(135deg,#0c1218fa,#0f161cf5);border-color:#38bdf847}.announcement--warning{background:linear-gradient(90deg,#fbbf242e,#0000 42%),linear-gradient(135deg,#1f180ffa,#251c12f5);border-color:#fbbf2447}.announcement--success{background:linear-gradient(90deg,#22c55e2e,#0000 42%),linear-gradient(135deg,#0f1f17fa,#10271cf5);border-color:#22c55e47}.announcement__icon{align-items:center;background:#ffffff0f;border-radius:12px;color:var(--text-1);display:inline-flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.announcement__body{flex:1 1;min-width:0}.announcement__title{color:var(--text-1);font-size:13px;font-weight:700;margin-bottom:3px}.announcement__message{color:var(--text-2);font-size:13px;line-height:1.5}.announcement__link{align-items:center;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;color:var(--text-1);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;gap:6px;padding:9px 12px;transition:background .15s ease,border-color .15s ease,transform .15s ease}.announcement__link:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}@media (max-width:640px){.announcement{align-items:flex-start;flex-wrap:wrap;gap:12px;padding:14px;width:calc(100% - 28px)}.announcement__icon{height:34px;width:34px}.announcement__link{justify-content:center;width:100%}}.courses{margin:0 auto;max-width:1280px;min-height:calc(100vh - 52px);padding:28px 24px 48px;position:relative;width:100%;z-index:1}.courses__header{align-items:flex-end;animation:fadeUp .3s ease forwards;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.courses__title{color:var(--text-1);font-size:22px;font-weight:700;letter-spacing:-.03em}.courses__subtitle{color:var(--text-3);font-size:13px;margin-top:3px}.resume-overlay{align-items:center;backdrop-filter:blur(10px) saturate(115%);-webkit-backdrop-filter:blur(10px) saturate(115%);background:#08090ab8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10000}.resume-panel{animation:resumePanelIn .18s ease both;background:#0f0f13fa;border:1px solid #94a3b83d;border-radius:8px;box-shadow:0 28px 90px #00000094;max-height:calc(100vh - 36px);overflow:auto;padding:18px;width:min(640px,100%)}.resume-panel__header{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:34px 1fr 30px;margin-bottom:14px}.resume-panel__icon{background:#ffffff0f;border:1px solid #94a3b833;border-radius:7px;color:var(--text-1);display:grid;height:34px;place-items:center;width:34px}.resume-panel__eyebrow{color:var(--text-4);font-size:11px;font-weight:700;letter-spacing:0;margin:0 0 2px;text-transform:uppercase}.resume-panel__title{color:var(--text-1);font-size:18px;line-height:1.25;margin:0}.resume-panel__close{background:#ffffff0a;border:1px solid #94a3b829;border-radius:6px;color:var(--text-3);cursor:pointer;font-size:20px;height:30px;line-height:1;width:30px}.resume-panel__close:hover{background:#ffffff14;color:var(--text-1)}.resume-panel__list{grid-gap:8px;display:grid;gap:8px}.resume-panel__list--single{gap:0}.resume-course{grid-gap:12px;align-items:center;background:hsla(0,0%,100%,.035);border:1px solid #94a3b829;border-radius:7px;color:var(--text-1);cursor:pointer;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 92px 18px;min-height:84px;padding:12px;text-align:left;transition:border-color .16s,background .16s,transform .16s;width:100%}.resume-course:hover{background:#ffffff0f;border-color:#94a3b857;transform:translateY(-1px)}.resume-course__main{grid-gap:4px;display:grid;gap:4px;min-width:0}.resume-course__course{color:var(--text-4);font-size:12px}.resume-course__course,.resume-course__video{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-course__video{color:var(--text-1);font-size:14px;line-height:1.3}.resume-course__meta{align-items:center;color:var(--text-3);display:inline-flex;font-size:12px;gap:5px}.resume-course__progress{grid-gap:6px;color:var(--text-2);display:grid;font-size:12px;font-weight:700;gap:6px;justify-items:end}.resume-course__bar{background:#94a3b829;border-radius:3px;height:4px;overflow:hidden;width:76px}.resume-course__fill{background:#e4e4e7;border-radius:3px;height:100%}.resume-course__arrow{color:var(--text-4)}.resume-panel__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:14px}.resume-panel__primary,.resume-panel__secondary{border-radius:6px;cursor:pointer;font-size:13px;font-weight:700;min-height:34px;padding:0 13px}.resume-panel__secondary{background:#0000;border:1px solid #94a3b82e;color:var(--text-2)}.resume-panel__secondary:hover{background:#ffffff0d;color:var(--text-1)}.resume-panel__primary{background:#e4e4e7;border:1px solid #ffffff14;color:#111114}@keyframes resumePanelIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.courses__global-progress{align-items:center;background:#0c0c10c2;border:1px solid #94a3b829;border-radius:20px;display:flex;flex-shrink:0;gap:8px;padding:6px 12px}.courses__global-bar{background:var(--border-light);border-radius:2px;height:3px;overflow:hidden;width:80px}.courses__global-fill{background:#e4e4e7;border-radius:2px;height:100%;transition:width .6s ease}.courses__global-pct{color:var(--text-2);font-size:12px;font-weight:600}.courses__view-tabs{animation:fadeUp .34s ease .02s both;background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius);display:inline-flex;gap:3px;margin-bottom:12px;max-width:100%;padding:3px}.courses__view-tab{align-items:center;background:#0000;border:0;border-radius:5px;color:var(--text-3);cursor:pointer;display:inline-flex;font-size:13px;font-weight:650;gap:7px;min-height:32px;padding:0 12px;transition:background .14s,color .14s;white-space:nowrap}.courses__view-tab:hover{color:var(--text-1)}.courses__view-tab--active{background:var(--bg-hover);color:var(--text-1)}.courses__view-tab strong{background:#ffffff0f;border-radius:9px;color:var(--text-2);display:inline-grid;font-size:11px;height:18px;min-width:19px;padding:0 6px;place-items:center}.courses__filters{animation:fadeUp .35s ease .04s both;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.courses__search-wrap{align-items:center;background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius);display:flex;flex:1 1;gap:8px;min-width:180px;padding:8px 12px;transition:border-color .15s,box-shadow .15s}.courses__search-icon{color:var(--text-4);flex-shrink:0;height:14px;width:14px}.courses__search{background:#0000;border:none;color:var(--text-1);flex:1 1;font-size:13px;outline:none}.courses__search::placeholder{color:var(--text-4)}.courses__search-wrap:focus-within{border-color:#94a3b873;box-shadow:0 0 0 3px #94a3b814}.courses__filter-group{background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:3px;padding:3px}.courses__filter-btn{background:#0000;border:none;border-radius:5px;color:var(--text-3);cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:background .12s,color .12s}.courses__filter-btn:hover{color:var(--text-2)}.courses__filter-btn.active{background:var(--bg-hover);color:var(--text-1)}.courses__sort{align-items:center;background:linear-gradient(180deg,#11141ce6,#0c0c10c2);border:1px solid #94a3b829;border-radius:var(--radius);display:inline-flex;gap:8px;min-height:34px;padding:3px 9px 3px 10px;position:relative;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.courses__sort:hover{background:linear-gradient(180deg,#141820f0,#0e0e13d1);border-color:#94a3b847}.courses__sort:focus-within{border-color:#94a3b875;box-shadow:0 0 0 3px #94a3b81a}.courses__sort:after{border-bottom:1.5px solid var(--text-3);border-right:1.5px solid var(--text-3);content:"";height:7px;pointer-events:none;position:absolute;right:11px;top:50%;transform:translateY(-65%) rotate(45deg);width:7px}.courses__sort span{color:var(--text-4);font-size:12px;font-weight:650}.courses__sort select{appearance:none;-webkit-appearance:none;background:#ffffff08;border:0;border-radius:6px;color:var(--text-1);color-scheme:dark;cursor:pointer;font-size:12px;font-weight:650;line-height:1.2;min-height:26px;min-width:128px;outline:none;padding:5px 27px 5px 9px}.courses__sort select:focus{background:hsla(0,0%,100%,.055)}.courses__sort select::-ms-expand{display:none}.courses__sort option{background:#111114;color:#f4f4f5}.courses__grid{grid-gap:14px;animation:fadeUp .4s ease .08s both;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.courses__empty{color:var(--text-4);grid-column:1/-1;padding:64px 24px;text-align:center}.courses__empty svg{display:block;height:36px;margin:0 auto 12px;opacity:.4;width:36px}.courses__empty p{font-size:14px}.course-card{background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:13px;overflow:hidden;padding:18px;position:relative;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}.course-card:before{background:#e4e4e7;border-radius:0;content:"";height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.course-card:hover{background:#14141ad1;border-color:#94a3b857;box-shadow:0 8px 24px #00000040;transform:translateY(-2px)}.course-card:hover:before{transform:scaleX(1)}.course-card__strip{background:#e4e4e7;border-radius:0;height:2px;left:0;position:absolute;top:0;transition:width .5s ease}.course-card__tags{align-items:center;display:flex;gap:8px;justify-content:space-between}.tag--category svg{height:11px;width:11px}.course-card__title{color:var(--text-1);font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0}.course-card__subtitle{color:var(--text-3);font-size:12px;margin:2px 0 0}.course-card__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-3);display:-webkit-box;font-size:13px;line-height:1.55;margin:0;overflow:hidden}.course-card__meta{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:7px;padding-top:12px}.course-card__meta-item{align-items:center;background:hsla(0,0%,100%,.025);border:1px solid #94a3b824;border-radius:5px;color:var(--text-3);display:inline-flex;font-size:12px;gap:5px;line-height:1;min-height:23px;padding:3px 7px}.course-card__meta-item svg{height:12px;width:12px}.course-card__meta-item--material{background:#22c55e12;border-color:#4ade8038;color:var(--green)}.course-card__author{color:var(--text-4);font-size:12px;margin-top:-2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-card__focus{grid-gap:3px;background:#ffffff08;border:1px solid #94a3b824;border-radius:6px;display:grid;gap:3px;padding:9px 10px}.course-card__focus span{color:var(--text-4);font-size:11px;font-weight:600;letter-spacing:0;text-transform:uppercase}.course-card__focus strong{color:var(--text-2);font-size:12px;line-height:1.35;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-card__progress{display:flex;flex-direction:column;gap:5px}.course-card__progress-top{align-items:center;display:flex;justify-content:space-between}.course-card__progress-label{color:var(--text-3);font-size:11px}.course-card__progress-pct{color:var(--text-2);font-size:11px;font-weight:600}.course-card__bar{background:var(--border-light);border-radius:2px;height:4px;overflow:hidden}.course-card__bar-fill{border-radius:2px;height:100%;transition:width .5s ease}.course-card__bar-fill--done{background:var(--green)}.course-card__bar-fill--active{background:#e4e4e7}.course-card__bar-fill--empty{background:var(--border-light)}.course-card__cta{align-items:center;display:flex;justify-content:space-between;margin-top:auto}.course-card__cta-text{color:var(--text-2);font-size:13px;font-weight:500}.course-card__cta-arrow{color:var(--text-2);height:14px;transition:transform .15s ease;width:14px}.course-card:hover .course-card__cta-arrow{transform:translateX(3px)}.course-card__done-badge{background:var(--green-dim);border-radius:4px;color:var(--green);font-size:11px;font-weight:600;padding:2px 8px}.course-card-skeleton{background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:13px;padding:18px}@media (max-width:640px){.courses{padding:20px 14px 36px}.courses__grid{grid-template-columns:1fr}.courses__header{align-items:flex-start;flex-direction:column}.courses__view-tabs{overflow-x:auto;width:100%}.courses__view-tab{flex:1 0 auto;justify-content:center}.courses__sort{justify-content:space-between;width:100%}.resume-overlay{align-items:flex-end;padding:12px}.resume-panel{padding:14px}.resume-course{grid-template-columns:minmax(0,1fr) 18px}.resume-course__progress{grid-column:1/-1;justify-items:stretch}.resume-course__bar{width:100%}.resume-panel__actions{justify-content:stretch}.resume-panel__primary,.resume-panel__secondary{flex:1 1}}.learning-page{margin:0 auto;max-width:1180px;min-height:calc(100vh - 52px);padding:28px 24px 52px;width:100%}.learning-header{align-items:flex-end;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.learning-kicker{color:var(--text-4);display:block;font-size:11px;font-weight:760;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.learning-empty h2,.learning-focus h2,.learning-header h1,.learning-section__head h2{color:var(--text-1);letter-spacing:0;margin:0}.learning-header h1{font-size:28px;line-height:1.12}.learning-header p{color:var(--text-3);font-size:13px;margin:7px 0 0}.learning-header__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.learning-empty a,.learning-focus__side a,.learning-link{align-items:center;background:#f4f4f5eb;border:1px solid #f4f4f55c;border-radius:var(--radius-sm);color:#111;display:inline-flex;font-size:13px;font-weight:720;gap:7px;justify-content:center;min-height:36px;padding:8px 12px;text-decoration:none}button.learning-link{cursor:pointer;font-family:inherit}.learning-link--muted{background:hsla(0,0%,100%,.035);border-color:#94a3b833;color:var(--text-2)}.learning-loading{grid-gap:14px;display:grid;gap:14px}.learning-loading__hero{border-radius:var(--radius-lg);height:190px}.learning-loading__grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.learning-loading__card{border-radius:var(--radius-lg);height:116px}.learning-completed,.learning-empty,.learning-focus,.learning-recommendation,.learning-stat{background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius-lg)}.learning-focus{grid-gap:18px;align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 210px;margin-bottom:14px;padding:20px}.learning-focus__main h2{font-size:24px;line-height:1.2}.learning-focus__main p{color:var(--text-2);font-size:14px;margin:8px 0 0}.learning-focus__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.learning-focus__meta span{align-items:center;border:1px solid #94a3b826;border-radius:var(--radius-sm);color:var(--text-2);display:inline-flex;font-size:12px;gap:6px;min-height:28px;padding:5px 9px}.learning-focus__side{grid-gap:12px;align-content:center;background:hsla(0,0%,100%,.025);border:1px solid #94a3b824;border-radius:var(--radius);display:grid;gap:12px;padding:16px}.learning-focus__side strong{color:var(--text-1);font-size:34px;line-height:1}.learning-focus__side div{background:#94a3b824;border-radius:999px;height:6px;overflow:hidden}.learning-focus__side div span{background:#e4e4e7;border-radius:inherit;display:block;height:100%}.learning-empty{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:42px minmax(0,1fr) auto;margin-bottom:14px;min-height:150px;padding:18px}.learning-empty p,.learning-empty>svg{color:var(--text-3)}.learning-empty p{font-size:13px;margin:6px 0 0}.learning-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.learning-stat{min-height:108px;padding:14px}.learning-stat div{background:#ffffff0d;border-radius:var(--radius-sm);color:var(--text-2);display:grid;height:30px;margin-bottom:12px;place-items:center;width:30px}.learning-stat strong{color:var(--text-1);display:block;font-size:22px;line-height:1}.learning-stat span{color:var(--text-3);display:block;font-size:12px;margin-top:6px}.learning-section{margin-top:22px}.learning-section__head{align-items:flex-end;display:flex;gap:12px;justify-content:space-between;margin-bottom:11px}.learning-section__head h2{font-size:18px}.learning-section__head>strong{border:1px solid #94a3b829;border-radius:999px;color:var(--text-2);display:grid;font-size:12px;height:28px;min-width:30px;padding:0 8px;place-items:center}.learning-list-empty{border:1px dashed #94a3b82e;border-radius:var(--radius-lg);color:var(--text-4);padding:24px;text-align:center}.learning-recommendation span{color:var(--text-4);display:block;font-size:11px;font-weight:700;margin-bottom:4px}.learning-completed h3,.learning-recommendation h3{color:var(--text-1);font-size:15px;line-height:1.32;margin:0}.learning-completed-grid,.learning-recommendations{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.learning-completed,.learning-recommendation{color:inherit;text-decoration:none}.learning-completed{grid-gap:10px;display:grid;gap:10px;grid-template-columns:28px minmax(0,1fr);padding:13px}.learning-completed svg{color:#fbbf24}.learning-completed span{color:var(--text-3);display:block;font-size:12px;margin-top:5px}.learning-recommendation{padding:15px}.learning-recommendation p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-3);display:-webkit-box;font-size:13px;line-height:1.45;margin:8px 0 13px;min-height:42px;overflow:hidden}.learning-recommendation b{align-items:center;color:var(--text-2);display:inline-flex;font-size:12px;gap:5px}.learning-modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030706a8;display:grid;inset:0;padding:18px;place-items:center;position:fixed;z-index:60}.learning-modal__panel{background:#0c0c10f5;border:1px solid #94a3b82e;border-radius:var(--radius-lg);box-shadow:0 28px 80px #0000006b;max-height:min(680px,calc(100vh - 36px));overflow:auto;padding:18px;width:min(620px,100%)}.learning-modal__head{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.learning-modal__head h2{color:var(--text-1);font-size:19px;line-height:1.2;margin:0}.learning-modal__head button{background:#ffffff0a;border:1px solid #94a3b82e;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;font-size:20px;height:34px;line-height:1;width:34px}.learning-manage-list{grid-gap:9px;display:grid;gap:9px}.learning-manage-card{grid-gap:10px;align-items:center;background:hsla(0,0%,100%,.035);border:1px solid #94a3b829;border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.learning-manage-card a{color:inherit;min-width:0;text-decoration:none}.learning-manage-card a>span{color:var(--text-4);display:block;font-size:11px;font-weight:760;margin-bottom:4px}.learning-manage-card h3{color:var(--text-1);font-size:14px;line-height:1.3;margin:0;overflow-wrap:anywhere}.learning-manage-card div{color:var(--text-3);display:flex;flex-wrap:wrap;font-size:12px;gap:7px;margin-top:8px}.learning-manage-card b{color:#bbf7d0;font-weight:780}.learning-manage-card button{align-items:center;background:#f8717114;border:1px solid #f8717147;border-radius:var(--radius-sm);color:#fecaca;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:720;gap:7px;justify-content:center;min-height:34px;padding:7px 11px}.learning-manage-card button:disabled{cursor:wait;opacity:.56}@media (max-width:900px){.learning-empty,.learning-focus{grid-template-columns:1fr}.learning-completed-grid,.learning-recommendations,.learning-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.learning-page{padding:20px 14px 36px}.learning-header{align-items:flex-start;flex-direction:column;grid-template-columns:1fr}.learning-header__actions{justify-content:flex-start;width:100%}.learning-completed-grid,.learning-loading__grid,.learning-recommendations,.learning-stats{grid-template-columns:1fr}.learning-empty a,.learning-link{width:100%}.learning-manage-card{grid-template-columns:1fr}.learning-manage-card button{width:100%}}.course-detail{margin:0 auto;max-width:1120px;min-height:calc(100vh - 52px);padding:28px 24px 52px;position:relative;width:100%;z-index:1}.course-detail__loading{display:flex;flex-direction:column;gap:10px}.course-detail__loading .skeleton{border-radius:var(--radius-lg);height:72px}.cd-lessons__empty,.course-detail__empty{background:#0c0c108a;border:1px dashed #94a3b838;border-radius:var(--radius-lg);gap:8px;justify-content:center;min-height:150px}.breadcrumb,.cd-lessons__empty,.course-detail__empty{align-items:center;color:var(--text-3);display:flex;font-size:13px}.breadcrumb{gap:6px;margin-bottom:18px;min-width:0}.breadcrumb a,.breadcrumb span{align-items:center;display:inline-flex;gap:4px;min-width:0}.breadcrumb a{color:var(--text-3);transition:color .15s}.breadcrumb a:hover{color:var(--text-1)}.breadcrumb span{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb__sep{color:var(--text-4);flex:0 0 auto}.cd-hero{grid-gap:18px;align-items:stretch;background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius-lg);box-shadow:0 22px 60px #00000038;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 220px;margin-bottom:16px;padding:20px}.cd-hero__main{min-width:0}.cd-info__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tag{align-items:center;border-radius:4px;display:inline-flex;font-size:11px;font-weight:600;gap:5px;padding:3px 8px}.tag--category{background:hsla(0,0%,100%,.035);border:1px solid #94a3b833;color:var(--text-2)}.tag--beginner{background:#22c55e1a;color:#4ade80}.tag--intermediate{background:#f59e0b1a;color:#fbbf24}.tag--advanced{background:#ef44441a;color:#f87171}.cd-hero__title{color:var(--text-1);font-size:clamp(26px,4vw,42px);font-weight:800;letter-spacing:0;line-height:1.05;margin:0;overflow-wrap:anywhere}.cd-hero__subtitle{color:var(--text-2);font-size:14px;line-height:1.5;margin:8px 0 0;max-width:720px;overflow-wrap:anywhere}.cd-description{margin-top:13px;max-width:760px}.cd-description__text{color:var(--text-3);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.cd-description__text--collapsed{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cd-text-toggle,.lesson-row__more{align-items:center;background:#0000;border:none;color:var(--text-1);cursor:pointer;display:inline-flex;font-size:12px;font-weight:650;min-height:28px;padding:0}.cd-text-toggle:hover,.lesson-row__more:hover{color:#fff}.cd-info__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.cd-info__meta-item{align-items:center;background:#080a0f6b;border:1px solid #94a3b82b;border-radius:var(--radius-sm);color:var(--text-2);display:inline-flex;font-size:12px;gap:6px;min-height:30px;padding:6px 9px}.cd-history{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 120px;margin-top:14px}.cd-history__item{background:hsla(0,0%,100%,.025);border:1px solid #94a3b826;border-radius:var(--radius);min-width:0;padding:10px}.cd-history__item small,.cd-history__item span{color:var(--text-4);display:block;font-size:11px}.cd-history__item strong{color:var(--text-1);display:block;font-size:13px;line-height:1.35;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cd-history__item small{color:var(--text-3);margin-top:4px}.cd-progress{background:hsla(0,0%,100%,.025);border:1px solid #94a3b829;border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:center;min-width:0;padding:16px}.cd-progress__pct{color:var(--text-1);font-size:38px;font-weight:800;letter-spacing:0;line-height:1;text-align:center}.cd-progress__sub{color:var(--text-3);font-size:12px;margin:5px 0 12px;text-align:center}.cd-progress__bar{background:#94a3b824;border-radius:999px;height:7px;margin-bottom:14px;overflow:hidden}.cd-progress__fill{background:linear-gradient(90deg,#e4e4e7,#a1a1aa);border-radius:inherit;height:100%;transition:width .35s ease}.cd-progress__fill--done{background:#86efac}.btn-start{align-items:center;background:#f4f4f5eb;border:1px solid #94a3b847;border-radius:var(--radius-sm);color:#111;cursor:pointer;display:inline-flex;font-size:13px;font-weight:650;gap:7px;justify-content:center;min-height:38px;padding:8px 14px;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;width:100%}.btn-start:hover{background:#fff;border-color:#f4f4f5b8;box-shadow:0 10px 28px #0000003d}.btn-start:active{transform:scale(.99)}.cd-progress__done{align-items:center;background:#22c55e14;border:1px solid #22c55e52;border-radius:var(--radius-sm);color:#86efac;display:flex;font-size:13px;font-weight:650;gap:6px;justify-content:center;min-height:38px}.cd-lessons{background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius-lg);padding:16px}.cd-lessons__heading{display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.cd-lessons__heading h2{color:var(--text-1);font-size:16px;font-weight:740}.cd-lessons__heading span{color:var(--text-3);display:block;font-size:12px;margin-top:2px}.cd-lessons__tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.cd-lesson-search{align-items:center;background:#080a0f6b;border:1px solid #94a3b829;border-radius:var(--radius);color:var(--text-4);display:inline-flex;flex:1 1 240px;gap:8px;min-height:36px;padding:8px 11px}.cd-lesson-search input{background:#0000;border:0;color:var(--text-1);font-size:13px;outline:none;width:100%}.cd-lesson-search input::placeholder{color:var(--text-4)}.cd-lesson-filters{align-items:center;background:#080a0f6b;border:1px solid #94a3b829;border-radius:var(--radius);display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px}.cd-lesson-filters button{background:#0000;border:0;border-radius:5px;color:var(--text-3);cursor:pointer;font-size:12px;font-weight:650;min-height:28px;padding:5px 9px}.cd-lesson-filters button.active,.cd-lesson-filters button:hover{background:var(--bg-hover);color:var(--text-1)}.cd-lesson-sort{align-items:center;background:linear-gradient(180deg,#11141cdb,#080a0fa8);border:1px solid #94a3b829;border-radius:var(--radius);display:inline-flex;gap:8px;min-height:36px;padding:4px 10px 4px 11px;position:relative;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.cd-lesson-sort:hover{background:linear-gradient(180deg,#141820eb,#0a0c12bd);border-color:#94a3b847}.cd-lesson-sort:focus-within{border-color:#94a3b875;box-shadow:0 0 0 3px #94a3b81a}.cd-lesson-sort:after{border-bottom:1.5px solid var(--text-3);border-right:1.5px solid var(--text-3);content:"";height:7px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-65%) rotate(45deg);width:7px}.cd-lesson-sort span{color:var(--text-4);font-size:12px;font-weight:650}.cd-lesson-sort select{appearance:none;-webkit-appearance:none;background:#ffffff08;border:0;border-radius:6px;color:var(--text-1);color-scheme:dark;cursor:pointer;font-size:12px;font-weight:650;line-height:1.2;min-height:26px;min-width:142px;outline:none;padding:5px 28px 5px 9px}.cd-lesson-sort select:focus{background:hsla(0,0%,100%,.055)}.cd-lesson-sort select::-ms-expand{display:none}.cd-lesson-sort option{background:#111114;color:#f4f4f5}.cd-lessons__list{gap:12px}.cd-chapter,.cd-lessons__list{display:flex;flex-direction:column}.cd-chapter{gap:8px}.cd-chapter__head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;padding:10px 2px 2px}.cd-chapter__head h3{color:var(--text-1);font-size:14px;font-weight:720;margin:0}.cd-chapter__head p{color:var(--text-3);font-size:12px;margin:3px 0 0}.cd-chapter__meta{align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end}.cd-chapter__head span{color:var(--text-3);font-size:12px;white-space:nowrap}.cd-course-materials{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.lesson-row__material,.material-link{align-items:center;background:#34d39912;border:1px solid #34d39942;border-radius:var(--radius-sm);color:#a7f3d0;cursor:pointer;display:inline-flex;font-size:12px;font-weight:620;gap:5px;min-height:28px;transition:background .15s,border-color .15s,color .15s}.material-link{max-width:240px;overflow:hidden;padding:5px 9px;text-overflow:ellipsis;white-space:nowrap}.material-link--course{max-width:min(100%,420px);min-height:34px;padding:7px 11px}.lesson-row__material{margin-top:7px;max-width:100%;padding:4px 8px;width:-webkit-fit-content;width:fit-content}.lesson-row__material:hover,.material-link:hover{background:#34d3991c;border-color:#34d3996b;color:#d1fae5}.lesson-row{grid-gap:9px;align-items:center;animation:fadeUp .3s ease both;background:hsla(0,0%,100%,.025);border:1px solid #94a3b824;border-radius:var(--radius);cursor:pointer;display:grid;gap:9px;grid-template-columns:28px 24px minmax(0,1fr) auto;padding:12px;transition:border-color .16s,background .16s,transform .14s}.lesson-row:hover{background:#14141ad1;border-color:#94a3b857;transform:translateY(-1px)}.lesson-row--watched{background:hsla(0,0%,100%,.018)}.lesson-row__num{color:var(--text-4);font-size:11px;text-align:right}.lesson-row__check{align-items:center;background:#080a0f66;border:1px solid #94a3b847;border-radius:50%;color:#111;cursor:pointer;display:flex;height:22px;justify-content:center;padding:0;transition:border-color .15s,background .15s,opacity .15s;width:22px}.lesson-row__check:hover:not(:disabled){border-color:#f4f4f5b3}.lesson-row__check:disabled{cursor:default;opacity:.5}.lesson-row__check--done{background:#e4e4e7;border-color:#f4f4f5b3}.lesson-row__check-icon{color:#111}.lesson-row__play{display:none}.lesson-row__content{min-width:0}.lesson-row__mainline{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.lesson-row__title{color:var(--text-1);font-size:14px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.lesson-row__title--watched{color:var(--text-3);text-decoration:line-through;-webkit-text-decoration-color:var(--text-4);text-decoration-color:var(--text-4)}.lesson-row__description-wrap{margin-top:4px}.lesson-row__description{color:var(--text-3);font-size:12px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.lesson-row__description--collapsed{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lesson-row__more{font-size:11px;margin-top:1px;min-height:24px}.lesson-row__duration{align-items:center;background:#080a0f5c;border:1px solid #94a3b829;border-radius:999px;color:var(--text-3);display:inline-flex;font-size:11px;gap:4px;min-height:26px;padding:4px 8px;white-space:nowrap}.lesson-row__duration--mobile{display:none}@media (max-width:860px){.cd-hero,.cd-history{grid-template-columns:1fr}.cd-progress{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) minmax(150px,auto)}.cd-progress__pct,.cd-progress__sub{margin:0;text-align:left}.cd-progress__bar{margin:0}.lesson-row{align-items:start;gap:10px;grid-template-areas:"check content";grid-template-columns:24px minmax(0,1fr);padding:12px}.lesson-row__num{display:none!important}.lesson-row__check{grid-area:check;height:22px;margin-top:1px;width:22px}.lesson-row__content{grid-area:content}.lesson-row>.lesson-row__duration{display:none}.lesson-row__duration--mobile{display:inline-flex;flex:0 0 auto;font-size:10px;min-height:23px;padding:3px 7px}}@media (max-width:640px){.course-detail{padding:16px 12px 34px}.cd-hero,.cd-lessons{border-radius:var(--radius);padding:14px}.breadcrumb{font-size:12px;margin-bottom:12px}.cd-hero__title{font-size:25px;line-height:1.12}.cd-description__text,.cd-hero__subtitle{font-size:12px}.cd-progress{align-items:stretch;display:flex}.cd-progress__pct,.cd-progress__sub{text-align:center}.cd-progress__bar{margin-bottom:14px}.cd-info__meta{gap:6px}.cd-info__meta-item{flex:1 1 auto;font-size:11px;min-width:-webkit-max-content;min-width:max-content}.cd-lessons__heading{margin-bottom:10px}.cd-chapter__head{flex-direction:column;gap:8px}.cd-chapter__meta{justify-content:flex-start;width:100%}.cd-lesson-search,.cd-lesson-sort,.cd-lessons__tools{width:100%}.cd-lesson-sort{justify-content:space-between}.lesson-row{align-items:start;border-radius:var(--radius);gap:5px 10px;grid-template-areas:"check content";grid-template-columns:24px minmax(0,1fr);padding:11px}.lesson-row__num{display:none}.lesson-row__check{grid-area:check;height:22px;margin-top:1px;width:22px}.lesson-row__content{grid-area:content}.lesson-row__mainline{align-items:flex-start;gap:8px}.lesson-row__title{font-size:13px;line-height:1.35}.lesson-row__description{font-size:11px;line-height:1.42}.lesson-row__more{font-size:11px;min-height:22px}}.watch{--watch-ease:cubic-bezier(0.22,1,0.36,1);--watch-ease-soft:cubic-bezier(0.16,1,0.3,1);grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(300px,340px);margin:0 auto;max-width:1320px;min-height:calc(100vh - 52px);padding:24px;width:100%}.watch__main{display:flex;flex-direction:column;gap:14px;min-width:0}.watch-notes,.watch__hero,.watch__info,.watch__nav,.watch__player-card,.watch__sidebar{animation:watch-panel-in .52s var(--watch-ease-soft) both;background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius-lg);box-shadow:0 22px 60px #0000002e;will-change:transform,opacity}.watch__hero{grid-gap:16px;align-items:center;animation-delay:20ms;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 178px;padding:18px}.watch__hero-main{min-width:0}.watch__eyebrow{animation:watch-fade-up .52s var(--watch-ease-soft) 80ms both;color:var(--text-3);display:block;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.watch__heading{animation:watch-fade-up .56s var(--watch-ease-soft) .13s both;color:var(--text-1);font-size:clamp(22px,3vw,34px);font-weight:780;letter-spacing:0;line-height:1.12;margin:0;overflow-wrap:anywhere}.watch__meta{animation:watch-fade-up .56s var(--watch-ease-soft) .18s both;display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.watch__meta span{align-items:center;background:#080a0f6b;border:1px solid #94a3b82b;border-radius:var(--radius-sm);color:var(--text-2);display:inline-flex;font-size:12px;gap:6px;min-height:29px;padding:5px 9px;transition:border-color .22s var(--watch-ease),background .22s var(--watch-ease),color .22s var(--watch-ease),transform .22s var(--watch-ease)}.watch__meta span:hover{background:#14141ab8;border-color:#94a3b84d;transform:translateY(-1px)}.watch__meta-done{background:#22c55e14!important;border-color:#22c55e4d!important;color:#86efac!important}.watch__hero-progress{animation:watch-scale-in .54s var(--watch-ease-soft) .18s both;background:hsla(0,0%,100%,.025);border:1px solid #94a3b826;border-radius:var(--radius);min-width:0;padding:13px}.watch__hero-progress strong{color:var(--text-1);display:block;font-size:28px;font-weight:800;line-height:1}.watch__hero-progress span{color:var(--text-3);display:block;font-size:12px;margin-top:4px}.watch__hero-bar{background:#94a3b824;border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.watch__hero-fill{background:#e4e4e7;border-radius:inherit;height:100%;transition:width .72s var(--watch-ease)}.watch__player-card{animation-delay:90ms;overflow:hidden;padding:10px}.player{animation:watch-player-in .62s var(--watch-ease-soft) .17s both;aspect-ratio:1.7778;aspect-ratio:var(--watch-player-aspect,1.7778);background:#020202;border-radius:var(--radius);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.045);cursor:pointer;overflow:hidden;position:relative;touch-action:manipulation;transition:box-shadow .26s var(--watch-ease),background .26s var(--watch-ease);width:100%}.player--idle,.player--idle *,.player--idle .player__video,.player--idle .player__video-embed,.player--idle .player__video-embed iframe{cursor:none!important}.player__video{display:block;height:100%;object-fit:contain;width:100%}.player__video-embed{border:0;object-fit:cover}.player__video-embed iframe{border:0;display:block;height:100%;width:100%}.player__placeholder{background:#08080b;flex-direction:column;gap:12px;height:100%;width:100%}.player__placeholder,.player__placeholder-icon{align-items:center;display:flex;justify-content:center}.player__placeholder-icon{animation:watch-soft-pulse 1.8s ease-in-out infinite;background:#f4f4f5eb;border-radius:50%;color:#111;height:58px;width:58px}.player__placeholder-icon svg{height:20px;width:20px}.player__placeholder-text{color:var(--text-3);font-size:13px}.player__overlay{display:flex;flex-direction:column;inset:0;justify-content:flex-end;position:absolute;transition:opacity .32s var(--watch-ease)}.player__overlay--hidden{opacity:0;pointer-events:none}.player__overlay--visible{opacity:1}.player__gradient{background:linear-gradient(0deg,#000000d1,#00000038 48%,#0000 72%);inset:0;position:absolute}.player__controls{padding:0 15px 14px;position:relative;transform:translateY(0);transition:transform .32s var(--watch-ease),opacity .32s var(--watch-ease);z-index:2}.player__overlay--hidden .player__controls{opacity:0;transform:translateY(10px)}.player__title-bar{color:#ffffffd1;font-size:13px;font-weight:600;margin-bottom:8px;max-width:720px;overflow:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap}.player__seek{cursor:pointer;padding:8px 0;position:relative;touch-action:manipulation}.player__seek-input{cursor:pointer;inset:0;margin:0;opacity:0;position:absolute;width:100%}.player__seek-track{background:#ffffff2b;border-radius:999px;height:5px;overflow:hidden;pointer-events:none;position:relative;transition:height .22s var(--watch-ease),transform .22s var(--watch-ease)}.player__seek:focus-within .player__seek-track,.player__seek:hover .player__seek-track{height:7px;transform:translateY(-1px)}.player__seek-buf,.player__seek-fill{border-radius:inherit;height:100%;position:absolute;transition:width .26s linear;will-change:width}.player__seek-buf{background:#ffffff47}.player__seek-fill{background:#e4e4e7}.player__seek-fill--playing{box-shadow:0 0 14px #f4f4f547}.player__seek-thumb{background:#fff;border-radius:50%;box-shadow:0 0 10px #00000059;height:12px;position:absolute;right:-6px;top:50%;transform:translateY(-50%);transition:transform .24s var(--watch-ease),box-shadow .24s var(--watch-ease),opacity .22s var(--watch-ease);width:12px}.player__seek-thumb--playing{transform:translateY(-50%) scale(1.06)}.player__row{gap:7px;margin-top:5px}.player__btn,.player__row{align-items:center;display:flex}.player__btn{border-radius:var(--radius-sm);color:#ffffffd1;height:30px;justify-content:center;padding:0;touch-action:manipulation;transition:background .22s var(--watch-ease),color .22s var(--watch-ease),transform .18s var(--watch-ease);width:30px}.player__btn:hover{background:#ffffff1a;color:#fff}.player__btn:active{transform:scale(.96)}.player__btn--active{background:#f4f4f5eb;color:#111}.player__btn svg{height:15px;width:15px}.player__btn--lg{background:#f4f4f5eb;color:#111;height:34px;width:34px}.player__btn--lg:hover{background:#fff;color:#111}.player__btn--lg svg{height:16px;width:16px}.player__time{font-feature-settings:"tnum";color:#ffffff9e;font-size:12px;font-variant-numeric:tabular-nums;margin:0 4px;min-width:-webkit-max-content;min-width:max-content;white-space:nowrap}.player__spacer{flex:1 1}.player__vol{accent-color:#e4e4e7;cursor:pointer;height:3px;width:62px}.player__big-play{inset:0;pointer-events:none;position:absolute;z-index:3}.player__big-play,.player__big-play-btn{align-items:center;display:flex;justify-content:center}.player__big-play-btn{animation:watch-play-in .42s var(--watch-ease-soft) both;background:#f4f4f5f0;border-radius:50%;box-shadow:0 16px 45px #00000061;color:#111;height:62px;pointer-events:auto;transition:transform .24s var(--watch-ease),background .24s var(--watch-ease),box-shadow .24s var(--watch-ease);width:62px}.player__big-play-btn:hover{background:#fff;box-shadow:0 20px 56px #0000006b;transform:scale(1.05)}.player__big-play-btn svg{height:22px;width:22px}.player__status{align-items:center;animation:watch-fade-in .22s ease both;background:#0000005c;display:flex;flex-direction:column;gap:12px;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:4}.player__status--error{background:#0000009e}.player__spinner{animation:player-spin .9s linear infinite;border:3px solid #ffffff2e;border-radius:50%;border-top-color:#fff;height:34px;width:34px}.player__status-text{color:#fffffff0;font-size:13px;font-weight:600;max-width:520px;padding:0 16px;text-align:center}@keyframes player-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.watch__info{align-items:flex-start;animation-delay:.15s;display:flex;gap:16px;justify-content:space-between;padding:16px}.watch__info>div:first-child{min-width:0}.watch__title{color:var(--text-1);font-size:16px;font-weight:740;margin:0 0 7px}.watch__desc{line-height:1.6;margin:0}.watch__content,.watch__desc{color:var(--text-2);font-size:13px;max-width:780px;overflow-wrap:anywhere}.watch__content{line-height:1.7;margin-top:9px;white-space:pre-wrap}.watch-materials{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.watch-material{align-items:center;background:#34d39912;border:1px solid #34d39947;border-radius:var(--radius-sm);color:#a7f3d0;display:inline-flex;font-size:12px;font-weight:650;gap:6px;max-width:320px;min-height:34px;overflow:hidden;padding:7px 10px;text-overflow:ellipsis;transition:background .15s,border-color .15s,color .15s,transform .1s;white-space:nowrap}.watch-material:hover{background:#34d3991c;border-color:#34d39970;color:#d1fae5}.watch-material:active{transform:translateY(1px)}.watch__actions{align-items:center;display:flex;flex:0 0 auto;gap:8px}.btn-mark{align-items:center;background:#f4f4f5eb;border:1px solid #94a3b847;border-radius:var(--radius-sm);color:#111;cursor:pointer;display:inline-flex;font-size:13px;font-weight:650;gap:7px;justify-content:center;min-height:36px;min-width:206px;padding:8px 13px;transition:background .24s var(--watch-ease),border-color .24s var(--watch-ease),box-shadow .24s var(--watch-ease),transform .18s var(--watch-ease),color .24s var(--watch-ease);white-space:nowrap}.btn-mark:hover:not(:disabled){background:#fff;border-color:#f4f4f5b8;box-shadow:0 10px 28px #0000003d}.btn-mark:active:not(:disabled){transform:scale(.99)}.btn-mark:disabled{cursor:wait;opacity:1}.btn-mark--done{background:#22c55e14;border-color:#22c55e52;color:#86efac}.btn-mark--done:hover:not(:disabled){background:#22c55e1f;border-color:#22c55e73;box-shadow:none}.btn-mark svg{height:14px;width:14px}.btn-mark__icon{align-items:center;display:inline-flex;flex:0 0 auto;height:16px;justify-content:center;width:16px}.btn-mark__label{display:inline-block;min-width:146px;text-align:left}.btn-mark__spinner{animation:player-spin .7s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid #0000;height:14px;opacity:.78;width:14px}.btn-mark--pending{box-shadow:none!important;cursor:pointer;transform:none!important}.btn-mark--pending:hover{box-shadow:0 8px 22px #00000029!important}.watch-notes{animation-delay:.18s;padding:16px}.watch-notes__head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.watch-notes__kicker{color:var(--text-4);display:block;font-size:11px;font-weight:740;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.watch-notes__head h2{color:var(--text-1);font-size:16px;font-weight:740;margin:0}.watch-notes__head strong{background:hsla(0,0%,100%,.035);border:1px solid #94a3b829;border-radius:999px;color:var(--text-2);display:grid;font-size:12px;height:26px;min-width:28px;padding:0 8px;place-items:center}.watch-notes__form{grid-gap:9px;display:grid;gap:9px;margin-bottom:12px}.watch-notes__form textarea{background:#080a0f6b;border:1px solid #94a3b82e;border-radius:var(--radius);color:var(--text-1);font:inherit;font-size:13px;line-height:1.5;min-height:82px;outline:none;padding:10px 11px;resize:vertical;width:100%}.watch-notes__form textarea:focus{border-color:#94a3b86b;box-shadow:0 0 0 3px #94a3b814}.watch-notes__form-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.watch-notes__form-row>span{align-items:center;color:var(--text-3);display:inline-flex;font-size:12px;gap:6px}.watch-notes__form-actions{align-items:center;display:inline-flex;gap:7px}.watch-notes__ghost,.watch-notes__save{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;justify-content:center;min-height:32px;padding:7px 11px}.watch-notes__save{background:#f4f4f5eb;border:1px solid #f4f4f561;color:#111}.watch-notes__save:disabled{cursor:wait;opacity:.72}.watch-notes__ghost{background:#0000;border:1px solid #94a3b829;color:var(--text-2)}.watch-notes__error{color:#fca5a5;font-size:12px;margin:0}.watch-notes__list{grid-gap:8px;display:grid;gap:8px}.watch-notes__empty{align-items:center;border:1px dashed #94a3b82e;border-radius:var(--radius);color:var(--text-4);display:flex;font-size:13px;gap:8px;justify-content:center;min-height:54px}.watch-note{grid-gap:10px;align-items:start;background:hsla(0,0%,100%,.025);border:1px solid #94a3b824;border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:74px minmax(0,1fr) auto;padding:10px}.watch-note__time{font-feature-settings:"tnum";align-items:center;background:#080a0f61;border:1px solid #94a3b82e;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;display:inline-flex;font-size:12px;font-variant-numeric:tabular-nums;gap:5px;justify-content:center;min-height:28px;padding:5px 8px}.watch-note__time:hover{border-color:#94a3b852;color:var(--text-1)}.watch-note p{color:var(--text-2);font-size:13px;line-height:1.55;margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.watch-note__actions{display:inline-flex;gap:6px}.watch-note__actions button{background:#0000;border:1px solid #94a3b824;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;font-size:12px;min-height:28px;padding:5px 8px}.watch-note__actions button:hover{background:#ffffff0a;color:var(--text-1)}.watch__nav{grid-gap:10px;animation-delay:.21s;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.btn-nav{align-items:center;background:hsla(0,0%,100%,.025);border:1px solid #94a3b82b;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;display:flex;font-size:13px;font-weight:650;gap:6px;justify-content:center;min-height:42px;padding:9px 14px;transition:border-color .24s var(--watch-ease),color .24s var(--watch-ease),background .24s var(--watch-ease),transform .18s var(--watch-ease),box-shadow .24s var(--watch-ease)}.btn-nav:hover:not(:disabled){background:#14141ad1;border-color:#94a3b857;box-shadow:0 10px 26px #0000002e;color:var(--text-1)}.btn-nav:active:not(:disabled){transform:scale(.99)}.btn-nav:disabled{cursor:default;opacity:.35}.btn-nav svg{height:14px;width:14px}.btn-nav--next{background:#f4f4f5eb;border-color:#f4f4f570;color:#111}.btn-nav--next:hover:not(:disabled){background:#fff;border-color:#f4f4f5b8;color:#111}.watch__sidebar{animation-delay:.13s;display:flex;flex-direction:column;max-height:calc(100vh - 90px);min-width:0;overflow:hidden;position:-webkit-sticky;position:sticky;top:66px}.watch__sidebar-head{align-items:center;border-bottom:1px solid #94a3b81f;display:flex;flex:0 0 auto;gap:10px;justify-content:space-between;padding:15px 15px 12px}.watch__sidebar-label{color:var(--text-1);font-size:14px;font-weight:740}.watch__sidebar-count{align-items:center;background:hsla(0,0%,100%,.025);border:1px solid #94a3b82b;border-radius:999px;color:var(--text-2);display:inline-flex;font-size:12px;font-weight:650;min-height:25px;padding:3px 8px}.watch__sidebar-prog{background:#94a3b824;flex:0 0 auto;height:4px}.watch__sidebar-prog-fill{background:#e4e4e7;height:100%;transition:width .76s var(--watch-ease)}.watch__sidebar-list{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:10px}.sidebar-chapter{display:flex;flex-direction:column;gap:7px}.sidebar-chapter__title{color:var(--text-3);font-size:11px;font-weight:750;letter-spacing:.08em;padding:6px 4px 2px;text-transform:uppercase}.sidebar-lesson{grid-gap:9px;align-items:start;animation:watch-lesson-in .44s var(--watch-ease-soft) both;animation-delay:.18s;animation-delay:calc(.18s + var(--lesson-delay, 0ms));background:hsla(0,0%,100%,.018);border:1px solid #94a3b81f;border-radius:var(--radius);color:inherit;cursor:pointer;display:grid;gap:9px;grid-template-columns:24px 24px minmax(0,1fr);opacity:0;padding:10px;text-align:left;transform:translateY(8px);transition:border-color .24s var(--watch-ease),background .24s var(--watch-ease),transform .2s var(--watch-ease),box-shadow .24s var(--watch-ease);width:100%}.sidebar-lesson:hover{background:#14141ab8;border-color:#94a3b84d;box-shadow:0 10px 24px #00000029;transform:translateY(-1px)}.sidebar-lesson:active{transform:scale(.995)}.sidebar-lesson--active{background:#f4f4f50f;border-color:#f4f4f56b}.sidebar-lesson--watched{background:hsla(0,0%,100%,.012)}.sidebar-lesson__num{font-feature-settings:"tnum";align-items:center;background:#080a0f6b;border-radius:50%;color:var(--text-4);display:flex;font-size:11px;font-variant-numeric:tabular-nums;font-weight:650;height:24px;justify-content:center;transition:background .24s var(--watch-ease),color .24s var(--watch-ease),transform .22s var(--watch-ease);width:24px}.sidebar-lesson--active .sidebar-lesson__num{background:#f4f4f5eb;color:#111;transform:scale(1.04)}.sidebar-lesson__icon{align-items:center;color:var(--text-4);display:flex;height:24px;justify-content:center;transition:color .24s var(--watch-ease),transform .22s var(--watch-ease);width:24px}.sidebar-lesson__icon svg{height:14px;width:14px}.sidebar-lesson__icon--watched svg{color:#86efac}.sidebar-lesson__icon--active svg{color:var(--text-1)}.sidebar-lesson__body{min-width:0}.sidebar-lesson__title{color:var(--text-2);font-size:13px;font-weight:620;line-height:1.35;overflow-wrap:anywhere;transition:color .24s var(--watch-ease)}.sidebar-lesson--active .sidebar-lesson__title{color:var(--text-1)}.sidebar-lesson--watched .sidebar-lesson__title{color:var(--text-3)}.sidebar-lesson__meta{color:var(--text-4);display:flex;font-size:11px;gap:7px;margin-top:4px;transition:color .24s var(--watch-ease)}@keyframes watch-panel-in{0%{opacity:0;transform:translateY(14px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes watch-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes watch-fade-in{0%{opacity:0}to{opacity:1}}@keyframes watch-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes watch-player-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes watch-play-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes watch-lesson-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes watch-active-glow{0%,to{box-shadow:0 0 0 #f4f4f500}50%{box-shadow:0 0 0 3px hsla(240,5%,96%,.035)}}@keyframes watch-check-pop{0%{transform:scale(.72)}70%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes watch-icon-pulse{0%,to{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes watch-soft-pulse{0%,to{box-shadow:0 0 0 0 #f4f4f51a}50%{box-shadow:0 0 0 8px #f4f4f505}}.sidebar-lesson--active .sidebar-lesson__meta{color:var(--text-3)}@media (max-width:980px){.watch{grid-template-columns:1fr;max-width:980px}.watch__sidebar{max-height:380px;position:static}}@media (max-width:720px){.watch{gap:12px;padding:14px 12px 28px}.watch__hero{grid-template-columns:1fr;padding:14px}.watch__hero-progress{grid-gap:6px 10px;align-items:center;display:grid;gap:6px 10px;grid-template-columns:auto minmax(0,1fr)}.watch__hero-bar{grid-column:1/-1;margin-top:4px}.watch__player-card{border-radius:var(--radius);padding:6px}.player{border-radius:var(--radius-sm)}.player__controls{padding:0 10px 10px}.player__title-bar{font-size:12px}.player__row{flex-wrap:wrap;gap:5px}.player__btn{height:34px;width:34px}.player__btn--lg{height:38px;width:38px}.player__seek{padding:12px 0}.player__time{margin:2px 0 0;order:10;width:100%}.player__vol{display:none}.watch__info{display:block;padding:14px}.watch-note{grid-template-columns:1fr}.watch-note__time{justify-content:flex-start;width:-webkit-max-content;width:max-content}.watch__actions{margin-top:13px}.btn-mark{width:100%}.watch__nav{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.watch *,.watch :after,.watch :before{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.progress-page{margin:0 auto;max-width:1160px;min-height:calc(100vh - 52px);padding:30px 24px 56px;position:relative;width:100%;z-index:1}.progress-top{align-items:flex-end;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.progress-top__copy{min-width:0}.progress-kicker{align-items:center;color:var(--text-3);display:inline-flex;font-size:11px;font-weight:760;letter-spacing:0;min-height:22px;text-transform:uppercase}.progress-top h1{color:var(--text-1);font-size:30px;font-weight:820;letter-spacing:0;line-height:1.08;margin-top:3px}.progress-continue p,.progress-summary__body p,.progress-top p{color:var(--text-3);font-size:13px;line-height:1.5}.progress-top p{margin-top:7px;max-width:660px}.progress-block-head{align-items:flex-end;display:flex;gap:14px;justify-content:space-between;margin:22px 0 10px}.progress-block-head h2{color:var(--text-1);font-size:20px;line-height:1.2;margin:0}.progress-block-head>span{align-items:center;background:#bbf7d014;border:1px solid #bbf7d047;border-radius:999px;color:#bbf7d0;display:inline-flex;font-size:12px;font-weight:760;min-height:28px;padding:5px 10px}.progress-ghost-button,.progress-primary-button{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:13px;font-weight:740;gap:8px;justify-content:center;min-height:40px;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.progress-ghost-button{background:hsla(0,0%,100%,.035);border:1px solid #94a3b833;color:var(--text-2);flex:0 0 auto;padding:9px 14px}.progress-ghost-button:hover{background:#ffffff0f;border-color:#bfdbfe57;color:var(--text-1);transform:translateY(-1px)}.progress-primary-button{background:#bbf7d0;border:1px solid #bbf7d08c;color:#07110c;padding:9px 15px}.progress-primary-button:hover{background:#dcfce7;color:#07110c;transform:translateY(-1px)}.progress-summary{grid-gap:20px;align-items:center;background:linear-gradient(135deg,#0c1210f0,#111827b8);border:1px solid #94a3b829;border-radius:var(--radius-lg);box-shadow:0 24px 70px #0000003d;display:grid;gap:20px;grid-template-columns:auto minmax(0,1fr) minmax(150px,190px);margin-bottom:12px;padding:20px}.progress-ring{--progress:0deg;background:conic-gradient(#bbf7d0 var(--progress),#94a3b829 0deg);border-radius:50%;flex:0 0 auto;height:126px;padding:9px;width:126px}.progress-ring__inner{align-items:center;background:#080b0a;border:1px solid #ffffff14;border-radius:50%;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.progress-ring__inner strong{color:var(--text-1);font-size:28px;font-weight:840;letter-spacing:0;line-height:1}.progress-ring__inner span{color:var(--text-3);font-size:11px;margin-top:4px}.progress-summary__body{min-width:0}.progress-summary__body h2{color:var(--text-1);font-size:26px;font-weight:820;letter-spacing:0;line-height:1.12;margin-top:3px}.progress-summary__body p{margin-top:7px}.progress-summary__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.progress-public-card__meta span,.progress-summary__meta span{align-items:center;background:hsla(0,0%,100%,.035);border:1px solid #94a3b824;border-radius:999px;color:var(--text-2);display:inline-flex;font-size:11px;font-weight:650;gap:6px;min-height:28px;padding:5px 9px}.progress-summary__side{background:hsla(0,0%,100%,.035);border:1px solid #94a3b829;border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;min-height:116px;padding:14px}.progress-summary__side span{color:var(--text-3);font-size:12px}.progress-summary__side strong{color:var(--text-1);font-size:34px;font-weight:840;letter-spacing:0;line-height:1}.progress-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.progress-stat{background:#0c0c10bd;border:1px solid #94a3b829;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:5px;min-height:116px;padding:14px}.progress-stat__icon{align-items:center;background:#bbf7d014;border:1px solid #94a3b82e;border-radius:9px;color:#bbf7d0;display:flex;height:34px;justify-content:center;margin-bottom:auto;width:34px}.progress-stat strong{color:var(--text-1);font-size:24px;font-weight:830;letter-spacing:0;line-height:1}.progress-stat span{color:var(--text-3);font-size:12px}.progress-continue{grid-gap:16px;align-items:center;background:#0c0c10ad;border:1px solid #94a3b829;border-radius:var(--radius-lg);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(160px,240px) auto;margin-bottom:18px;padding:16px}.progress-continue__main{min-width:0}.progress-continue h2{color:var(--text-1);font-size:17px;font-weight:780;letter-spacing:0;line-height:1.2;overflow-wrap:anywhere}.progress-continue p{margin-top:4px;overflow-wrap:anywhere}.progress-continue__meter{grid-gap:8px;display:grid;gap:8px}.progress-continue__meter strong{color:var(--text-1);font-size:16px;font-weight:820;letter-spacing:0}.progress-continue__meter div,.progress-public-card__bar{background:#94a3b824;border-radius:999px;height:8px;overflow:hidden;width:100%}.progress-continue__meter span,.progress-public-card__bar span{background:linear-gradient(90deg,#bbf7d0,#fde68a);border-radius:inherit;display:block;height:100%;transition:width .28s ease}.progress-leaderboard{margin-top:18px}.progress-section-head{align-items:flex-end;display:flex;gap:14px;justify-content:space-between;margin-bottom:10px}.progress-section-head h2{color:var(--text-1);font-size:18px;font-weight:790;letter-spacing:0;line-height:1.2;margin-top:2px}.progress-section-head p{color:var(--text-3);font-size:13px;line-height:1.45;margin-top:5px;max-width:620px}.progress-section-head>span{align-items:center;background:#bbf7d014;border:1px solid #bbf7d047;border-radius:999px;color:#bbf7d0;display:inline-flex;font-size:12px;font-weight:780;height:28px;justify-content:center;min-width:34px;padding:0 10px}.progress-section-head--leaderboard{align-items:flex-start}.progress-leaderboard__tabs{display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.progress-leaderboard__tab{background:hsla(0,0%,100%,.035);border:1px solid #94a3b82e;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;font-size:12px;font-weight:740;min-height:32px;padding:6px 10px}.progress-leaderboard__tab:hover{border-color:#bbf7d047;color:var(--text-1)}.progress-leaderboard__tab--active{background:#bbf7d0;border-color:#bbf7d08c;color:#07110c}.progress-public-card__top h3{color:var(--text-1);font-size:15px;font-weight:760;letter-spacing:0;line-height:1.25;overflow-wrap:anywhere}.progress-public__grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.progress-leaderboard__grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.progress-leader-card{grid-gap:12px;background:#0c0c10a8;border:1px solid #94a3b829;border-radius:var(--radius-lg);display:grid;gap:12px;grid-template-columns:48px minmax(0,1fr);padding:42px 14px 14px;position:relative}.progress-leader-card--top{background:linear-gradient(135deg,#121816e0,#0c0c10b8);border-color:#bbf7d047}.progress-leader-card--self{box-shadow:inset 0 0 0 1px #bbf7d02e}.progress-leader-card__rank{align-items:center;background:#bbf7d014;border:1px solid #bbf7d03d;border-radius:999px;color:#bbf7d0;display:inline-flex;font-size:12px;font-weight:820;left:14px;min-height:24px;padding:3px 8px;position:absolute;top:12px}.progress-leader-card__stats{display:flex;flex-wrap:wrap;gap:6px}.progress-leader-card__stats span{align-items:center;background:hsla(0,0%,100%,.035);border:1px solid #94a3b824;border-radius:999px;color:var(--text-2);display:inline-flex;font-size:11px;font-weight:700;gap:5px;min-height:26px;padding:4px 8px}.progress-public-card{grid-gap:12px;background:#0c0c10a8;border:1px solid #94a3b829;border-radius:var(--radius-lg);display:grid;gap:12px;grid-template-columns:48px minmax(0,1fr);padding:14px}.progress-public-card__avatar{align-items:center;background:#bbf7d01a;border:1px solid #bbf7d03d;border-radius:50%;color:var(--text-1);display:flex;font-size:13px;font-weight:830;height:48px;justify-content:center;overflow:hidden;width:48px}.progress-public-card__avatar img{height:100%;object-fit:cover;width:100%}.progress-public-card__body{grid-gap:10px;display:grid;gap:10px;min-width:0}.progress-public-card__top{display:flex;gap:12px;justify-content:space-between;min-width:0}.progress-public-card__top span{color:var(--text-3);display:block;font-size:11px;margin-top:2px;overflow-wrap:anywhere}.progress-public-card__top strong{grid-gap:1px;color:var(--text-1);display:grid;flex:0 0 auto;font-size:17px;font-weight:820;gap:1px;justify-items:end;letter-spacing:0;line-height:1}.progress-public-card__top strong span{color:var(--text-3);display:block;font-size:10px;font-weight:720;margin-top:0;text-transform:uppercase}.progress-public-card__current{grid-gap:8px;background:hsla(0,0%,100%,.035);border:1px solid #94a3b824;border-radius:var(--radius);display:grid;gap:8px;padding:10px}.progress-public-card__course-head{display:flex;gap:12px;justify-content:space-between;min-width:0}.progress-public-card__course-head>div{min-width:0}.progress-public-card__course-head span{align-items:center;color:var(--text-3);display:inline-flex;font-size:10px;font-weight:740;gap:5px;text-transform:uppercase}.progress-public-card__course-head strong{color:var(--text-1);display:block;font-size:13px;font-weight:780;letter-spacing:0;line-height:1.25;margin-top:4px;overflow-wrap:anywhere}.progress-public-card__course-head b{color:#bbf7d0;flex:0 0 auto;font-size:13px;font-weight:820;letter-spacing:0}.progress-public-card__course-bar,.progress-public-card__course-row div{background:#94a3b824;border-radius:999px;height:6px;overflow:hidden;width:100%}.progress-public-card__course-bar span,.progress-public-card__course-row div span{background:linear-gradient(90deg,#bbf7d0,#fde68a);border-radius:inherit;display:block;height:100%}.progress-public-card__course-meta{color:var(--text-3);display:flex;flex-wrap:wrap;font-size:11px;font-weight:680;gap:6px}.progress-public-card__courses{grid-gap:7px;display:grid;gap:7px}.progress-public-card__course-row{grid-gap:8px;align-items:center;color:var(--text-3);display:grid;font-size:11px;font-weight:680;gap:8px;grid-template-columns:minmax(0,1fr) minmax(54px,86px) 34px}.progress-public-card__course-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-public-card__course-row b{color:var(--text-2);font-size:11px;font-weight:780;letter-spacing:0;text-align:right}.progress-public-card__more{color:var(--text-3);font-size:11px;font-weight:700}.progress-public-card__meta{display:flex;flex-wrap:wrap;gap:6px}.progress-loading,.progress-public__empty{background:#0c0c10ad;border:1px solid #94a3b829;border-radius:var(--radius-lg)}.progress-public__empty{align-items:center;color:var(--text-3);display:flex;font-size:13px;gap:8px;justify-content:center;min-height:96px}.progress-loading{grid-gap:12px;display:grid;gap:12px;padding:14px}.progress-loading__hero{border-radius:var(--radius);height:176px}.progress-loading__grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.progress-loading__card{border-radius:var(--radius);height:116px}.progress-public__skeleton{border-radius:var(--radius);height:104px}.progress-leaderboard__skeleton{border-radius:var(--radius-lg);height:250px}@media (max-width:920px){.progress-continue,.progress-summary{grid-template-columns:1fr}.progress-summary{align-items:flex-start}.progress-summary__side{min-height:80px;width:100%}.progress-leaderboard__grid,.progress-loading__grid,.progress-public__grid,.progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.progress-page{padding:22px 14px 40px}.progress-block-head,.progress-section-head,.progress-top{align-items:stretch;flex-direction:column}.progress-ghost-button,.progress-primary-button{width:100%}.progress-summary{padding:16px}.progress-ring{height:112px;width:112px}.progress-summary__body h2{font-size:22px}.progress-leaderboard__grid,.progress-loading__grid,.progress-public__grid,.progress-stats{grid-template-columns:1fr}.progress-continue{align-items:stretch}.progress-leader-card,.progress-public-card{grid-template-columns:42px minmax(0,1fr)}.progress-public-card__avatar{height:42px;width:42px}}.profile-page{margin:0 auto;max-width:1120px;min-height:calc(100vh - 52px);padding:28px 24px 52px;position:relative;width:100%;z-index:1}.profile-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.profile-header__title{color:var(--text-1);font-size:24px;font-weight:760}.profile-header__subtitle{color:var(--text-3);font-size:13px;margin-top:4px;max-width:640px}.profile-header__badge,.profile-role{align-items:center;background:hsla(0,0%,100%,.035);border:1px solid #94a3b83d;border-radius:var(--radius-sm);color:var(--text-2);display:inline-flex;font-size:12px;font-weight:600;gap:7px;min-height:32px;padding:6px 10px}.profile-alert{align-items:center;border-radius:var(--radius-lg);display:flex;font-size:13px;gap:8px;margin-bottom:14px;padding:12px 14px}.profile-alert--success{background:#22c55e14;border:1px solid #22c55e59;color:#bbf7d0}.profile-alert--error{background:#ef444414;border:1px solid #ef44446b;color:#fecaca}.profile-layout{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:280px minmax(0,1fr)}.profile-stack{display:flex;flex-direction:column;gap:14px;min-width:0}.profile-card{background:#0c0c10c2;border:1px solid #94a3b829;border-radius:var(--radius-lg);box-shadow:0 18px 55px #00000038}.profile-card--identity{padding:18px;position:-webkit-sticky;position:sticky;text-align:center;top:70px}.profile-avatar{align-items:center;background:linear-gradient(135deg,#34d3993d,#f59e0b29);border:1px solid #94a3b83d;border-radius:50%;display:flex;height:112px;justify-content:center;margin:0 auto 14px;overflow:hidden;width:112px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-avatar span{color:var(--text-1);font-size:32px;font-weight:800}.profile-card--identity h2{color:var(--text-1);font-size:17px;font-weight:740;overflow-wrap:anywhere}.profile-card--identity p{color:var(--text-3);font-size:13px;margin:3px 0 12px;overflow-wrap:anywhere}.profile-role{justify-content:center}.profile-learning-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.profile-learning-stat{grid-gap:4px;align-content:center;background:hsla(0,0%,100%,.025);border:1px solid #94a3b824;border-radius:var(--radius);display:grid;gap:4px;justify-items:center;min-height:78px;padding:10px 8px}.profile-learning-stat span{background:hsla(0,0%,100%,.045);border-radius:var(--radius-sm);color:var(--text-2);display:grid;height:24px;place-items:center;width:24px}.profile-learning-stat strong{color:var(--text-1);font-size:16px;line-height:1}.profile-learning-stat small{color:var(--text-4);font-size:11px}.profile-form{padding:18px}.profile-card__head{border-bottom:1px solid #94a3b824;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px;padding-bottom:14px}.profile-card__head h2{color:var(--text-1);font-size:16px;font-weight:740}.profile-card__head p{color:var(--text-3);font-size:12px;margin-top:3px}.profile-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.profile-field span{color:var(--text-3);font-size:11px}.profile-field input{background:#0a0a0a6b;border:1px solid #94a3b838;border-radius:var(--radius-sm);color:var(--text-1);font-size:13px;min-height:38px;outline:none;padding:8px 10px;transition:border-color .15s,box-shadow .15s}.profile-field input:focus{border-color:#94a3b873;box-shadow:0 0 0 2px #94a3b81a}.profile-field--sensitive input{border-color:#f59e0b59}.profile-avatar-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.profile-file input{opacity:0;pointer-events:none;position:absolute}.profile-file span,.profile-primary,.profile-secondary{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;min-height:36px;padding:8px 13px}.profile-file span,.profile-secondary{background:hsla(0,0%,100%,.035);border:1px solid #94a3b83d;color:var(--text-2)}.profile-file span:hover,.profile-secondary:hover:not(:disabled){border-color:#94a3b866;color:var(--text-1)}.profile-secondary:disabled{cursor:default;opacity:.45}.profile-help{color:var(--text-3);font-size:11px}.profile-privacy-toggle{grid-gap:10px;align-items:start;background:hsla(0,0%,100%,.025);border:1px solid #94a3b82e;border-radius:var(--radius);cursor:pointer;display:grid;gap:10px;grid-template-columns:22px minmax(0,1fr);margin:4px 0 12px;padding:11px}.profile-privacy-toggle input{opacity:0;pointer-events:none;position:absolute}.profile-privacy-toggle__box{background:#0a0a0a6b;border:1px solid #94a3b857;border-radius:5px;height:20px;margin-top:1px;width:20px}.profile-privacy-toggle input:checked+.profile-privacy-toggle__box{background:#e4e4e7;border-color:#f4f4f5b3;box-shadow:inset 0 0 0 5px #111}.profile-privacy-toggle strong{color:var(--text-1);display:block;font-size:13px}.profile-privacy-toggle small{color:var(--text-3);display:block;font-size:11px;line-height:1.4;margin-top:2px}.profile-actions{display:flex;justify-content:flex-end;margin-top:8px}.profile-primary{background:#f4f4f5eb;border:1px solid #94a3b847;color:#111}.profile-primary:hover:not(:disabled){background:#fff;border-color:#f4f4f5b8;box-shadow:0 10px 28px #0000003d}.profile-primary:disabled{cursor:default;opacity:.55}.profile-strength{grid-gap:5px;align-items:center;display:grid;gap:5px;grid-template-columns:repeat(5,minmax(0,1fr));margin:2px 0 10px}.profile-strength__bar{background:#94a3b829;border-radius:999px;height:5px}.profile-strength__bar--active{background:#e4e4e7}.profile-strength small{color:var(--text-3);font-size:11px;grid-column:1/-1}.profile-security-list{border:1px dashed #94a3b833;border-radius:var(--radius);color:var(--text-3);display:flex;flex-direction:column;font-size:11px;gap:5px;padding:10px}@media (max-width:860px){.profile-layout{grid-template-columns:1fr}.profile-card--identity{position:static}}@media (max-width:640px){.profile-page{padding:20px 14px 38px}.profile-grid,.profile-header{grid-template-columns:1fr}.profile-header{align-items:flex-start;flex-direction:column}.profile-actions,.profile-primary{width:100%}}.changelog-page{margin:0 auto;max-width:1080px;min-height:calc(100vh - 52px);padding:30px 24px 56px;width:100%}.changelog-hero{align-items:flex-end;display:flex;gap:18px;justify-content:space-between;margin-bottom:24px}.changelog-kicker,.changelog-version{align-items:center;color:var(--text-3);display:inline-flex;font-size:11px;font-weight:760;letter-spacing:0;min-height:22px;text-transform:uppercase}.changelog-hero h1{color:var(--text-1);font-size:30px;font-weight:820;line-height:1.08;margin-top:3px}.changelog-hero p{color:var(--text-3);font-size:13px;line-height:1.5;margin-top:7px;max-width:620px}.changelog-hero__stats{grid-gap:10px;display:grid;flex:0 0 auto;gap:10px;grid-template-columns:repeat(2,minmax(92px,1fr))}.changelog-hero__stats div{grid-gap:5px;align-content:center;background:#0c0c10b8;border:1px solid #94a3b829;border-radius:var(--radius);display:grid;gap:5px;min-height:74px;padding:12px}.changelog-hero__stats strong{color:var(--text-1);font-size:24px;line-height:1}.changelog-hero__stats span{color:var(--text-3);font-size:12px}.changelog-timeline{grid-gap:14px;display:grid;gap:14px}.changelog-release{grid-gap:12px;display:grid;gap:12px;grid-template-columns:38px minmax(0,1fr)}.changelog-release__rail{display:flex;justify-content:center;position:relative}.changelog-release__rail:after{background:#94a3b829;bottom:-20px;content:"";position:absolute;top:42px;width:1px}.changelog-release:last-child .changelog-release__rail:after{display:none}.changelog-release__rail>span{background:#bbf7d014;border:1px solid #bbf7d03d;border-radius:50%;color:#bbf7d0;display:grid;height:34px;place-items:center;width:34px}.changelog-release__body{background:#0c0c10bd;border:1px solid #94a3b829;border-radius:var(--radius-lg);padding:18px}.changelog-release__top{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.changelog-release h2{color:var(--text-1);font-size:20px;font-weight:790;line-height:1.2;margin:2px 0 0}.changelog-release__body>p{color:var(--text-3);font-size:13px;line-height:1.5;margin-top:9px;max-width:760px}.changelog-release__meta{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:6px;justify-content:flex-end}.changelog-release__meta span,.changelog-release__meta time{align-items:center;background:hsla(0,0%,100%,.035);border:1px solid #94a3b829;border-radius:999px;color:var(--text-2);display:inline-flex;font-size:11px;font-weight:700;min-height:28px;padding:5px 9px}.changelog-release__meta span{background:#fde68a12;border-color:#fde68a3d;color:#fde68a}.changelog-items{grid-gap:9px;display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.changelog-item{grid-gap:10px;background:hsla(0,0%,100%,.032);border:1px solid #94a3b824;border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:30px minmax(0,1fr);min-height:92px;padding:12px}.changelog-item>span{background:#bfdbfe14;border-radius:9px;color:#bfdbfe;display:grid;height:30px;place-items:center;width:30px}.changelog-item strong{color:var(--text-1);display:block;font-size:13px;line-height:1.25}.changelog-item p{color:var(--text-3);font-size:12px;line-height:1.45;margin-top:5px}@media (max-width:760px){.changelog-page{padding:22px 14px 42px}.changelog-hero,.changelog-release__top{align-items:stretch;flex-direction:column}.changelog-hero__stats,.changelog-items,.changelog-release{grid-template-columns:1fr}.changelog-release__rail{display:none}.changelog-release__meta{justify-content:flex-start}}.admin-shell{margin:0 auto;padding:24px;position:relative;width:min(1360px,100%);z-index:1}.admin-editor-panel,.admin-editor-rail,.admin-editor-top,.admin-hero,.admin-metric,.admin-nav,.admin-section,.admin-topic-card,.admin-workarea{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d110fc7;border:1px solid #94a3b829;box-shadow:0 18px 48px #0003}.admin-hero{align-items:flex-end;background:linear-gradient(135deg,#34d3991f,#f59e0b14),#0d110fdb;border-radius:var(--radius-lg);display:flex;gap:18px;justify-content:space-between;min-height:146px;padding:22px}.admin-hero__copy{min-width:0}.admin-kicker{align-items:center;background:#ffffff0a;border:1px solid #94a3b82e;border-radius:var(--radius-sm);color:var(--text-2);display:inline-flex;font-size:12px;font-weight:680;gap:7px;margin-bottom:10px;min-height:28px;padding:5px 9px}.admin-hero h1{color:var(--text-1);font-size:30px;font-weight:820;letter-spacing:0;line-height:1.08;margin:0}.admin-hero p{color:var(--text-2);font-size:14px;line-height:1.5;margin-top:8px;max-width:680px;overflow-wrap:anywhere}.admin-account{background:hsla(0,0%,100%,.035);border:1px solid #94a3b82b;border-radius:var(--radius);min-width:180px;padding:13px 14px}.admin-account span,.admin-editor-top__main span,.admin-field span,.admin-metric span,.admin-section__head span,.admin-topic-card__title span,.admin-view__head span{color:var(--text-3);font-size:12px}.admin-account strong{color:var(--text-1);display:block;font-size:14px;margin-top:4px;overflow-wrap:anywhere}.admin-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.admin-metric{border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;min-height:86px;padding:15px}.admin-metric strong{color:var(--text-1);font-size:26px;font-weight:800;line-height:1}.admin-layout{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:210px minmax(0,1fr);margin-top:14px}.admin-nav{border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:7px;padding:10px;position:-webkit-sticky;position:sticky;top:68px}.admin-editor-tabs__item,.admin-nav__item,.admin-topic-nav__item{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--text-3);display:flex;font-size:13px;font-weight:680;gap:9px;min-height:42px;padding:9px 10px;text-align:left;transition:background .15s,border-color .15s,color .15s,transform .1s;width:100%}.admin-editor-tabs__item:hover,.admin-nav__item:hover,.admin-topic-nav__item:hover{background:hsla(0,0%,100%,.045);color:var(--text-1)}.admin-editor-tabs__item--active,.admin-nav__item--active,.admin-topic-nav__item--active{background:#34d39917;border-color:#34d3994d;color:#d1fae5}.admin-workarea{border-radius:var(--radius-lg);min-width:0;padding:16px}.admin-view{min-width:0}.admin-curriculum-head,.admin-section__head,.admin-view__head{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.admin-curriculum-head h2,.admin-view__head h2{color:var(--text-1);font-size:20px;font-weight:780;line-height:1.2;margin:0}.admin-section__head h3{color:var(--text-1);font-size:15px;font-weight:740;margin:0}.admin-search{align-items:center;background:#070a0894;border:1px solid #94a3b82e;border-radius:var(--radius-sm);color:var(--text-3);display:flex;gap:8px;min-height:38px;min-width:240px;padding:0 11px}.admin-search input{background:#0000;border:0;color:var(--text-1);font-size:13px;outline:0;width:100%}.admin-search input::placeholder{color:var(--text-4)}.admin-courses-layout,.admin-overview-grid{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.admin-section{border-radius:var(--radius);padding:16px}.admin-progress-line{background:#94a3b824;border-radius:999px;height:7px;overflow:hidden}.admin-progress-line>div{background:linear-gradient(90deg,#34d399,#fbbf24);border-radius:inherit;height:100%;min-width:0;transition:width .35s ease}.admin-course-list,.admin-lesson-list,.admin-mini-list,.admin-topic-stack{display:flex;flex-direction:column;gap:10px}.admin-mini-course{align-items:center;background:hsla(0,0%,100%,.025);border:1px solid #94a3b824;border-radius:var(--radius-sm);color:var(--text-2);display:flex;gap:12px;justify-content:space-between;min-height:42px;padding:9px 10px;text-align:left}.admin-mini-course:hover{background:hsla(0,0%,100%,.045);border-color:#94a3b847;color:var(--text-1)}.admin-mini-course span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-mini-course strong{color:#a7f3d0;flex:0 0 auto}.admin-course-row-skeleton,.admin-mini-list__skeleton{border-radius:var(--radius);height:64px}.admin-create-course{position:-webkit-sticky;position:sticky;top:68px}.admin-form-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid--two{max-width:860px}.admin-form-grid--lesson{grid-template-columns:minmax(0,1fr) minmax(190px,.32fr)}.admin-field{display:flex;flex-direction:column;gap:5px;min-width:0}.admin-field__hint{color:var(--text-4);font-size:11px;line-height:1.4}.admin-field--wide{grid-column:1/-1}.admin-field input,.admin-field select,.admin-field textarea,.admin-lesson-duration-input,.admin-lesson-title-input,.admin-topic-card__title input{background:#070a088c;border:1px solid #94a3b833;border-radius:var(--radius-sm);color:var(--text-1);font-size:13px;min-height:38px;outline:0;padding:8px 10px;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.admin-field textarea{line-height:1.45;min-height:104px;resize:vertical}.admin-field select{-webkit-appearance:none;appearance:none}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus,.admin-lesson-duration-input:focus,.admin-lesson-title-input:focus,.admin-topic-card__title input:focus{background:#070a08b8;border-color:#34d3997a;box-shadow:0 0 0 3px #34d3991a}.admin-danger-btn,.admin-icon-btn,.admin-primary-btn,.admin-secondary-btn{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:13px;font-weight:720;gap:7px;justify-content:center;min-height:38px;transition:background .15s,border-color .15s,color .15s,transform .1s,opacity .15s;white-space:nowrap}.admin-primary-btn{background:#d1fae5;border:1px solid #34d3998a;color:#062318;margin-top:12px;padding:9px 13px}.admin-primary-btn--compact,.admin-primary-btn--inline{margin-top:0}.admin-primary-btn--compact{font-size:12px;min-height:32px;padding:6px 9px}.admin-primary-btn:hover:not(:disabled){background:#ecfdf5}.admin-primary-btn--full,.admin-secondary-btn--full{width:100%}.admin-secondary-btn{background:hsla(0,0%,100%,.035);border:1px solid #94a3b833;color:var(--text-2);padding:8px 11px}.admin-secondary-btn:hover:not(:disabled){background:hsla(0,0%,100%,.065);border-color:#94a3b85c;color:var(--text-1)}.admin-danger-btn{background:#ef44440f;border:1px solid #ef44445c;color:#fca5a5;padding:8px 11px}.admin-danger-btn:hover:not(:disabled){background:#ef44441a;border-color:#ef444494;color:#fecaca}.admin-danger-btn--compact,.admin-secondary-btn--compact{font-size:12px;min-height:32px;padding:6px 9px}.admin-danger-btn:disabled,.admin-primary-btn:disabled,.admin-secondary-btn:disabled{cursor:default;opacity:.45}.admin-danger-btn:active:not(:disabled),.admin-icon-btn:active:not(:disabled),.admin-primary-btn:active:not(:disabled),.admin-secondary-btn:active:not(:disabled){transform:translateY(1px)}.admin-course-row{grid-gap:14px;align-items:center;background:hsla(0,0%,100%,.025);border:1px solid #94a3b824;border-radius:var(--radius);display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 126px auto;padding:14px}.admin-course-row:hover{background:#ffffff0a;border-color:#94a3b847}.admin-course-row__main{min-width:0}.admin-course-row__titleline{align-items:center;display:flex;gap:10px;justify-content:space-between}.admin-course-row h3{color:var(--text-1);font-size:15px;font-weight:760;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-course-row p,.admin-course-row__meta,.admin-course-row__titleline span{color:var(--text-3);font-size:12px}.admin-course-row p{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-course-row__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.admin-course-row__meta span{align-items:center;display:inline-flex;gap:5px}.admin-course-row__progress strong{color:var(--text-1);display:block;font-size:16px;margin-bottom:7px;text-align:right}.admin-course-row__actions,.admin-empty{align-items:center;display:flex;gap:8px}.admin-empty{color:var(--text-3);font-size:13px;padding:12px}.admin-empty--large,.admin-empty--topic{background:#ffffff05;border:1px dashed #94a3b838;border-radius:var(--radius);justify-content:center;min-height:92px}.admin-switch{flex:0 0 auto;height:26px;position:relative;width:46px}.admin-switch input{opacity:0;pointer-events:none;position:absolute}.admin-switch span{background:#94a3b829;border:1px solid #94a3b847;border-radius:999px;cursor:pointer;inset:0;position:absolute;transition:background .15s,border-color .15s}.admin-switch span:after{background:#fff;border-radius:50%;content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform .15s;width:18px}.admin-switch input:checked+span{background:#34d3995c;border-color:#34d3997a}.admin-switch input:checked+span:after{transform:translateX(20px)}.admin-toast-stack{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:18px;top:68px;width:min(420px,calc(100vw - 28px));z-index:1000}.admin-toast{align-items:flex-start;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius);box-shadow:0 18px 44px #00000052;color:var(--text-1);display:flex;font-size:13px;gap:9px;line-height:1.45;padding:12px 14px;pointer-events:auto;width:100%}.admin-toast--success{background:#062318f0;border:1px solid #34d39961;color:#bbf7d0}.admin-toast--error{background:#280a0ef0;border:1px solid #ef444470;color:#fecaca}.admin-editor-shell{width:min(1480px,100%)}.admin-editor-form{min-width:0}.admin-editor-loading{grid-gap:12px;display:grid;gap:12px}.admin-editor-loading .skeleton{border-radius:var(--radius);height:120px}.admin-editor-top{align-items:center;border-radius:var(--radius-lg);display:flex;gap:14px;justify-content:space-between;padding:14px 16px;position:-webkit-sticky;position:sticky;top:62px;z-index:50}.admin-editor-top__main{align-items:center;display:flex;gap:14px;min-width:0}.admin-editor-top__main h1{color:var(--text-1);font-size:20px;font-weight:820;line-height:1.2;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-back-link{align-items:center;border:1px solid #94a3b833;border-radius:var(--radius-sm);color:var(--text-2);display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:720;gap:6px;min-height:36px;padding:8px 10px}.admin-back-link:hover{background:hsla(0,0%,100%,.045);color:var(--text-1)}.admin-editor-top__actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.admin-editor-top__actions .admin-primary-btn{margin-top:0}.admin-editor{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:260px minmax(0,1fr);margin-top:14px}.admin-editor-rail{border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:12px;padding:12px;position:-webkit-sticky;position:sticky;top:146px}.admin-editor-tabs{grid-gap:7px;display:grid;gap:7px}.admin-editor-stat-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.admin-editor-stat-grid div{background:hsla(0,0%,100%,.025);border:1px solid #94a3b824;border-radius:var(--radius-sm);display:flex;flex-direction:column;justify-content:space-between;min-height:64px;padding:10px}.admin-editor-stat-grid span{color:var(--text-3);font-size:11px}.admin-editor-stat-grid strong{color:var(--text-1);font-size:20px;line-height:1}.admin-topic-nav{display:flex;flex-direction:column;gap:6px;max-height:min(46vh,440px);overflow:auto;padding-right:2px}.admin-topic-nav__item{gap:8px;justify-content:space-between}.admin-topic-nav__item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topic-nav__item strong{align-items:center;background:#ffffff0f;border-radius:999px;color:var(--text-2);display:inline-flex;font-size:11px;justify-content:center;min-height:22px;min-width:26px}.admin-editor-main{min-width:0}.admin-editor-panel{border-radius:var(--radius-lg);min-width:0;padding:16px}.admin-curriculum-head{padding:2px 0}.admin-curriculum-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-curriculum-actions .admin-primary-btn{margin-top:0}.admin-topic-card{border-radius:var(--radius-lg);min-width:0;padding:14px}.admin-topic-card--overview{padding:10px}.admin-topic-overview{align-items:center;display:flex;gap:12px;justify-content:space-between;min-height:42px;padding:0 0 10px}.admin-topic-overview__main{align-items:center;display:flex;gap:10px;min-width:0}.admin-topic-overview__main>span{align-items:center;background:#34d39914;border:1px solid #34d39938;border-radius:var(--radius-sm);color:#a7f3d0;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:780;height:32px;justify-content:center;width:30px}.admin-topic-overview__main div{min-width:0}.admin-topic-overview__main strong{color:var(--text-1);display:block;font-size:13px;font-weight:760;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topic-overview__main small{color:var(--text-3);display:block;font-size:11px;margin-top:2px}.admin-topic-card__head{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:34px minmax(0,1fr) auto}.admin-lesson-card__num,.admin-topic-card__number{align-items:center;background:#34d39914;border:1px solid #34d39938;border-radius:var(--radius-sm);color:#a7f3d0;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:780;justify-content:center}.admin-topic-card__number{height:38px;width:34px}.admin-topic-card__title{min-width:0}.admin-topic-card__title input{font-size:15px;font-weight:760;min-height:38px}.admin-topic-card__title span{display:block;margin-top:5px}.admin-lesson-card__actions,.admin-topic-card__actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.admin-topic-card__body{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);margin:13px 0}.admin-topic-card__body .admin-field textarea{min-height:88px}.admin-material{align-items:center;background:hsla(0,0%,100%,.025);border:1px dashed #94a3b83d;border-radius:var(--radius-sm);display:flex;gap:10px;min-height:64px;min-width:0;padding:9px}.admin-material--attached{background:#34d3990f;border-color:#34d3994d;border-style:solid}.admin-material__input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.admin-material__body{flex:1 1 auto;min-width:0}.admin-material__label{align-items:center;color:var(--text-3);display:inline-flex;font-size:11px;gap:5px}.admin-material__name{color:var(--text-1);display:block;font-size:12px;font-weight:720;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-material__actions{align-items:center;display:flex;flex:0 0 auto;gap:6px}.admin-icon-btn{background:#ffffff0a;border:1px solid #94a3b838;color:var(--text-2);cursor:pointer;height:32px;padding:0;width:32px}.admin-icon-btn:hover{background:#ffffff12;border-color:#94a3b85c;color:var(--text-1)}.admin-icon-btn--busy{opacity:.55;pointer-events:none}.admin-lesson-card{background:hsla(0,0%,100%,.025);border:1px solid #94a3b824;border-radius:var(--radius);overflow:hidden}.admin-lesson-card__summary{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:34px minmax(160px,1fr) 92px 86px auto auto;padding:10px}.admin-lesson-card__num{height:34px;width:30px}.admin-lesson-title-input{font-weight:720}.admin-lesson-duration-input{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.admin-lesson-file,.admin-lesson-kind{align-items:center;border:1px solid #94a3b829;border-radius:999px;color:var(--text-3);display:inline-flex;font-size:11px;gap:5px;justify-content:center;min-height:30px;padding:5px 8px;white-space:nowrap}.admin-lesson-file{background:#34d3990f;border-color:#34d39942;color:#a7f3d0}.admin-lesson-card__details{grid-gap:12px;display:grid;gap:12px;padding:0 10px 10px}.admin-lesson-card__source{grid-gap:8px;align-items:center;color:var(--text-3);display:grid;gap:8px;grid-template-columns:118px minmax(0,1fr);padding:0 10px 10px 52px}.admin-lesson-card__source span{font-size:11px}.admin-lesson-card__source code{background:#070a0885;border:1px solid #94a3b824;border-radius:var(--radius-sm);color:var(--text-2);display:block;font-family:inherit;font-size:11px;min-width:0;overflow:hidden;padding:5px 8px;text-overflow:ellipsis;white-space:nowrap}.admin-lesson-card__source--empty code{border-style:dashed;color:var(--text-4)}.admin-lesson-card__details .admin-material{min-height:58px}.admin-lesson-card__actions{justify-content:flex-start}@media (max-width:1180px){.admin-courses-layout,.admin-overview-grid,.admin-topic-card__body{grid-template-columns:1fr}.admin-create-course{position:static}.admin-course-row{grid-template-columns:minmax(0,1fr)}.admin-course-row__progress strong{text-align:left}.admin-course-row__actions{flex-wrap:wrap;justify-content:flex-start}}@media (max-width:980px){.admin-editor,.admin-layout{grid-template-columns:1fr}.admin-editor-rail,.admin-editor-top,.admin-nav{position:static}.admin-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-editor-rail{order:0}.admin-topic-nav{max-height:none}.admin-lesson-card__summary{grid-template-columns:30px minmax(0,1fr) 86px auto}.admin-lesson-file,.admin-lesson-kind{display:none}}@media (max-width:720px){.admin-shell{padding:14px 12px 32px}.admin-editor-top,.admin-hero{align-items:flex-start;flex-direction:column}.admin-account{width:100%}.admin-metrics,.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-editor-panel,.admin-section,.admin-topic-card,.admin-workarea{padding:12px}.admin-curriculum-actions,.admin-curriculum-head,.admin-editor-top__actions,.admin-editor-top__main,.admin-topic-card__body,.admin-topic-card__head,.admin-topic-overview,.admin-view__head{align-items:stretch;flex-direction:column;grid-template-columns:1fr}.admin-editor-top__main h1{white-space:normal}.admin-search{min-width:0;width:100%}.admin-form-grid,.admin-form-grid--lesson{grid-template-columns:1fr}.admin-course-row__actions,.admin-editor-top__actions,.admin-material__actions,.admin-topic-card__actions{justify-content:flex-start}.admin-topic-overview .admin-primary-btn{width:100%}.admin-lesson-card__summary{grid-template-columns:30px minmax(0,1fr)}.admin-lesson-card__source{grid-template-columns:1fr;padding:0 10px 10px}.admin-lesson-duration-input{max-width:120px}.admin-lesson-card__summary>.admin-secondary-btn{justify-self:start}.admin-toast-stack{left:12px;right:12px;top:12px;width:auto}}.app{background:var(--bg);display:flex;flex-direction:column;isolation:isolate;min-height:100vh;overflow-x:hidden;position:relative}.app:after,.app:before{content:"";pointer-events:none;position:fixed}.app:before{background:linear-gradient(180deg,hsla(0,0%,100%,.035),#0000 220px),linear-gradient(135deg,#090a09,#111411 48%,#0b0d0c);inset:0;z-index:0}.app:after{background:linear-gradient(hsla(0,0%,100%,.026) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.018) 1px,#0000 0);background-size:52px 52px;inset:52px 0 0;-webkit-mask-image:linear-gradient(180deg,#0000008c,#0000 72%);mask-image:linear-gradient(180deg,#0000008c,#0000 72%);z-index:0}.app>*{position:relative;z-index:1}.download-prep{animation:fadeUp .22s ease both;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#131614f5;border:1px solid #ffffff1f;border-radius:8px;bottom:18px;box-shadow:0 18px 50px #0000006b;color:var(--text-1);overflow:hidden;position:fixed;right:18px;width:min(420px,calc(100vw - 28px));z-index:80}.download-prep__top{align-items:center;background:hsla(0,0%,100%,.055);border-bottom:1px solid #ffffff14;display:flex;gap:7px;height:26px;padding:0 11px}.download-prep__dot{border-radius:50%;height:9px;width:9px}.download-prep__dot--red{background:#ff5f57}.download-prep__dot--amber{background:#febc2e}.download-prep__dot--green{background:#28c840}.download-prep__body{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:38px minmax(0,1fr) auto;min-height:86px;padding:14px}.download-prep__icon{background:#34d3991f;border:1px solid #34d3992e;border-radius:8px;color:var(--accent);display:grid;height:34px;place-items:center;width:34px}.download-prep--error .download-prep__icon{background:#ef44441c;border-color:#ef444433;color:var(--red)}.download-prep__content{display:flex;flex-direction:column;gap:4px;min-width:0}.download-prep__content strong{font-size:14px;font-weight:700;line-height:1.2}.download-prep__content small,.download-prep__content span{color:var(--text-2);font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.download-prep__content small{color:#fca5a5}.download-prep__bar{background:#ffffff14;border-radius:999px;height:4px;margin-top:7px;overflow:hidden;position:relative}.download-prep__bar span{animation:downloadPrepBar 1.05s ease-in-out infinite;background:linear-gradient(90deg,#34d39900,var(--accent),#34d39900);border-radius:inherit;inset:0 auto 0 0;position:absolute;width:46%}.download-prep__cancel{background:#ffffff14;border:1px solid #ffffff1f;border-radius:7px;color:var(--text-1);font-size:12px;font-weight:700;min-height:34px;padding:0 12px}.download-prep__cancel:hover{background:#ffffff21}@keyframes downloadPrepBar{0%{transform:translateX(-115%)}to{transform:translateX(250%)}}@media (max-width:560px){.download-prep{bottom:14px;right:14px}.download-prep__body{grid-template-columns:34px minmax(0,1fr)}.download-prep__cancel{grid-column:1/-1;width:100%}}
/*# sourceMappingURL=main.b4151ad0.css.map*/