:root{--color-primary:#2563eb;--color-primary-dark:#1e40af;--color-bg:#f6f8fc;--color-surface:#ffffff;--color-border:#eef1f6;--color-text:#0f172a;--color-muted:#64748b;--header-height:68px;--admin-sider-width:240px;--page-max:1280px;--radius:10px;--font-sans:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text)}a{color:inherit;text-decoration:none}.flex-col{display:flex;flex-direction:column}.flex-row{display:flex;flex-direction:row}.flex-1{flex:1 1;min-width:0}.page-shell{display:flex;flex-direction:column;min-height:100dvh}.page-main{flex:1 1}.page-container,.page-main{width:100%;display:flex;flex-direction:column}.page-container{max-width:var(--page-max);margin-inline:auto;padding:24px;gap:16px}.muted{color:var(--color-muted);font-size:14px}.error-text{color:#cf222e}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.learner-layout{display:flex;flex-direction:column;min-height:100dvh;overflow-x:clip}.learner-main{flex:1 1;display:flex;flex-direction:column;width:100%;min-width:0;overflow-x:clip}header.site-header{position:sticky;top:0;z-index:50;height:var(--header-height);padding:0;line-height:normal;border-bottom:1px solid var(--color-border);background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);box-shadow:0 1px 2px rgba(16,24,40,.04)}.site-header__inner{display:flex;align-items:center;gap:24px;height:100%;width:100%;max-width:var(--page-max);margin-inline:auto;padding-inline:24px}.site-header__brand{display:flex;align-items:center;flex-shrink:0}.site-header__logo{width:34px;height:34px}.site-header__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.site-header__divider{width:1px;height:24px;margin-inline:4px;background:var(--color-border)}.site-header button.site-header__icon-btn{width:36px;height:36px;font-size:17px;color:#475569}.site-header__avatar-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;background:rgba(0,0,0,0);cursor:pointer;border-radius:999px;line-height:0}.site-header__avatar.ant-avatar{flex-shrink:0}.site-header__avatar--guest.ant-avatar{background:#e8eef8;color:#475569}.site-header__menu-link{display:flex;align-items:center;justify-content:space-between;gap:16px}@media(max-width:1023px){.site-header__inner{gap:8px}.site-header__actions{gap:4px}.site-header__logo{width:28px;height:28px;border-radius:6px}.site-header button.site-header__icon-btn{width:32px;height:32px;font-size:16px}}.site-nav{display:flex;align-items:stretch;flex:1 1;min-width:0;height:100%;overflow:hidden}.site-nav__item{position:relative;display:inline-flex;align-items:center;gap:8px;height:100%;padding-inline:12px;font-size:15px;font-weight:500;color:#475569;white-space:nowrap;transition:color .18s ease}.site-nav__item:after{content:"";position:absolute;inset-inline:12px;bottom:12px;height:3px;border-radius:999px;background:rgba(0,0,0,0);transition:background-color .18s ease}.site-nav__item:hover{color:var(--site-accent,var(--color-primary))}.site-nav__item:hover:after{background:color-mix(in srgb,var(--site-accent,#2563eb) 32%,transparent)}.site-nav__item--active{color:var(--site-accent,var(--color-primary))}.site-nav__item--active:after,.site-nav__item--active:hover:after{background:var(--site-accent,var(--color-primary))}.site-nav__icon{display:inline-flex;font-size:15px;opacity:.75}@media(max-width:1199px){.site-nav__icon{display:none}.site-nav__item{padding-inline:10px;font-size:14px}.site-nav__item:after{inset-inline:10px}}.course-explorer.ant-layout{width:100%;max-width:var(--page-max);margin-inline:auto;padding:16px;background:rgba(0,0,0,0);align-items:flex-start}@media(min-width:768px){.course-explorer.ant-layout{padding:24px}}@media(min-width:1200px){.course-explorer.ant-layout{padding:0 24px}}@media(max-width:1199px){.course-explorer__sider{display:none!important}}.course-explorer__facet-toggle{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:8px 12px;border:0;background:rgba(0,0,0,0);color:#0f172a;font-size:13px;font-weight:600;line-height:1.4;text-align:start;cursor:pointer}.course-explorer__facet-title{flex:none}.course-explorer__facet-summary{margin-left:auto;min-width:0;overflow:hidden;color:#64748b;font-size:12px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.course-explorer__facet-summary:empty{width:0}.course-explorer__facet-chevron{flex:none;margin-left:4px;color:#94a3b8;font-size:10px;transition:transform .2s ease}.course-explorer__facet-chevron.is-open{transform:rotate(90deg)}.course-explorer__filter-menu.ant-menu{border-inline-end:0}.course-explorer__stage--selected>.ant-menu-submenu-title{color:var(--color-primary);font-weight:600;background:color-mix(in srgb,var(--color-primary) 8%,#fff)}@media(min-width:1200px){.course-explorer__filter-btn.ant-btn{display:none}}.course-explorer__content{padding:0;background:rgba(0,0,0,0)}@media(min-width:1200px){.course-explorer__content{padding:24px 0 24px 24px}}.course-explorer__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-block:16px}.course-explorer__toolbar .ant-segmented{max-width:100%}.course-explorer__search{width:100%;max-width:100%}@media(min-width:768px){.course-explorer__search{max-width:320px}}.course-explorer__sort.ant-select{width:100%;max-width:100%}@media(min-width:768px){.course-explorer__sort.ant-select{width:130px;margin-left:auto}}.account-page{background:#f5f7fb;min-height:calc(100vh - var(--header-height))}.account-shell{display:flex;flex-direction:column;gap:16px;width:100%;max-width:var(--page-max);margin-inline:auto;padding:16px;align-items:stretch}@media(min-width:992px){.account-shell{flex-direction:row;align-items:flex-start;gap:24px;padding:28px 24px}}.account-sidebar{display:none}@media(min-width:992px){.account-sidebar{display:block;width:220px;flex-shrink:0;position:sticky;top:88px}}.account-main-card,.account-menu,.account-mobile-bar,.account-profile{background:#fff;border:1px solid #eef1f6;border-radius:14px}.account-profile{padding:20px 16px;margin-bottom:10px;text-align:center}.account-menu{overflow:hidden}.account-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:12px}.account-mobile-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px}@media(min-width:992px){.account-mobile-bar{display:none}}.account-mobile-bar__id{min-width:0;flex:1 1 auto}.account-stat-row{display:flex;flex-shrink:0;gap:12px;text-align:center}.account-stat-row--profile{justify-content:space-around;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9}.account-stat-row__value{display:block;font-size:16px;color:#0f172a;text-align:center}.account-main-card{padding:16px}@media(min-width:992px){.account-main-card{padding:24px 28px;min-height:500px}}.account-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.account-panel-title{font-size:18px;color:#0f172a}.account-nav-btn.ant-btn{flex-shrink:0}@media(min-width:992px){.account-nav-btn.ant-btn{display:none}}.responsive-grid{display:grid;gap:14px}.responsive-grid--2,.responsive-grid--3,.responsive-grid--4,.responsive-grid--split{grid-template-columns:1fr}@media(min-width:768px){.responsive-grid--2,.responsive-grid--3,.responsive-grid--4,.responsive-grid--split{grid-template-columns:1fr 1fr}.responsive-grid--split{grid-template-columns:1.2fr 1fr}}@media(min-width:1200px){.responsive-grid--3{grid-template-columns:repeat(3,1fr)}.responsive-grid--4{grid-template-columns:repeat(4,1fr)}}.filter-control.ant-input-affix-wrapper,.filter-control.ant-select{width:100%;max-width:200px}.filter-control--short.ant-select{max-width:160px}.site-footer.ant-layout-footer{background:#fff;border-top:1px solid #eef1f6;padding:24px 0}.site-footer__inner{max-width:var(--page-max);margin-inline:auto;padding-inline:16px;display:flex;flex-direction:column;gap:24px}@media(min-width:768px){.site-footer__inner{padding-inline:24px}}.site-footer__cols{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}.site-footer__brand{grid-column:1/-1;max-width:none}.site-footer__col{display:flex;flex-direction:column;gap:10px;min-width:0}h5.site-footer__title.ant-typography{margin-top:0}.site-footer__link{color:rgba(0,0,0,.45)}.site-footer__copy.ant-typography{display:block;text-align:center}@media(min-width:768px){.site-footer.ant-layout-footer{padding-block:32px}}@media(min-width:1200px){.site-footer.ant-layout-footer{padding-block:48px}.site-footer__cols{display:flex;flex-wrap:wrap;gap:32px}.site-footer__brand{flex:1 1 240px;max-width:320px}.site-footer__col{flex:1 1 120px}}.admin-layout{display:flex;min-height:100dvh;background:var(--color-bg)}.admin-sider{width:var(--admin-sider-width);flex-shrink:0;background:#001529;display:flex;flex-direction:column}.admin-sider__brand{height:var(--header-height);display:flex;align-items:center;padding-inline:20px;color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.08)}.admin-content{flex:1 1;display:flex;flex-direction:column;min-width:0}.admin-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding-inline:24px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.admin-main{flex:1 1;padding:24px;display:flex;flex-direction:column;gap:16px}.login-page{min-height:100dvh;display:flex;background:var(--color-bg)}.login-hero{display:none;flex:1 1;flex-direction:column;justify-content:center;padding:48px;color:#fff;background:linear-gradient(135deg,#2563eb,#1e40af 50%,#4338ca)}.login-form-wrap{flex:1 1;display:flex;align-items:center;justify-content:center;padding:24px}@media(min-width:900px){.login-hero{display:flex}}.learn-layout{display:flex;gap:16px;align-items:flex-start;padding:24px;max-width:var(--page-max);margin-inline:auto;width:100%}.learn-sidebar{width:260px;flex-shrink:0;padding:16px}.learn-main,.learn-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.learn-main{flex:1 1;min-width:0;padding:20px}.learn-chapters{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.learn-chapters li.active button{background:#ddf4ff;color:var(--color-primary)}.learn-chapters button{width:100%;text-align:left;padding:8px 10px;border:none;background:rgba(0,0,0,0);border-radius:6px;cursor:pointer;font-size:14px}.lesson-content{white-space:pre-wrap;font-family:ui-monospace,monospace;font-size:14px;line-height:1.6;background:#f6f8fa;padding:16px;border-radius:8px;overflow-x:auto}.course-grid{display:flex;flex-wrap:wrap;gap:16px}.course-grid>*{flex:1 1 280px;max-width:100%}.live-videos{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.live-video{flex:1 1 240px;width:100%;max-height:240px;background:#0d1117;border-radius:8px}@media(max-width:768px){.learn-layout{flex-direction:column}.learn-sidebar{width:100%}.site-header__inner{padding-inline:16px;gap:12px}}