:root{color-scheme:dark light;--bg:var(--tg-theme-bg-color,#0b0d10);--surface:var(--tg-theme-secondary-bg-color,#15191f);--surface-2:var(--tg-theme-section-bg-color,#1d232b);--text:var(--tg-theme-text-color,#f6f7f8);--muted:var(--tg-theme-hint-color,#a9b1bd);--line:hsla(0,0%,100%,.1);--accent:var(--tg-theme-button-color,#e50914);--accent-text:var(--tg-theme-button-text-color,#fff);--accent-2:#f6c445;--ok:#2fc483;--link:var(--tg-theme-link-color,#e50914);--shadow:0 18px 45px rgba(0,0,0,.45)}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh;padding:calc(14px + env(safe-area-inset-top)) 18px calc(26px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(229,9,20,.18),transparent 280px),var(--bg)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;margin:-14px -18px 10px;padding:calc(14px + env(safe-area-inset-top)) 18px 12px;background:rgba(11,13,16,.86);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid hsla(0,0%,100%,.06)}.actions,.brandRow,.episodeRow,.filterRow,.modalTop,.statsRow{display:flex;align-items:center}.brandRow{justify-content:space-between;gap:14px;margin-bottom:12px}.brand{min-width:0}.brand h1{margin:0;font-size:clamp(24px,5vw,46px);line-height:1;font-weight:900}.brand p{margin:6px 0 0;color:var(--muted);font-size:14px}.ghostButton,.iconButton,.primaryButton{border:0;color:var(--text)}.iconButton{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:8px;background:var(--surface-2);position:relative}.iconButtonActive{background:var(--accent,#3e8eff22);color:var(--accent-text,#3e8eff)}.filterBadge{position:absolute;top:4px;right:4px;width:16px;height:16px;border-radius:50%;background:#e74c3c;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;line-height:1}.searchBox{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;min-height:46px;padding:0 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.searchBox input{width:100%;min-width:0;border:0;outline:0;color:var(--text);background:transparent}.filterRow{gap:9px;margin-top:10px;overflow-x:auto;padding-bottom:3px}.filterRow select{min-width:138px;height:40px;padding:0 10px;color:var(--text);border:1px solid var(--line);border-radius:8px;background:var(--surface)}.statsRow{gap:8px;margin:15px 0 10px;color:var(--muted);font-size:13px}.catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));grid-gap:13px;gap:13px}.courseCard{min-width:0;padding:0;overflow:hidden;text-align:left;color:var(--text);border:1px solid hsla(0,0%,100%,.08);border-radius:8px;background:var(--surface);box-shadow:0 10px 28px rgba(0,0,0,.2);transition:transform .16s ease,border-color .16s ease}.courseCard:hover{transform:translateY(-3px);border-color:rgba(229,9,20,.55)}.poster{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#252b33}.poster img{width:100%;height:100%;object-fit:cover;display:block}.posterFallback{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);background:linear-gradient(135deg,#232a31,#12161b)}.badge{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:4px 7px;border-radius:6px;background:rgba(0,0,0,.72);color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.courseBody{padding:10px}.courseBody h2{min-height:42px;margin:0;font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta{margin:8px 0 0;color:var(--muted);font-size:12px}.ghostButton,.primaryButton{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:8px;text-decoration:none;white-space:nowrap}.primaryButton{background:var(--accent);font-weight:800}.ghostButton{border:1px solid var(--line);background:var(--surface-2)}.loadMore{width:min(360px,100%);margin:22px auto 0}.empty,.error{padding:34px 14px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px}.modalBackdrop{position:fixed;inset:0;z-index:50;display:grid;align-items:end;background:rgba(0,0,0,.68)}.modal{max-height:min(92vh,880px);overflow:auto;background:#0f1318;border-radius:8px 8px 0 0;box-shadow:var(--shadow)}.modalHero{position:relative;min-height:270px;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;background:#171c22}.modalHero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}.modalHero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,19,24,.15),#0f1318 94%)}.actions,.detailGrid,.modalHero h2,.modalTop{position:relative;z-index:1}.modalTop{justify-content:flex-end;margin-bottom:70px}.modalHero h2{max-width:920px;margin:0 0 14px;font-size:clamp(26px,6vw,52px);line-height:1}.detailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;max-width:720px;margin-bottom:14px}.detailGrid div{min-width:0;padding:9px;border-radius:8px;background:rgba(0,0,0,.45)}.detailGrid span{display:block;color:var(--muted);font-size:11px}.detailGrid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{gap:9px;flex-wrap:wrap}.episodeSection{padding:16px 18px 24px}.episodeSection h3{margin:0 0 10px;font-size:18px}.episodeList{display:grid;grid-gap:8px;gap:8px}.episodeRow{min-height:48px;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.episodeRow strong{font-size:14px}.episodeRow span{color:var(--muted);font-size:12px}@media (min-width:820px){.shell,.topbar{padding-left:34px;padding-right:34px}.topbar{margin-left:-34px;margin-right:-34px}.catalog{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.modalBackdrop{align-items:center;padding:28px}.modal{width:min(1040px,100%);margin:0 auto;border-radius:8px}}.hero{margin:12px -18px 18px;padding:0 18px}.heroScroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.heroScroll::-webkit-scrollbar{display:none}.heroCard{position:relative;flex:0 0 86%;scroll-snap-align:start;aspect-ratio:16/9;border:0;border-radius:16px;overflow:hidden;cursor:pointer;background:var(--surface-2);box-shadow:var(--shadow)}.heroCard img{width:100%;height:100%;object-fit:cover}.heroOverlay{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.85));text-align:left;color:#fff}.heroOverlay h3{margin:4px 0 2px;font-size:17px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.heroOverlay p{margin:0;font-size:12px;opacity:.85}.heroBadge{display:inline-block;background:rgba(229,9,20,.85);color:#fff;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700}.row{margin:0 -18px 18px;padding:0 18px}.rowHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rowHeader h2{margin:0;font-size:16px;font-weight:700}.seeMoreBtn{background:transparent;border:0;color:var(--link);font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px}.rowScroll{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:6px}.rowScroll::-webkit-scrollbar{display:none}.rowCard{flex:0 0 140px;scroll-snap-align:start;border:0;background:var(--surface);border-radius:12px;overflow:hidden;text-align:left;cursor:pointer;padding:0;color:var(--text)}.rowPoster{width:100%;aspect-ratio:9/13;position:relative;background:var(--surface-2)}.rowPoster img{width:100%;height:100%;object-fit:cover}.rowCardBody{padding:8px 9px 10px}.rowCardBody h3{margin:0 0 4px;font-size:12px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rowCardBody p{margin:0;font-size:10px;color:var(--muted)}