@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fa93af41-module__0D_jrq__className{font-family:Inter,Inter Fallback;font-style:normal}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8298327da6d5bcce-s.0vdai6er2bzon.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.3xwp9-ll1pnw_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2b402d8aebffd579-s.370ev4_4-yiay.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a88409fdd7dc121c-s.41r31qmhr7_rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1gavkj72q9u43.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../media/8298327da6d5bcce-s.0vdai6er2bzon.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.3xwp9-ll1pnw_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../media/2b402d8aebffd579-s.370ev4_4-yiay.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../media/a88409fdd7dc121c-s.41r31qmhr7_rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1gavkj72q9u43.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_329b9581-module__9urO4G__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_329b9581-module__9urO4G__variable{--font-montserrat:"Montserrat", "Montserrat Fallback"}
:root{--bg:#fff;--fg:#080808;--fg-2:#363636;--muted:#5a5a5a;--meta:#ababab;--border:#d8d8d8;--border-soft:#ebebeb;--accent:#146ef5;--accent-hover:#0055d4;--accent-on:#fff;--success:#00d722;--danger:#ee1d36;--container-max:1200px;--radius-sm:4px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--fg);background:var(--bg);font-family:Inter,Arial,system-ui,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.course-app{flex-direction:column;min-height:100vh;display:flex}.course-app.is-learning{height:100dvh;overflow:hidden}.course-app main{flex:1}.course-app.is-learning main{flex-direction:column;min-height:0;display:flex;overflow:hidden}.course-nav{z-index:110;border-bottom:1px solid var(--border);--course-nav-h:72px;background:#fff;position:sticky;top:0}.course-nav__inner,.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}.course-nav__inner{min-height:var(--course-nav-h);box-sizing:border-box;align-items:center;gap:20px;display:flex}.course-nav__inner--learn{justify-content:space-between;width:100%;max-width:none}.course-nav__left{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.course-nav__logo+.course-nav__links{margin-left:20px}.course-nav__brand{color:var(--accent);white-space:nowrap;font-weight:700}.course-nav__logo{flex-shrink:0;align-items:center;width:112px;line-height:0;display:inline-flex}.course-nav__logo-mark{flex-shrink:0;width:100%;height:auto;display:block}.course-nav__logo-mark svg{width:100%;height:auto;display:block}.course-nav__logo-mark svg path,.course-nav__logo-mark svg text{fill:#212d5d}.course-nav__links{color:var(--fg-2);gap:20px;display:flex}.course-nav__search{flex:1;max-width:420px}.course-nav--learn .course-nav__search{max-width:360px}.course-nav__search input{border:1px solid var(--border);border-radius:999px;width:100%;height:40px;padding:0 16px}.course-nav__actions{flex-shrink:0;align-items:center;gap:12px;margin-left:auto;display:flex}.course-nav__auth{color:var(--accent);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0}.course-app.is-learning main{background:#f5f6fa}.course-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:48px;padding:32px 0}.course-footer__inner{max-width:var(--container-max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:0 24px;display:flex}.course-footer p{margin:0}.course-footer__legal{color:inherit;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0;display:flex}.course-footer__legal span{margin:0}.course-footer__links{align-items:center;gap:16px;display:flex}.btn-primary,.btn-secondary{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;height:44px;padding:0 20px;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-on)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{border:1px solid var(--border);color:var(--fg);background:0 0}.section{padding:48px 0}.section-title{margin:0 0 24px;font-size:24px;font-weight:700}.welcome-banner{border-bottom:1px solid var(--border-soft);background:linear-gradient(135deg,#f0f4ff 0%,#e8f0fe 100%);padding:32px 0;position:relative;overflow:hidden}.welcome-banner--merged{padding-bottom:40px}.welcome-banner__content{max-width:var(--container-max);z-index:1;margin:0 auto;padding:0 24px;position:relative}.welcome-inner{z-index:1;max-width:none;margin:0;padding:0;position:relative}.welcome-greeting{color:var(--muted);margin:0 0 8px;font-size:14px}.welcome-greeting a{color:var(--accent);font-weight:500}.welcome-title{margin:0 0 16px;font-size:32px;font-weight:600;line-height:1.2}.welcome-progress-row{align-items:center;gap:16px;max-width:420px;margin-bottom:8px;display:flex}.welcome-progress-bar{background:var(--border-soft);border-radius:3px;flex:1;min-width:0;height:6px;overflow:hidden}.welcome-progress-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .25s;display:block}.welcome-progress-text{color:var(--accent);white-space:nowrap;flex-shrink:0;font-size:14px;font-weight:500}.welcome-decoration{pointer-events:none;width:55%;height:100%;position:absolute;top:0;right:0}.welcome-decoration--tall{height:100%;min-height:100%}.welcome-featured-card{margin-top:24px}.continue-card--embedded{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;min-height:280px;display:flex;overflow:hidden;box-shadow:0 8px 24px #0000000f}@keyframes w-float{0%,to{transform:translate(0)}50%{transform:translate(-8px,6px)}}@keyframes w-float2{0%,to{transform:translate(0)}50%{transform:translate(6px,-10px)}}@keyframes w-float3{0%,to{transform:translate(0)}50%{transform:translate(-5px,-5px)}}.w-float{animation:8s ease-in-out infinite w-float}.w-float2{animation:10s ease-in-out infinite w-float2}.w-float3{animation:6s ease-in-out infinite w-float3}.cert-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;transition:box-shadow .2s;overflow:hidden}.cert-card:hover{box-shadow:0 8px 24px #00000014}.cert-card__cover{aspect-ratio:16/10;object-fit:cover;background:var(--border-soft);width:100%}.cert-card__cover-wrap{position:relative}.cert-card__body{padding:16px}.cert-card__title{margin:0 0 8px;font-size:18px;font-weight:600}.cert-card__subtitle{color:var(--meta);margin:0 0 12px;font-size:16px;font-weight:400;line-height:1.45}.cert-card__summary{color:var(--fg-2);margin:0 0 12px;font-size:14px}.cert-card__meta{color:var(--meta);font-size:13px}.cert-card__meta--icons{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;display:flex}.cert-card__meta-item{align-items:center;gap:6px;display:inline-flex}.cert-card__meta-item svg{flex-shrink:0;width:14px;height:14px}.cert-card__meta-dot{opacity:.6}.hero{background:linear-gradient(135deg,#f0f4ff 0%,#e8f0fe 50%,#f8f9ff 100%);padding:48px 0;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#146ef50d 0%,#0000 70%);border-radius:50%;width:350px;height:350px;position:absolute;top:50%;right:-80px;transform:translateY(-50%)}.hero__grid{z-index:1;grid-template-columns:1fr 340px;align-items:center;gap:48px;display:grid;position:relative}.hero h1{margin:0 0 16px;font-size:42px;line-height:1.15}.course-part-of{color:#000;margin:0 0 12px;font-size:18px;font-weight:400;line-height:1.45}.course-part-of a{color:#000;text-underline-offset:2px;text-decoration:underline}.course-part-of a:hover{color:#0056d2}.hero__lead{color:var(--fg-2);margin-bottom:20px;font-size:18px}.hero__actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.hero__resume{min-width:0;margin-left:16px}.hero__resume-lesson{color:var(--fg-2);margin:0 0 2px;font-size:14px}.hero__resume-meta{color:var(--meta);margin:0;font-size:14px}.hero-decoration{justify-content:center;align-items:center;display:flex}.hero-geo-svg{width:320px;max-width:100%;height:320px}.hero-wave-svg{width:300px;max-width:100%;height:300px}.hero-media{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.hero-media__primary{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);width:100%;max-width:340px;display:block}.hero-media__thumbs{gap:8px;display:flex}.hero-media__thumbs img,.hero-media__thumbs video{object-fit:cover;border:1px solid var(--border);border-radius:4px;width:72px;height:54px}@keyframes c-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.03)}}@keyframes c-pulse2{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.97)}}@keyframes c-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes c-rotate-rev{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.c-pulse{transform-origin:200px 200px;animation:6s ease-in-out infinite c-pulse}.c-pulse2{transform-origin:200px 200px;animation:8s ease-in-out infinite c-pulse2}.c-rotate{transform-origin:200px 200px;animation:40s linear infinite c-rotate}.c-rotate-rev{transform-origin:200px 200px;animation:50s linear infinite c-rotate-rev}.metrics-bar{border:1px solid var(--border);border-radius:var(--radius-sm);z-index:2;background:#fff;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:-20px;padding:20px 24px;display:grid;position:relative;box-shadow:0 4px 16px #0000000f}.metric__value{font-size:22px;font-weight:700}.metric__label{color:var(--muted);font-size:14px}.tabs{border-bottom:1px solid var(--border);gap:8px;margin:32px 0 24px;display:flex}.tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px}.tab.is-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.detail-grid{grid-template-columns:1fr 300px;align-items:start;gap:32px;display:grid}.detail-grid h2{margin:0 0 16px;font-size:24px;font-weight:600}.detail-grid h3{margin:28px 0 12px;font-size:20px;font-weight:600}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--border-soft);background:#f5f7fa;border-radius:999px;padding:6px 12px;font-size:13px}.outcome-list{grid-template-columns:1fr 1fr;gap:12px 24px;margin:0 0 8px;padding:0;list-style:none;display:grid}.outcome-list li:before{content:"✓ ";color:var(--accent);font-weight:700}.course-list-item{border:1px solid var(--border);border-radius:var(--radius-sm);gap:16px;margin-bottom:12px;padding:16px;display:flex}.course-list-item__thumb{border-radius:var(--radius-sm);object-fit:cover;background:var(--border-soft);flex-shrink:0;width:72px;height:72px}.course-list-item__title{color:var(--accent);margin-bottom:4px;font-weight:600}.course-accordion{flex-direction:column;gap:12px;display:flex}.course-item,.module-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;overflow:hidden}.course-item__header{text-align:left;background:#fff;align-items:center;gap:16px;width:100%;padding:16px;display:flex}.course-item__header:hover{background:#fafbfc}.module-item__header{cursor:pointer;text-align:left;background:#fff;border:none;align-items:center;gap:16px;width:100%;padding:16px;display:flex}.module-item__header:hover{background:#fafbfc}.course-item__thumb{border-radius:var(--radius-sm);object-fit:cover;background:var(--border-soft);flex-shrink:0;width:64px;height:64px}.course-item__info{flex:1;min-width:0}.course-item__title{color:#000;text-underline-offset:2px;font-size:18px;font-weight:700;line-height:1.35;text-decoration:underline;display:inline}.course-item__title:hover{color:#0056d2}.course-item__title--static,.course-item__title--static:hover{color:#000;cursor:default;text-decoration:none}.module-item__title{color:var(--accent);margin-bottom:4px;font-weight:600}.course-item__meta{color:#5f6368;margin-top:4px;font-size:14px;font-weight:400}.module-item__meta{color:var(--meta);margin-top:6px;font-size:13px}.course-item__toggle{cursor:pointer;color:var(--meta);background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;display:flex}.course-item__chevron,.module-item__chevron{width:20px;height:20px;color:var(--meta);flex-shrink:0;transition:transform .2s}.course-item.is-expanded .course-item__chevron,.module-item.is-expanded .module-item__chevron{transform:rotate(180deg)}.course-item__body,.module-item__body{padding:0 16px 16px}.course-item__body p{color:var(--fg-2);margin:0 0 12px;font-size:14px}.module-list{flex-direction:column;gap:8px;display:flex}.module-row,.lesson-row{border-radius:var(--radius-sm);background:#f8f9fc;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.module-row{justify-content:flex-start}.module-row__title{flex:1;min-width:0}.module-row__check{color:#2d8a4e;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;font-weight:700;display:inline-flex}.module-row.is-complete{color:#2d8a4e;background:#f3fbf6}.module-row.is-complete svg{color:#2d8a4e}.module-row__badge{color:#2d8a4e;flex-shrink:0;margin-left:auto;font-size:12px;font-weight:600}.module-block.is-complete .lesson-complete-list{margin-bottom:14px}.module-row svg,.lesson-row__icon{width:16px;height:16px;color:var(--meta);flex-shrink:0}.lesson-row__title{color:var(--fg-2);flex:1}.lesson-row__meta{color:var(--meta);white-space:nowrap;font-size:12px}.learning-layout{background:#f5f6fa;flex:1;grid-template-columns:300px 1fr 300px;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.learning-layout>*{min-height:0}.learning-layout.is-gated>:not(.learn-auth-gate){pointer-events:none;-webkit-user-select:none;user-select:none}.learn-auth-gate{z-index:900;overscroll-behavior:none;background:#0808088c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.learn-auth-gate__card{text-align:center;background:#fff;border-radius:8px;width:100%;max-width:420px;padding:28px 24px;box-shadow:0 16px 48px #0000002e}.learn-auth-gate__title{margin:0 0 10px;font-size:22px;font-weight:700}.learn-auth-gate__body{color:var(--muted);margin:0 0 20px;font-size:15px;line-height:1.5}.learn-auth-gate__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.sidebar-left,.sidebar-right{background:#fff;min-height:0}.sidebar-left{border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.sidebar-right{border-left:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.units-nav{flex:1;min-height:0;padding:12px 16px 16px;overflow:auto}.sidebar-right__body{flex:1;min-height:0;overflow-y:auto}.sidebar-left-header{border-bottom:1px solid var(--border-soft);flex-shrink:0;padding:20px}.sidebar-left-provider{color:var(--muted);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.sidebar-left-provider a{color:inherit;text-decoration:none}.sidebar-left-provider a:hover{color:var(--accent)}.sidebar-left-provider svg{width:22px;height:22px;color:var(--accent);flex-shrink:0}.sidebar-left-title{color:var(--fg);font-size:16px;font-weight:600;line-height:1.4;display:block}.unit-group{margin-bottom:8px}.unit-header{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;color:var(--fg);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.unit-header:hover{background:#f5f7fa}.unit-header.is-active{background:color-mix(in oklab, var(--accent), transparent 94%);color:var(--accent)}.unit-header svg{width:16px;height:16px;color:var(--meta);flex-shrink:0;transition:transform .15s}.unit-header.is-expanded svg{transform:rotate(180deg)}.unit-header__label{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.unit-header__index{color:inherit;opacity:.8;font-size:12px;font-weight:600}.unit-header__title{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.unit-check,.lesson-radio{box-sizing:border-box;color:#0000;background:#fff;border:2px solid #c4c4c4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.unit-check.is-done,.lesson-radio.is-done{color:#fff;background:#137333;border-color:#137333}.unit-check svg,.lesson-radio svg{fill:none;flex-shrink:0;width:10px;height:10px;display:block;stroke:#fff!important}.lesson-nav-item.is-active .lesson-radio.is-done,.unit-header.is-active .unit-check.is-done,.lesson-nav-item.is-completed .lesson-radio.is-done{background:#137333;border-color:#137333}.unit-lessons{flex-direction:column;gap:2px;margin-top:2px;display:flex}.lesson-nav-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;color:var(--fg-2);background:0 0;border:none;align-items:center;gap:10px;padding:8px 12px 8px 18px;display:flex}.lesson-nav-item:hover{background:#f5f7fa}.lesson-nav-item.is-active{background:color-mix(in oklab, var(--accent), transparent 94%);color:var(--accent);font-weight:500}.lesson-nav-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.lesson-nav-type{color:var(--meta);white-space:nowrap;flex-shrink:0;font-size:12px}.learning-main{max-width:none;min-height:0;padding:24px;position:relative;overflow-y:auto}.learn-content-panel--preload{visibility:hidden;pointer-events:none;position:absolute;inset:24px;overflow:hidden}.learn-content-skeleton{flex-direction:column;gap:16px;display:flex}.learn-content-skeleton__video{aspect-ratio:16/9;border-radius:8px}.learn-content-skeleton__title{border-radius:6px;width:min(420px,72%);height:28px}.learn-content-skeleton__line{border-radius:4px;width:100%;height:14px}.learn-content-skeleton__line--short{width:68%}.learn-sidebar-skeleton{flex-direction:column;gap:12px;padding:16px;display:flex}.learn-sidebar-skeleton__tab{border-radius:6px;width:88px;height:36px}.learn-sidebar-skeleton__block{border-radius:8px;height:120px;margin-top:4px}.learn-sidebar-skeleton__line{border-radius:4px;width:100%;height:12px}.learn-sidebar-skeleton__line--short{width:55%}.learn-shimmer{background:linear-gradient(90deg,#eceff4 0%,#f8f9fb 45%,#eceff4 90%) 0 0/200% 100%;animation:1.2s ease-in-out infinite learn-shimmer}@keyframes learn-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.video-player{aspect-ratio:16/9;background:#111;border-radius:8px;margin-bottom:24px;position:relative;overflow:hidden}.video-player__media{object-fit:contain;background:#000;width:100%;height:100%;display:block}.video-player__empty{color:#fff;place-items:center;width:100%;height:100%;display:grid}.video-player__play{color:#fff;cursor:pointer;background:#146ef5f2;border:none;border-radius:50%;place-items:center;width:72px;height:72px;margin:auto;display:grid;position:absolute;inset:0;box-shadow:0 8px 24px #00000040}.video-player__play:hover{background:var(--accent-hover,#0055d4)}.lesson-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.lesson-header__title{margin:0;font-size:28px;line-height:1.2}.lesson-desc{color:var(--fg-2);line-height:1.6}.right-tabs{border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.right-tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px;font-weight:500}.right-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.right-tab-content{padding:16px}.note-input{border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;width:100%;min-height:80px;font:inherit;margin-bottom:12px;padding:12px}.note-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.note-input::placeholder{color:var(--meta)}.note-save-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:none;width:100%;height:36px;margin-bottom:16px;font-weight:500}.note-save-btn:disabled{opacity:.5;cursor:not-allowed}.note-section-title{color:var(--meta);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border-soft);margin-bottom:12px;padding-bottom:8px;font-size:12px;font-weight:600}.note-list{flex-direction:column;gap:12px;display:flex}.note-record{border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:12px;position:relative}.note-record:hover{background:#fafbfc}.note-record-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.note-record-time{color:var(--meta);align-items:center;gap:4px;font-family:ui-monospace,monospace;font-size:12px;display:flex}.note-record-time svg{flex-shrink:0;width:12px;height:12px}.note-record-actions{gap:4px;display:flex}.note-record-btn{cursor:pointer;border-radius:var(--radius-sm);width:24px;height:24px;color:var(--meta);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.note-record-btn:hover{color:var(--fg-2);background:#f0f0f0}.note-record-btn.delete:hover{color:#ee1d36;background:#ee1d3614}.note-record-btn svg{width:14px;height:14px}.note-record-text{color:var(--fg-2);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.6}.note-record-tag{background:color-mix(in oklab, var(--accent), transparent 92%);color:var(--accent);border-radius:999px;margin-top:8px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-block}.note-empty{text-align:center;color:var(--meta);padding:32px 12px}.note-empty svg{opacity:.4;width:32px;height:32px;margin-bottom:8px}.note-empty p{margin:0;font-size:14px}.note-confirm{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;margin-top:10px;padding:10px 12px}.note-confirm p{color:var(--fg-2);margin:0 0 10px;font-size:13px}.note-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.note-confirm-cancel,.note-confirm-ok{border-radius:var(--radius-sm);cursor:pointer;height:28px;padding:0 10px;font-size:13px}.note-confirm-cancel{border:1px solid var(--border);color:var(--fg-2);background:#fff}.note-confirm-ok{color:#fff;background:#ee1d36;border:none}.note-save-btn:hover{background:var(--accent-hover)}.file-item{border-bottom:1px solid var(--border-soft);color:inherit;align-items:center;gap:12px;padding:12px;display:flex}.file-item:hover{background:#f5f7fa;text-decoration:none}.file-icon{border-radius:var(--radius-sm);background:#f0f4ff;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.file-icon svg{width:16px;height:16px;color:var(--accent)}.file-name{color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:14px;font-weight:500;overflow:hidden}.file-size{color:var(--meta);font-size:12px}.files-empty{color:var(--meta);margin:8px 0;font-size:14px}.sidebar-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;align-self:start;padding:20px 16px}.sidebar-card__title{color:var(--fg);margin:0 0 12px;font-size:18px;font-weight:600}.instructor-row,.provider-row{align-items:center;gap:16px;display:flex}.instructor-avatar,.provider-logo{border-radius:var(--radius-sm);background:var(--accent);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.provider-logo{width:40px;height:40px}.instructor-avatar svg,.provider-logo svg{fill:#fff;width:26px;height:26px}.provider-logo svg{width:22px;height:22px}.instructor-name,.provider-name{color:var(--fg);font-size:16px;font-weight:600}.instructor-org{color:var(--muted);margin-top:2px;font-size:14px}.instructor-stats{color:var(--muted);margin:20px 0 0;font-size:14px}.instructor-stats--icons{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.instructor-stats--icons svg{flex-shrink:0;width:14px;height:14px}.sidebar-divider{border:none;border-top:1px solid var(--border);margin:12px 0}.inline-loading{min-height:40px;color:var(--muted);align-items:center;gap:10px;font-size:14px;display:inline-flex}.inline-loading--detail{min-height:0;padding:12px 0;display:flex}.inline-loading--nav{justify-content:center;width:100%;min-height:120px;padding:24px 16px;display:flex}.inline-loading__spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite page-loading-spin}.auth-modal-overlay{z-index:1000;overscroll-behavior:none;touch-action:none;background:#08080873;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.auth-modal{overscroll-behavior:contain;touch-action:auto;background:#fff;border-radius:8px;width:100%;max-width:440px;max-height:calc(100vh - 48px);padding:32px 28px 28px;position:relative;overflow:auto;box-shadow:0 16px 48px #0000002e}.auth-modal__close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;font-size:24px;line-height:1;position:absolute;top:12px;right:12px}.auth-modal__close:hover{color:var(--fg);background:#f5f5f5}.auth-modal__title{margin:0 0 8px;font-size:24px;font-weight:700}.auth-modal__subtitle{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.5}.auth-modal__tabs{border-bottom:1px solid var(--border);gap:8px;margin-bottom:20px;display:flex}.auth-modal__tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:10px 12px;font-weight:600}.auth-modal__tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.auth-modal__error{border-radius:var(--radius-sm);color:#b42318;background:#fff1f2;margin:0 0 12px;padding:10px 12px;font-size:14px}.auth-modal__form{flex-direction:column;gap:8px;display:flex}.auth-modal__label{color:var(--fg);font-size:14px;font-weight:600}.auth-modal__optional{color:var(--meta);font-size:13px;font-weight:400}.auth-modal__input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:44px;margin-bottom:8px;padding:0 12px;font-size:15px}.auth-modal__input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #146ef533}.auth-modal__check{color:var(--fg-2);align-items:flex-start;gap:8px;margin:4px 0 8px;font-size:14px;display:flex}.auth-modal__check input{margin-top:3px}.auth-modal__file{border:1px dashed var(--border);border-radius:var(--radius-sm);min-height:48px;color:var(--muted);cursor:pointer;align-items:center;margin-bottom:4px;padding:10px 14px;font-size:14px;display:flex}.auth-modal__file input{display:none}.auth-modal__help{color:var(--meta);margin:0 0 8px;font-size:12px}.auth-modal__submit{width:100%;margin-top:8px}.auth-modal__submit:disabled{opacity:.7;cursor:not-allowed}.auth-modal__switch{text-align:center;color:var(--muted);margin:16px 0 0;font-size:14px}.auth-modal__link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.course-nav__account{position:relative}.course-nav__avatar{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:inline-flex}.course-nav__avatar:hover{background:var(--accent-hover)}.account-menu{border:1px solid var(--border);z-index:50;background:#fff;border-radius:8px;min-width:200px;padding:8px 0;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001f}.account-menu__item{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:14px;text-decoration:none;display:block}.account-menu__item:hover{background:#f5f7fa;text-decoration:none}.account-menu__item--danger{color:#b42318}.exam-gate{text-align:center;min-height:48vh;color:var(--fg-2);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.page-loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:48vh;padding:48px 24px;display:flex}.page-loading__spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite page-loading-spin}.page-loading__label{color:var(--muted);margin:0;font-size:14px}@keyframes page-loading-spin{to{transform:rotate(360deg)}}.exam-page{background:#f5f6fa;flex-direction:column;flex:1;min-height:0;display:flex}.exam-topbar{--exam-topbar-h:56px;top:var(--course-nav-h);z-index:10;background:var(--bg);border-bottom:1px solid var(--border);min-height:var(--exam-topbar-h);flex-shrink:0;align-items:center;gap:20px;padding:0 24px;display:flex;position:sticky}.exam-topbar-left{flex:0 auto;align-items:center;gap:16px;min-width:0;max-width:min(100%,640px);display:flex}.exam-topbar-brand{white-space:nowrap;color:var(--fg);font-size:16px;font-weight:600;line-height:1.2;text-decoration:none}.exam-topbar-brand span{color:var(--accent)}.exam-topbar-divider{background:var(--border);flex-shrink:0;width:1px;height:20px}.exam-topbar-exam{color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:500;line-height:1.2;overflow:hidden}.exam-topbar-right{flex-shrink:0;align-items:center;gap:20px;margin-left:auto;display:flex}.exam-topbar-center{flex-shrink:0;align-items:center;gap:20px;display:flex}.exam-topbar__submit{white-space:nowrap;height:36px;padding:0 16px;font-size:14px}.exam-timer{font-size:16px;font-weight:600;font-family:var(--font-mono,monospace);align-items:center;gap:8px;display:flex}.exam-timer.is-urgent{color:var(--danger,#ee1d36)}.exam-stats{color:var(--muted);gap:16px;font-size:14px;display:flex}.exam-stats span{align-items:center;gap:4px;display:flex}.exam-stats .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.exam-stats .dot-done{background:var(--accent)}.exam-stats .dot-current{background:#ffae13}.exam-stats .dot-marked{background:var(--meta)}.exam-layout-grid{flex:1;grid-template-columns:260px 1fr;align-content:start;gap:24px;width:100%;max-width:1160px;min-height:0;margin:0 auto;padding:24px;display:grid;overflow:auto}.question-grid-panel{align-self:start;position:sticky;top:24px}.question-grid-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px}.question-grid-card h4{margin-bottom:16px;font-size:14px;font-weight:600}.question-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.q-num{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg);color:var(--fg-2);justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex}.q-num.is-current{background:var(--accent);border-color:var(--accent);color:#fff}.q-num.is-done{border-color:var(--accent);color:var(--accent);background:#f0f6ff}.q-num.is-marked{color:#ffae13;border-color:#ffae13;position:relative}.q-num.is-marked:after{content:"";background:#ffae13;border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:2px}.btn-mark{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg);width:100%;height:36px;margin-top:16px;font-size:14px}.btn-mark.is-active{color:#ffae13;background:#fffbf0;border-color:#ffae13}.question-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:24px;padding:32px}.question-card.needs-answer{border-color:#ffae13;box-shadow:0 0 0 3px #ffae132e;box-shadow:0 0 0 3px lab(77.6574% 23.1672 78.1547/.18)}.answer-required-hint{border-radius:var(--radius-sm);color:#8a5a00;background:#fff8e8;border:1px solid #ffae1373;border:1px solid lab(77.6574% 23.1672 78.1547/.45);margin:-8px 0 20px;padding:10px 14px;font-size:14px;font-weight:600}.q-header{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;display:flex}.q-number{color:var(--accent);background:#f0f6ff;border-radius:9999px;padding:2px 10px;font-size:14px;font-weight:600}.q-type{color:var(--muted);background:#f5f7fa;border-radius:9999px;padding:2px 8px;font-size:12px}.q-score{color:var(--meta);margin-left:auto;font-size:14px}.q-text{margin-bottom:24px;font-size:20px;font-weight:500;line-height:1.6}.option-list{flex-direction:column;gap:12px;display:flex}.option-item{cursor:pointer;color:var(--fg);font:inherit;text-align:left;background:#fff;border:1px solid #e8e8e8;border-radius:6px;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.option-item:hover{background:#fff;border-color:#cfcfcf}.option-item.is-selected{border-color:var(--accent);background:#f0f6ff}.option-radio{box-sizing:border-box;background:#fff;border:1.5px solid #d0d0d0;border-radius:50%;flex-shrink:0;width:20px;height:20px}.option-item.is-selected .option-radio{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px #fff}.option-check{box-sizing:border-box;background:#fff;border:1.5px solid #d0d0d0;border-radius:4px;flex-shrink:0;width:20px;height:20px}.option-item.is-selected .option-check{border-color:var(--accent);background:var(--accent);color:#fff;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.option-label{color:var(--fg);flex-shrink:0;font-size:16px;font-weight:700;line-height:1.4}.option-text{color:var(--fg-2);text-align:left;flex:1;font-size:16px;font-weight:400;line-height:1.5}.tf-options{gap:16px;display:flex}.tf-btn{cursor:pointer;min-height:56px;color:var(--fg-2);background:#fff;border:1px solid #e8e8e8;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-family:inherit;font-size:16px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.tf-btn:hover{border-color:#cfcfcf}.tf-btn__icon{flex-shrink:0;width:20px;height:20px}.tf-btn.is-true{color:#065a0e;background:#f0fff4;border-color:#00d722}.tf-btn.is-false{color:#8b0d1e;background:#fff5f6;border-color:#ee1d36}.fill-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:48px;padding:0 16px;font-size:16px}.fill-prompt{margin-bottom:16px;font-size:20px;font-weight:500;line-height:1.6}.q-nav{justify-content:space-between;align-items:center;margin-top:24px;display:flex}.exam-page.is-timed-out .exam-topbar,.exam-page.is-timed-out .exam-layout-grid,.exam-page.is-submitting .exam-topbar,.exam-page.is-submitting .exam-layout-grid{pointer-events:none;-webkit-user-select:none;user-select:none}.exam-submit-overlay{z-index:320;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080808b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.exam-submit-card{text-align:center;background:#fff;border-radius:10px;width:100%;max-width:420px;padding:40px 32px;box-shadow:0 20px 60px #00000047}.exam-submit-card__spinner{border:3px solid #e8ecf2;border-top-color:var(--accent);border-radius:50%;width:44px;height:44px;margin:0 auto 20px;animation:.7s linear infinite page-loading-spin}.exam-submit-card h2{color:var(--fg);margin:0 0 10px;font-size:22px;font-weight:700}.exam-submit-card p{color:var(--fg-2);margin:0;font-size:14px;line-height:1.55}.exam-topbar__submit.is-loading{opacity:.85;cursor:wait}.exam-timeout-overlay{z-index:300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0808089e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.exam-timeout-card{text-align:center;background:#fff;border-radius:10px;width:100%;max-width:440px;padding:36px 32px;box-shadow:0 20px 60px #00000040}.exam-timeout-card__icon{color:#ee1d36;background:#fff5f6;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.exam-timeout-card__icon svg{width:28px;height:28px}.exam-timeout-card h2{color:var(--fg);margin:0 0 10px;font-size:24px;font-weight:700}.exam-timeout-card p{color:var(--fg-2);margin:0 0 24px;font-size:15px;line-height:1.55}.exam-timeout-card__cta{justify-content:center;min-width:180px;display:inline-flex}.exam-modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.exam-modal{background:var(--bg);border-radius:8px;width:100%;max-width:440px;padding:32px}.exam-modal h3{margin-bottom:16px;font-size:24px;font-weight:600}.exam-modal-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.exam-modal-stat{text-align:center;border-radius:var(--radius-sm);background:#f5f7fa;padding:16px}.exam-modal-stat .num{font-size:24px;font-weight:600}.exam-modal-stat .label{color:var(--muted);margin-top:4px;font-size:12px}.exam-modal-actions{gap:12px;display:flex}.exam-modal-actions .btn-primary,.exam-modal-actions .btn-secondary{flex:1;justify-content:center}.result-page{max-width:900px;margin:0 auto;padding:32px 24px 64px}.result-banner{border-radius:var(--radius-sm);text-align:center;margin-bottom:32px;padding:32px}.result-banner.is-pass{background:#f0fff4;border:1px solid #00d722}.result-banner.is-fail{background:#fff5f6;border:1px solid #ee1d36}.result-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px;display:grid}.result-stat-card{border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;background:#fff;padding:20px}.result-stat-card .value{font-size:28px;font-weight:600}.result-stat-card .label{color:var(--muted);margin-top:4px;font-size:13px}.result-review{flex-direction:column;gap:12px;display:flex}.result-review-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;overflow:hidden}.result-review-item summary{cursor:pointer;align-items:center;gap:12px;padding:16px 20px;font-weight:500;list-style:none;display:flex}.result-review-item summary::-webkit-details-marker{display:none}.result-review-item.is-correct summary{color:#065a0e}.result-review-item.is-wrong summary{color:#8b0d1e}.result-review-body{color:var(--fg-2);padding:0 20px 16px;font-size:14px}.result-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}@media (max-width:768px){.exam-layout-grid{grid-template-columns:1fr}.question-grid-panel{position:static}.exam-topbar-right{gap:12px}.exam-topbar-center{display:none}}.result-banner{text-align:center;padding:48px 24px}.result-banner.is-pass{color:#067a1c;background:#ecfdf0}.result-banner.is-fail{color:#b42318;background:#fff1f2}.result-icon{border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 20px;display:flex}.result-icon.pass{color:#00b81e;background:#00d7221f}.result-icon.fail{color:#ee1d36;background:#ee1d361f}.result-icon svg{width:36px;height:36px}.result-banner h1{letter-spacing:-.5px;margin-bottom:8px;font-size:40px;font-weight:600}.result-banner h1.pass{color:#00b81e}.result-banner h1.fail{color:#ee1d36}.result-subtitle{color:var(--fg-2);margin-bottom:8px;font-size:18px}.result-score{margin:20px 0 8px;font-family:ui-monospace,monospace;font-size:48px;font-weight:600}.result-score.pass{color:#00b81e}.result-score.fail{color:#ee1d36}.result-pass-info{color:var(--muted);font-size:14px}.score-details{grid-template-columns:repeat(4,1fr);gap:16px;margin:32px 0;display:grid}.score-card{border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;background:#fff;padding:20px}.score-card .value{font-family:ui-monospace,monospace;font-size:28px;font-weight:600}.score-card .label{color:var(--muted);margin-top:4px;font-size:13px}.review-section{margin:32px 0}.review-title{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;font-size:20px;font-weight:600;display:flex}.review-filter{gap:8px;margin-left:auto;display:flex}.filter-btn{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.filter-btn.active{background:var(--fg);color:#fff;border-color:var(--fg)}.review-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;margin-bottom:12px;overflow:hidden}.review-item-header{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:14px 18px;display:flex}.review-item-header:hover{background:#fafbfc}.review-status{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.review-status.correct{color:#00b81e;background:#00d7221f}.review-status.wrong{color:#ee1d36;background:#ee1d361f}.review-q-num{font-size:14px;font-weight:600}.review-q-type{color:var(--meta);background:#f5f7fa;border-radius:999px;padding:2px 8px;font-size:12px}.review-q-text{color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.review-chevron{width:16px;height:16px;color:var(--meta);flex-shrink:0;transition:transform .15s}.review-item.expanded .review-chevron{transform:rotate(180deg)}.review-item-body{border-top:1px solid var(--border-soft);padding:0 18px 16px}.question-full{margin:16px 0;font-size:15px;font-weight:500;line-height:1.6}.review-answer{margin-top:8px}.review-answer-row{border-radius:var(--radius-sm);gap:12px;margin-bottom:8px;padding:10px 12px;font-size:14px;display:flex}.review-answer-row.user-wrong{background:#ee1d360f}.review-answer-row.user-correct,.review-answer-row.correct-answer{background:#00d72214}.review-answer-label{white-space:nowrap;min-width:88px;font-weight:600}.review-answer-label.user{color:#ee1d36}.review-answer-label.correct{color:#00b81e}.review-answer-text{color:var(--fg-2)}.review-options-list{flex-direction:column;gap:8px;margin:8px 0 12px;display:flex}.review-option-row{border-radius:var(--radius-sm);border:1px solid var(--border-soft);align-items:flex-start;gap:12px;padding:10px 14px;font-size:14px;line-height:1.5;display:flex}.review-option-row .opt-label{border:1.5px solid var(--border);width:24px;height:24px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:ui-monospace,monospace;font-size:12px;font-weight:600;display:flex}.review-option-row .opt-text{color:var(--fg-2);flex:1;padding-top:2px}.review-option-row.user-wrong{background:#ee1d360f;border-color:#ee1d3659}.review-option-row.user-wrong .opt-label{color:#fff;background:#ee1d36;border-color:#ee1d36}.review-option-row.user-correct{background:#00d72214;border-color:#00d72266}.review-option-row.user-correct .opt-label{color:#fff;background:#00b81e;border-color:#00b81e}.review-option-row.opt-dimmed{opacity:.55}.btn-primary.success{background:#00b81e}.btn-primary.success:hover{background:#009a19}.records-page{max-width:960px;margin:0 auto;padding:40px 24px 80px}.records-header{margin-bottom:28px}.records-header h1{margin-bottom:8px;font-size:32px;font-weight:600}.records-header p{color:var(--muted)}.records-empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted);padding:48px 24px}.filter-tabs{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.filter-tab{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:#fff;border-radius:999px;padding:8px 16px;font-size:14px}.filter-tab.active{background:var(--fg);color:#fff;border-color:var(--fg)}.exam-card-list{flex-direction:column;gap:12px;display:flex}.exam-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;align-items:center;gap:16px;padding:18px 20px;display:flex}.exam-status-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:flex}.exam-status-icon.pass{color:#00b81e;background:#00d7221f}.exam-status-icon.fail{color:#ee1d36;background:#ee1d361f}.exam-info{flex:1;min-width:0}.exam-course{color:var(--muted);margin-bottom:4px;font-size:13px}.exam-title{margin-bottom:6px;font-size:16px;font-weight:600}.exam-meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.exam-meta .dot{opacity:.5}.exam-score{text-align:right;min-width:48px;font-family:ui-monospace,monospace;font-size:28px;font-weight:600}.exam-score.pass{color:#00b81e}.exam-score.fail{color:#ee1d36}.exam-result-tag{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.exam-result-tag.pass{color:#067a1c;background:#00d7221f}.exam-result-tag.fail{color:#b42318;background:#ee1d361f}.btn-review{border:1px solid var(--border);border-radius:var(--radius-sm);height:36px;color:var(--fg-2);white-space:nowrap;align-items:center;padding:0 14px;font-size:14px;text-decoration:none;display:inline-flex}.btn-review:hover{border-color:var(--meta);background:#fafafa;text-decoration:none}.cert-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.cert-card{border:1px solid var(--border);background:#fff;border-radius:8px;transition:box-shadow .2s,transform .2s;overflow:hidden}.cert-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00000014}.cert-card-preview{background:linear-gradient(135deg,#f0f4ff 0%,#e8f0fe 50%,#f8f9ff 100%);height:180px;position:relative;overflow:hidden}.cert-card-preview__cover{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.cert-card-preview__fallback{background:linear-gradient(135deg,#e8f0ff,#f5f7fa);position:absolute;inset:0}.cert-card-preview .cert-icon{z-index:2;color:#f5a623;background:#fff3e6;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 12px #0000001f}.cert-card-preview .cert-icon svg{width:32px;height:32px}.cert-card-body{padding:18px 20px 20px}.cert-card-title{color:var(--fg);margin-bottom:6px;font-size:16px;font-weight:600;line-height:1.35}.cert-card-course{color:var(--muted);margin-bottom:10px;font-size:13px}.cert-card-meta{color:var(--meta);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:12px;display:flex}.cert-card-meta .dot{opacity:.6}.cert-card-actions{display:flex}.btn-view{background:var(--accent);color:#fff;border-radius:var(--radius-sm);flex:1;justify-content:center;align-items:center;gap:8px;width:100%;height:40px;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn-view svg{flex-shrink:0;width:16px;height:16px}.btn-view:hover{background:var(--accent-hover);color:#fff;text-decoration:none}.cert-grid--home{grid-template-columns:repeat(4,1fr);gap:24px}.cert-grid--home .cert-card-body{padding:16px}.cert-grid--popular{grid-template-columns:repeat(2,1fr);gap:20px}.cert-card-img{background:var(--border-soft);height:160px;position:relative;overflow:hidden}.cert-card-img img{object-fit:cover;width:100%;height:100%;display:block}.cert-card-badge{color:#fff;border-radius:var(--radius-sm);letter-spacing:.4px;text-overflow:ellipsis;white-space:nowrap;background:#146ef5e6;max-width:calc(100% - 24px);padding:3px 8px;font-size:12px;font-weight:600;position:absolute;top:12px;left:12px;overflow:hidden}.cert-card-provider{color:var(--muted);align-items:center;gap:4px;margin-bottom:8px;font-size:12px;display:flex}.cert-card-provider svg{flex-shrink:0;width:16px;height:16px}.cert-card-subtitle{color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.4}.cert-card-type{color:var(--meta);margin-bottom:12px;font-size:12px}.cert-card-skills-label{color:var(--muted);margin:0 0 8px;font-size:12px;line-height:1.5}.cert-card-tags{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.cert-card-tags .tag{border-color:color-mix(in oklab, var(--accent), transparent 70%);color:var(--accent);background:color-mix(in oklab, var(--accent), transparent 92%);padding:2px 8px;font-size:12px}.cert-card-tags .tag-accent{border-color:color-mix(in oklab, var(--accent), transparent 70%);color:var(--accent);background:color-mix(in oklab, var(--accent), transparent 92%)}.catalog-header{padding:32px 0 16px}.catalog-header h1{color:var(--fg);margin:0;font-size:32px;font-weight:600}.catalog-header h1 span{color:var(--accent)}.catalog-count{color:var(--muted);margin-top:8px;font-size:14px}.catalog-grid{grid-template-columns:repeat(4,1fr);gap:24px;padding-bottom:48px;display:grid}.catalog-pagination{justify-content:center;align-items:center;gap:8px;padding:32px 0 48px;display:flex}.catalog-page-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--fg-2);background:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex}.catalog-page-btn:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.catalog-page-btn.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.catalog-page-btn.is-disabled{opacity:.4;pointer-events:none}.continue-grid{grid-template-columns:1fr;gap:24px;display:grid}.continue-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;min-height:240px;display:flex;overflow:hidden}.continue-card-left{flex-direction:column;flex:2 40%;justify-content:space-between;width:40%;min-width:0;padding:32px;display:flex}.continue-card-label{color:var(--muted);align-items:center;gap:6px;margin:0 0 8px;font-size:14px;display:flex}.continue-card-label svg{flex-shrink:0;width:16px;height:16px}.continue-card-link{color:inherit;font:inherit;cursor:pointer;text-decoration:none}.continue-card-title{margin:0 0 8px;font-size:24px;font-weight:600;line-height:1.3}.continue-card-subtitle{color:var(--muted);margin:0 0 12px;font-size:14px;line-height:1.4}.continue-card-meta{color:var(--meta);margin:0;font-size:14px}.continue-card-actions{align-items:center;gap:16px;margin-top:20px;display:flex}.continue-card-right{background:var(--border-soft);flex:3 60%;width:60%;min-height:240px;position:relative;overflow:hidden}.continue-card-right img,.continue-card-right video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.continue-card-badge{z-index:1;color:#fff;border-radius:var(--radius-sm);letter-spacing:.4px;text-overflow:ellipsis;white-space:nowrap;background:#146ef5e6;max-width:calc(100% - 24px);padding:3px 8px;font-size:12px;font-weight:600;position:absolute;top:12px;right:12px;overflow:hidden}.course-list-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;gap:16px;padding:16px;transition:box-shadow .2s;display:flex}.course-list-card:hover{box-shadow:0 12px 32px #00000014}.course-list-thumb{border-radius:var(--radius-sm);background:var(--border-soft);flex-shrink:0;width:80px;height:80px;overflow:hidden}.course-list-thumb img{object-fit:cover;width:100%;height:100%;display:block}.course-list-info{flex:1;min-width:0}.course-list-provider{color:var(--muted);align-items:center;gap:4px;margin-bottom:4px;font-size:12px;display:flex}.course-list-provider svg{width:14px;height:14px}.course-list-title{white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:16px;font-weight:500;overflow:hidden}.course-list-meta{color:var(--meta);font-size:12px}.recent-course-list{grid-template-columns:1fr 1fr;gap:12px;display:grid}.verify-page{padding-bottom:64px}.verify-celebration{text-align:center;padding:48px 24px 24px}.verify-celebration h1{margin-bottom:8px;font-size:32px;font-weight:600}.verify-celebration p{color:var(--muted);max-width:560px;margin:0 auto}.certificate-wrapper{max-width:900px;margin:0 auto;padding:0 24px}.certificate-frame{background:#fff;border:3px solid #1a2a4a;padding:10px;position:relative;box-shadow:0 24px 48px #00000014}.certificate-frame:before{content:"";pointer-events:none;border:1px solid #1a2a4a4d;position:absolute;inset:6px}.certificate-inner{border:1px solid var(--border-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:520px;padding:48px 56px;display:flex;position:relative}.certificate-inner:before,.certificate-inner:after{content:"";border-style:solid;border-color:#1a2a4a;width:40px;height:40px;position:absolute}.certificate-inner:before{border-width:2px 0 0 2px;top:12px;left:12px}.certificate-inner:after{border-width:2px 2px 0 0;top:12px;right:12px}.corner-bl,.corner-br{border-style:solid;border-color:#1a2a4a;width:40px;height:40px;position:absolute}.corner-bl{border-width:0 0 2px 2px;bottom:12px;left:12px}.corner-br{border-width:0 2px 2px 0;bottom:12px;right:12px}.cert-logo{margin-bottom:20px}.cert-logo svg{display:block}.cert-badge{color:var(--accent);letter-spacing:1.5px;text-transform:uppercase;background:#146ef50f;border:1px solid #146ef533;border-radius:999px;align-items:center;margin-bottom:24px;padding:6px 18px;font-size:13px;font-weight:600;display:inline-flex}.cert-title{letter-spacing:.3px;margin-bottom:12px;font-family:Georgia,Times New Roman,serif;font-size:40px;font-weight:400;line-height:1.25}.cert-awarded{color:var(--meta);text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;font-size:13px}.cert-name{color:var(--fg);border-bottom:2px solid var(--fg);min-width:240px;margin-bottom:8px;padding-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:400;display:inline-block}.cert-course{color:var(--fg-2);margin-top:16px;margin-bottom:32px;line-height:1.7}.cert-course strong{color:var(--fg)}.cert-footer{justify-content:space-between;align-items:flex-end;gap:16px;width:100%;margin-top:auto;padding-top:32px;display:flex}.cert-footer-item{text-align:center;flex:1}.cert-footer-line{background:var(--fg);width:140px;max-width:100%;height:1px;margin:0 auto 8px}.cert-footer-label{color:var(--meta);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:11px}.cert-footer-value{color:var(--fg-2);font-family:ui-monospace,monospace;font-size:14px;font-weight:500}.cert-id{color:var(--meta);word-break:break-all;margin-top:24px;font-family:ui-monospace,monospace;font-size:12px}.certificate-frame.is-pdf-export:before{display:none}.certificate-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;padding:0 24px;display:flex}.certificate-actions .btn-primary{justify-content:center;align-items:center;gap:8px;min-width:168px;display:inline-flex}.certificate-actions .btn-primary.is-loading{opacity:.85;cursor:wait}.certificate-download-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite page-loading-spin}.certificate-download-spinner--lg{border-width:3px;border-color:var(--border);border-top-color:var(--accent);width:28px;height:28px}.certificate-download-error{text-align:center;color:#c0392b;flex-basis:100%;margin:4px 0 0;font-size:14px}.certificate-download-overlay{z-index:200;background:#08080873;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.certificate-download-overlay__card{text-align:center;background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:12px;min-width:240px;padding:28px 32px;display:flex;box-shadow:0 16px 48px #0000002e}.certificate-download-overlay__card p{color:var(--fg-2);margin:0;font-size:14px}@media (max-width:768px){.score-details{grid-template-columns:repeat(2,1fr)}.result-banner h1{font-size:28px}.result-score{font-size:36px}.cert-grid,.cert-grid--home,.cert-grid--popular,.recent-course-list,.continue-grid{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,1fr)}.continue-card{flex-direction:column}.continue-card-left,.continue-card-right{flex:none;width:100%}.continue-card-right{height:200px;min-height:200px}.welcome-decoration{opacity:.7;width:70%}.exam-card{flex-wrap:wrap}.cert-footer{flex-direction:column;align-items:center;gap:20px}.certificate-inner{min-height:auto;padding:36px 20px}.cert-title{font-size:28px}.cert-name{min-width:0;font-size:24px}}.lang-switcher{z-index:1;position:relative}.lang-switcher.is-open{z-index:120}.lang-switcher-trigger{border:1px solid var(--border);cursor:pointer;height:36px;color:var(--fg-2);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.lang-switcher-trigger:hover{border-color:var(--meta);background:#fafafa}.lang-switcher-icon,.lang-switcher-chevron{flex-shrink:0}.lang-switcher.is-open .lang-switcher-chevron{transform:rotate(180deg)}.lang-switcher-menu{z-index:200;background:#fff;border:1px solid #e0e0e0;border-radius:8px;min-width:180px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 24px #0000001a}.lang-switcher-option{cursor:pointer;color:#333;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:12px;width:100%;padding:8px 12px;font-family:inherit;font-size:14px;display:flex}.lang-switcher-option:hover{background:#f0f4ff}.lang-switcher-option.is-active{background:color-mix(in oklab, var(--accent), transparent 90%);color:var(--accent);font-weight:500}.lang-switcher-option-code{flex-shrink:0;min-width:28px;font-size:13px;font-weight:600}.lang-switcher-option-name{flex:1}.cert-detail-hero .hero__actions{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.cert-hero-provider{color:var(--muted);margin:0 0 8px;font-size:14px}.cert-status-label{color:var(--muted);font-size:14px}.cert-progress-block{max-width:520px;margin:16px 0}.cert-progress-block__head{justify-content:space-between;gap:12px;margin-bottom:8px;font-size:14px;display:flex}.cert-progress-block__stat{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.cert-progress-block__stat--complete{color:#2d8a4e}.cert-progress__track{background:var(--border-soft);border-radius:4px;width:100%;height:8px;overflow:hidden}.cert-progress__fill{background:var(--accent);border-radius:4px;height:100%;transition:width .3s}.cert-progress__fill--complete{background:#2d8a4e}.cert-notice{color:var(--fg-2);border-radius:4px;align-items:flex-start;gap:12px;max-width:640px;margin:12px 0;padding:16px;font-size:14px;line-height:1.5;display:flex}.cert-notice svg{flex-shrink:0;width:20px;height:20px;margin-top:1px}.cert-notice strong{color:var(--fg);margin-bottom:4px;display:block}.cert-notice p{margin:0}.cert-notice--warn{background:#ffae130f;background:lab(77.6574% 23.1672 78.1547/.06);border:1px solid #ffae1340;border:1px solid lab(77.6574% 23.1672 78.1547/.25)}.cert-notice--warn svg{color:#ffae13}.cert-notice--success{background:#2d8a4e0f;background:lab(50.9964% -38.9898 23.8444/.06);border:1px solid #2d8a4e40;border:1px solid lab(50.9964% -38.9898 23.8444/.25)}.cert-notice--success svg{color:#2d8a4e}.btn-primary--success{background:#2d8a4e}.btn-primary--success:hover{background:#247040}.course-item.is-complete .course-item__title{color:#2d8a4e}.course-item__badge{color:#2d8a4e;background:#2d8a4e1a;background:lab(50.9964% -38.9898 23.8444/.1);border-radius:999px;align-items:center;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.lesson-complete-list{flex-direction:column;gap:6px;margin:8px 0 12px;padding-left:28px;display:flex}.lesson-complete-list--course{gap:8px;margin:0;padding-left:0}.lesson-complete-row{color:var(--fg-2);align-items:center;gap:8px;font-size:13px;display:flex}.lesson-complete-row.is-complete{color:#2d8a4e}.lesson-complete-row__icon{text-align:center;flex-shrink:0;width:16px}.lesson-complete-row__title{flex:1;min-width:0}.lesson-complete-row__meta{color:var(--meta);white-space:nowrap;flex-shrink:0;font-size:12px}.lesson-complete-row.is-complete .lesson-complete-row__meta{color:#2d8a4e;opacity:.85}@media (max-width:992px){.hero__grid,.detail-grid,.learning-layout{grid-template-columns:1fr}.cert-grid--home{grid-template-columns:repeat(2,1fr)}.continue-card{min-height:0}.continue-card-left{padding:20px}.continue-card-title{font-size:18px}.continue-card-right{min-height:180px}.hero-decoration{display:none}.course-app.is-learning{height:auto;overflow:visible}.course-app.is-learning main{display:block;overflow:visible}.learning-layout{height:auto;overflow:visible}.sidebar-left,.sidebar-right{max-height:none;position:static}.sidebar-left{border-right:none;border-bottom:1px solid var(--border);max-height:320px}.sidebar-right{border-left:none;border-top:1px solid var(--border)}.course-nav__links{display:none}.catalog-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:479px){.catalog-grid{grid-template-columns:1fr}}
