:root{--bg:#1e1e1e;--panel:#252526;--panel2:#2d2d30;--ink:#d4d4d4;--muted:#9aa0a6;--line:#3c3c3c;--accent:#8b9cf6;--link:#9ecbff;--hover:#34343a;--active:#37373d;--paper:#202020}*{box-sizing:border-box}html,body{margin:0;height:100%;width:100%;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}button,input{font:inherit}button{color:inherit}.shell{height:100vh;display:grid;grid-template-columns:360px 1fr;overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;max-width:100%}.brand{padding:16px;border-bottom:1px solid var(--line)}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand h1{font-size:18px;margin:0 0 6px}.brand p{margin:0;color:var(--muted);font-size:13px}.close-menu{display:none;border:1px solid var(--line);background:#202024;color:var(--ink);border-radius:9px;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer}.search{padding:12px;border-bottom:1px solid var(--line)}.search input{width:100%;border:1px solid var(--line);background:#1b1b1c;color:var(--ink);border-radius:8px;padding:9px 10px;outline:none}.counts{color:var(--muted);margin:8px 2px 0;font-size:13px}.view-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.view-btn{border:1px solid var(--line);background:#202024;color:var(--muted);border-radius:8px;padding:7px 6px;font-size:12px;cursor:pointer}.view-btn.active{background:var(--accent);border-color:var(--accent);color:#111;font-weight:800}.view-btn:hover{background:var(--hover);color:var(--ink)}.view-btn.active:hover{background:var(--accent);color:#111}.topic-strip{border-bottom:1px solid var(--line);padding:9px 10px}.strip-head{display:flex;align-items:center;justify-content:space-between;color:#c7c7c7;font-size:12px;font-weight:700;margin-bottom:7px}.ghost-btn{border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;padding:3px 4px}.ghost-btn:hover{color:var(--ink)}.quick-topics{display:flex;flex-wrap:wrap;gap:6px;max-height:68px;overflow:auto}.filters-panel{margin-top:8px}.filters-panel summary{cursor:pointer;color:var(--muted);font-size:12px;list-style:none}.filters-panel summary::-webkit-details-marker{display:none}.filters-panel summary:before{content:'▸';display:inline-block;margin-right:5px;color:var(--muted)}.filters-panel[open] summary:before{content:'▾'}.tag-groups{display:grid;gap:10px;margin-top:9px;max-height:260px;overflow:auto;padding-right:2px}.tag-group h4{margin:0 0 5px;color:#d8d8d8;font-size:12px}.tag-group div{display:flex;flex-wrap:wrap;gap:6px}.tag{border:1px solid var(--line);background:#1f1f21;color:#c9c9c9;border-radius:999px;padding:5px 8px;font-size:12px;cursor:pointer}.tag small{color:#858b92;margin-left:3px}.tag.active{background:var(--accent);color:#111;border-color:var(--accent);font-weight:800}.tag.active small{color:#1b1b1b}.nav{overflow:auto;padding:8px 8px 30px}.group{margin:7px 0}.group-title{display:flex;align-items:center;gap:7px;color:#c7c7c7;font-weight:700;font-size:13px;padding:7px 8px;cursor:pointer;border-radius:7px}.group-title:hover{background:var(--hover)}.chev{color:var(--muted);width:12px}.items{margin-left:13px;border-left:1px solid #393939;padding-left:7px}.item{display:flex;align-items:flex-start;gap:7px;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);padding:9px 8px;border-radius:7px;cursor:pointer;font-size:14px}.item:hover{background:var(--hover)}.item.active{background:var(--active);color:white}.icon{opacity:.8;margin-top:2px}.lecture-text{display:grid;gap:2px;min-width:0;line-height:1.25}.lecture-text b{font-weight:650;color:#ededed;white-space:normal;overflow-wrap:anywhere}.lecture-text em{font-style:normal;color:var(--muted);font-size:12px;white-space:normal;overflow-wrap:anywhere}.folder-count{margin-left:auto;color:var(--muted);font-weight:500}.topic-category{margin:0 0 12px}.topic-category h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 8px 4px}.empty{color:var(--muted);padding:12px}.viewer{background:var(--paper);display:grid;grid-template-rows:auto 1fr;min-width:0;max-width:100%;overflow:hidden}.topbar{height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 14px;min-width:0;max-width:100%;background:#1b1b1d}.mobile-menu{display:none;border:1px solid var(--line);background:#242428;color:var(--ink);border-radius:8px;padding:6px 10px}.crumb{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;flex:0 0 auto;min-width:0}.actions a{display:inline-flex;border:1px solid var(--line);border-radius:8px;padding:6px 9px;color:var(--link);text-decoration:none;background:#242428;white-space:nowrap;max-width:42vw;overflow:hidden;text-overflow:ellipsis}.doc-wrap{overflow:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.doc{width:100%;max-width:880px;margin:0 auto;padding:28px 30px 90px;box-sizing:border-box;overflow-wrap:anywhere}.lecture-hero{border:1px solid var(--line);background:linear-gradient(180deg,#27272c,#212124);border-radius:18px;padding:18px 18px 16px;margin:0 0 18px}.lecture-hero .eyebrow{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;margin-bottom:6px}.lecture-hero h1{margin:0 0 6px!important;font-size:34px;line-height:1.08;letter-spacing:-.025em}.lecture-hero p{margin:0;color:var(--muted)}.lecture-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.lecture-tags span{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:4px 7px;color:#c9c9c9;background:#1d1d20}.doc h1,.doc h2,.doc h3,.doc p,.doc li,.doc a{max-width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.doc h1{font-size:34px;line-height:1.1;margin:0 0 18px}.doc h2{font-size:24px;margin:30px 0 10px}.doc h3{font-size:18px;margin:20px 0 8px;color:#e8e8e8}.doc p,.doc li{color:#d1d1d1}.doc a{color:var(--link)}.doc blockquote{border-left:3px solid var(--accent);margin:14px 0;padding:8px 14px;background:#25252a;color:#ddd}.doc code{background:#303036;border:1px solid var(--line);border-radius:5px;padding:1px 4px}.video-player{width:100%;max-width:760px;aspect-ratio:16/9;background:#111;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:0 auto 22px;box-shadow:0 18px 45px rgba(0,0,0,.25);box-sizing:border-box}.video-player iframe{width:100%!important;height:100%;border:0;display:block;max-width:100%!important;min-width:0!important}.time-summary{border:1px solid var(--line);background:#242428;border-radius:18px;padding:14px;margin:0 0 22px}.time-summary h2{margin:0 0 4px;font-size:20px}.time-summary p{margin:0 0 12px;color:var(--muted)}.time-list{display:grid;gap:8px}.time-chip{display:grid;grid-template-columns:72px 1fr;gap:10px;text-align:left;align-items:start;width:100%;border:1px solid var(--line);background:#1d1d20;color:var(--ink);border-radius:12px;padding:10px;cursor:pointer}.time-chip:hover{background:#303036}.time-chip b{color:var(--link);font-variant-numeric:tabular-nums}.time-chip span{min-width:0;overflow-wrap:anywhere}.transcript-link{border-top:1px solid var(--line);padding-top:16px;margin-top:24px}.transcript-link a{display:inline-flex;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#29292d;text-decoration:none}.backdrop{display:none}

/* Stylish library home */
.brand h1{cursor:pointer}.home-screen{position:relative;overflow:hidden;padding-bottom:40px}.home-aurora{position:absolute;inset:-120px -80px auto auto;width:520px;height:520px;background:radial-gradient(circle at 30% 30%,rgba(139,156,246,.34),transparent 58%),radial-gradient(circle at 70% 70%,rgba(158,203,255,.16),transparent 55%);filter:blur(8px);pointer-events:none}.home-hero{position:relative;border:1px solid var(--line);background:linear-gradient(135deg,#2b2b32 0%,#212126 48%,#18181b 100%);border-radius:26px;padding:34px;margin:0 0 18px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.home-kicker{display:inline-flex;color:#111;background:var(--accent);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}.home-hero h1{font-size:clamp(42px,7vw,78px);line-height:.92;letter-spacing:-.06em;margin:0 0 18px;color:#fff}.home-hero p{max-width:680px;color:#c8c8cf;font-size:18px;margin:0}.home-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.home-actions button,.home-topic,.home-lecture{cursor:pointer}.home-actions .primary{border:0;background:#f2f0ff;color:#17151e;border-radius:14px;padding:12px 16px;font-weight:850}.home-actions .secondary{border:1px solid var(--line);background:#202024;color:var(--ink);border-radius:14px;padding:12px 16px}.home-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 24px}.home-stats div{border:1px solid var(--line);background:#242428;border-radius:18px;padding:16px}.home-stats b{display:block;font-size:30px;color:#fff;line-height:1}.home-stats span{color:var(--muted);font-size:13px}.home-section{margin:28px 0}.home-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.home-section h2{margin:0;font-size:28px}.home-section p{margin:0;color:var(--muted)}.home-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-topic{display:grid;gap:4px;text-align:left;border:1px solid var(--line);background:linear-gradient(180deg,#26262b,#202024);color:var(--ink);border-radius:18px;padding:14px}.home-topic:hover,.home-lecture:hover{background:#303036}.home-topic small{color:var(--muted);font-size:11px}.home-topic b{font-size:17px;color:#fff}.home-topic span{color:var(--link);font-size:12px}.home-lectures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-lecture{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;text-align:left;border:1px solid var(--line);background:#242428;color:var(--ink);border-radius:18px;padding:14px}.home-lecture span{grid-row:1/3}.home-lecture b{color:#fff}.home-lecture em{font-style:normal;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.home-hero h1{font-size:46px}.home-hero p{font-size:15px}.home-stats{grid-template-columns:repeat(2,1fr)}.home-topic-grid,.home-lectures{grid-template-columns:1fr}.home-section-head{display:block}.home-section p{margin-top:4px}.home-actions button{width:100%}}

.course-back{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#242428;color:var(--link);border-radius:999px;padding:8px 11px;margin:0 0 14px;text-decoration:none;font-weight:700;cursor:pointer}.course-back:hover{background:#303036;color:#fff}.lesson-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}

.home-lecture.active-part{border-color:var(--accent);background:#303044;box-shadow:0 0 0 1px rgba(139,156,246,.35) inset}.course-parts{margin-bottom:18px}

/* Course product polish — MLIB T6 */
.course-hero{background:radial-gradient(circle at 12% 8%,rgba(139,156,246,.20),transparent 34%),linear-gradient(135deg,#2d2d34 0%,#222226 52%,#19191c 100%);padding:24px;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.course-hero p{max-width:760px;font-size:17px;color:#d4d4dc}.course-meta-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.course-meta-line span{border:1px solid var(--line);background:#1f1f24;border-radius:999px;padding:5px 9px;color:#cfcfe8;font-size:12px;font-weight:700}
.course-value,.course-materials,.course-summary{margin:0 0 22px}.course-value h2,.course-materials h2,.course-summary>h2{font-size:22px;margin:0 0 12px}.course-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.course-value-card{border:1px solid var(--line);background:linear-gradient(180deg,#26262b,#202024);border-radius:16px;padding:14px;color:#e1e1e8}.course-path{background:#25252b;border-radius:20px}.course-materials{border:1px solid var(--line);background:#202024;border-radius:18px;padding:14px}.course-material-list{display:grid;gap:8px}.course-material-list span{border-left:3px solid var(--accent);background:#26262b;border-radius:10px;padding:9px 11px;color:#d4d4d4}.course-summary{border-top:1px solid var(--line);padding-top:18px}.course-summary>h2{color:#fff}.course-summary h1{display:none}.course-parts .home-lectures{grid-template-columns:repeat(2,minmax(0,1fr))}.course-parts .home-lecture b{line-height:1.25}.lesson-nav+.course-parts{margin-top:0}.lesson-nav+.course-parts h2{font-size:19px}

/* Course/part UX refactor */
.course-hero,.lesson-hero{border:1px solid var(--line);background:linear-gradient(135deg,#2d2d35 0%,#222228 55%,#1b1b1e 100%);border-radius:24px;padding:26px;margin:0 0 18px;box-shadow:0 18px 60px rgba(0,0,0,.22)}
.course-hero h1,.lesson-hero h1{font-size:clamp(34px,5.4vw,62px);line-height:.98;letter-spacing:-.045em;margin:8px 0 14px;color:#fff}.course-hero p,.lesson-hero p{max-width:760px;color:#c9c9d1;font-size:17px;margin:0 0 12px}.course-meta-line{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);margin:12px 0}.course-meta-line b{color:#fff}.course-value-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:14px;margin:18px 0}.course-value-grid article,.course-path,.course-summary,.course-materials,.course-agent-box,.course-inline-video,.lesson-card-content{border:1px solid var(--line);background:#242428;border-radius:18px;padding:18px;max-width:100%;overflow-wrap:anywhere}.course-value-grid h2,.course-path h2,.course-summary h2,.course-materials h2{margin-top:0}.course-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.course-section-head h2{margin:0}.course-section-head p{margin:0;color:var(--muted);max-width:520px}.course-part-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.course-part-card{display:grid;grid-template-columns:auto 1fr;gap:8px 10px;text-align:left;border:1px solid var(--line);background:#202024;color:var(--ink);border-radius:15px;padding:13px;cursor:pointer;min-width:0}.course-part-card:hover{background:#2d2d34;border-color:#51516a}.course-part-card>span{grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#303044;color:#dfe2ff;font-weight:900}.course-part-card b{line-height:1.2}.course-part-card em{font-style:normal;color:var(--muted);font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-part-card.active-part{border-color:var(--accent);background:#303044;box-shadow:0 0 0 1px rgba(139,156,246,.35) inset}.course-summary{margin-top:18px}.course-summary .internal-note{color:#cfcfe8;background:#2f2f39;border-radius:6px;padding:1px 5px}.material-links{display:flex;flex-wrap:wrap;gap:8px}.material-links a,.material-links span{border:1px solid var(--line);background:#202024;color:var(--link);border-radius:999px;padding:8px 10px;text-decoration:none}.material-links a:hover{background:#303036;color:#fff}.course-agent-box{margin-top:18px;color:var(--muted);font-size:13px}.course-agent-box summary{cursor:pointer;color:#c8c8d6;font-weight:700}.course-agent-box dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:6px 12px}.course-agent-box dd{margin:0;color:#9fa3ad;word-break:break-word}.lesson-nav{position:sticky;top:10px;z-index:3}.course-inline-video{margin:18px 0}.course-card small{display:block;color:#858895;margin-top:8px}.topbar .actions #openRaw{display:none}


/* Lazy video placeholder */
.video-lazy{position:relative;background:#1a1a1e;border-radius:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:200px;overflow:hidden;border:1px solid var(--line);background-image:radial-gradient(circle at 50% 40%,rgba(139,156,246,.08) 0%,transparent 60%)}.video-lazy:hover{border-color:var(--accent);background-image:radial-gradient(circle at 50% 40%,rgba(139,156,246,.15) 0%,transparent 60%)}.video-lazy-play{width:64px;height:64px;border-radius:50%;background:rgba(139,156,246,.85);display:flex;align-items:center;justify-content:center;font-size:28px;color:#111;transition:transform .15s ease,background .15s ease;z-index:2;box-shadow:0 4px 20px rgba(139,156,246,.3)}.video-lazy:hover .video-lazy-play{transform:scale(1.08);background:rgba(139,156,246,1)}.video-lazy-label{position:absolute;bottom:16px;left:16px;right:16px;text-align:center;color:var(--muted);font-size:13px;font-weight:600;z-index:2}.video-lazy::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 40%)}

/* Lesson practice-first polish */
.practice-brief{border:1px solid var(--line);background:linear-gradient(180deg,#282833,#222226);border-radius:18px;padding:18px;margin:0 0 18px;max-width:100%;overflow-wrap:anywhere}
.practice-brief h2{margin-top:0}
.practice-brief-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.practice-brief article{border:1px solid #3f4052;background:#202024;border-radius:14px;padding:13px}
.practice-brief h3{font-size:15px;margin:0 0 8px;color:#f1f1ff}
.practice-brief ul{margin:0;padding-left:18px}
.practice-brief li{font-size:14px;color:#d7d7df}
.topbar .actions #openRaw,.topbar .actions #external{display:none!important}

@media(max-width:760px){.close-menu{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.shell{width:100vw;max-width:100vw;overflow:hidden;grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(92vw,390px);transform:translateX(-105%);transition:transform .18s ease;z-index:20;box-shadow:20px 0 60px rgba(0,0,0,.45)}.sidebar.open{transform:translateX(0)}.backdrop.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:19}.viewer{width:100vw;max-width:100vw;min-width:0}.topbar{width:100%;height:46px;padding:0 8px;overflow:hidden}.mobile-menu{display:inline-flex;flex:0 0 auto;max-width:44px;min-width:42px;justify-content:center}.actions a{padding:6px 8px;font-size:13px;max-width:92px}.doc{padding:14px 12px calc(90px + env(safe-area-inset-bottom));max-width:100vw}.lecture-hero{padding:14px;border-radius:14px;margin-bottom:14px}.lecture-hero h1{font-size:clamp(27px,7.5vw,34px);line-height:1.08}.doc h1{font-size:clamp(28px,8.5vw,34px);line-height:1.08;letter-spacing:-.025em}.doc h2{font-size:22px;line-height:1.15}.video-player{border-radius:14px;margin-bottom:16px;max-width:100%}.brand{padding:13px 14px}.search{padding:10px 12px}.topic-strip{padding:8px 10px}.quick-topics{max-height:70px;overflow:auto}.tag-groups{max-height:210px}.nav{padding-top:4px}.group-title{padding:8px 8px}.lecture-item{padding:10px 8px}.view-switch{gap:5px}.view-btn{font-size:12px;padding:7px 4px}.time-summary{padding:12px;border-radius:14px}.time-chip{grid-template-columns:58px 1fr;padding:9px}.time-chip b{font-size:13px}.time-chip span{font-size:13px}.course-hero{padding:18px;border-radius:18px}.course-hero p{font-size:15px}.course-value-grid,.course-parts .home-lectures{grid-template-columns:1fr}.course-meta-line span{font-size:11px}.course-summary{padding-top:14px}.course-summary .doc h2{font-size:20px}.course-hero,.lesson-hero{padding:16px;border-radius:16px}.course-hero h1,.lesson-hero h1{font-size:clamp(28px,8vw,36px)}.course-value-grid{grid-template-columns:1fr}.course-section-head{display:block}.course-part-list{grid-template-columns:1fr}.course-value-grid article,.course-path,.course-summary,.course-materials,.course-agent-box,.course-inline-video,.lesson-card-content{padding:13px;border-radius:14px}.course-agent-box dl{grid-template-columns:1fr}.course-part-card em{white-space:normal}.material-links{display:grid}.material-links a,.material-links span{border-radius:12px}.lesson-nav{position:static}}
@media(max-width:760px){.practice-brief-grid{grid-template-columns:1fr}.practice-brief{padding:13px;border-radius:14px}}

/* ============================================================
   Skeleton loading
   ============================================================ */
.skeleton-wrapper{display:grid;gap:16px;padding:8px 0}
.skeleton-block{background:linear-gradient(90deg,var(--panel) 25%,var(--hover) 50%,var(--panel) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:12px;min-height:20px}
.skeleton-line{background:linear-gradient(90deg,var(--panel) 25%,var(--hover) 50%,var(--panel) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:6px;height:14px;width:100%;margin-bottom:10px}
.skeleton-line:last-child{margin-bottom:0}
@keyframes skeleton-pulse{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ============================================================
   Focus-visible accessibility
   ============================================================ */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

/* ============================================================
   Print styles
   ============================================================ */
@media print{body{background:#fff!important;color:#000!important}.sidebar,.topbar,.video-player,.course-materials,.course-agent-box,.lesson-nav,.backdrop,.mobile-menu{display:none!important}.viewer{margin:0!important;width:100%!important;max-width:100%!important}.doc{max-width:100%!important;padding:0!important;margin:0!important}.doc-wrap{overflow:visible!important}.shell{display:block!important;height:auto!important}.doc h1,.doc h2,.doc h3,.doc p,.doc li{color:#000!important}.course-hero,.lesson-hero,.course-value-grid article,.course-path,.course-summary,.lesson-card-content{border:1px solid #ccc!important;background:#fff!important;box-shadow:none!important;break-inside:avoid}.course-hero h1,.lesson-hero h1{color:#000!important}a{color:#000!important;text-decoration:underline}}
