@font-face{font-family:BeVietnamPro;src:url(../media/BeVietnamPro_Regular-s.p.2z3se7yl-b75-.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:BeVietnamPro;src:url(../media/BeVietnamPro_Medium-s.p.1ym_rvxwcxxtw.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:BeVietnamPro;src:url(../media/BeVietnamPro_SemiBold-s.p.3m--r7_glim0u.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:BeVietnamPro;src:url(../media/BeVietnamPro_Bold-s.p.3za_blc0_26uj.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:BeVietnamPro;src:url(../media/BeVietnamPro_ExtraBold-s.p.3f5mnp9vnl-k3.woff2)format("woff2");font-display:swap;font-weight:800;font-style:normal}@font-face{font-family:BeVietnamPro Fallback;src:local(Arial);ascent-override:90.08%;descent-override:23.87%;line-gap-override:0.0%;size-adjust:111.01%}.z5euja_className{font-family:BeVietnamPro,BeVietnamPro Fallback}.z5euja_variable{--font-sans:"BeVietnamPro", "BeVietnamPro Fallback"}
@font-face{font-family:Fraunces;src:url(../media/Fraunces_normal-s.2pp46n42i4yx-.woff2)format("woff2");font-display:swap;font-weight:500 700;font-style:normal}@font-face{font-family:Fraunces;src:url(../media/Fraunces_italic-s.43pn52x4je-3a.woff2)format("woff2");font-display:swap;font-weight:500 700;font-style:italic}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:76.84%;descent-override:20.04%;line-gap-override:0.0%;size-adjust:127.27%}.lbwU0q_className{font-family:Fraunces,Fraunces Fallback}.lbwU0q_variable{--font-display:"Fraunces", "Fraunces Fallback"}
:root{--navy-900:#0a1122;--navy-800:#0e1830;--navy-700:#13223f;--surface:#111d3a;--surface-2:#16264a;--ink:#eaf0fb;--ink-2:#c3d0e8;--muted:#b0c0db;--faint:#a8b9d3;--line:#22335c;--line-2:#2c4272;--field-border:#7f91ad;--gold:#e0a93b;--gold-2:#f0c065;--gold-ink:#1a1204;--blue:#5b8fd6;--danger:#f28b82;--ok:#6fd08c;--warn:#f0c065;--brand-soft:#e0a93b24;--success-soft:#6fd08c24;--warn-soft:#f0c06524;--crit-soft:#f28b8224;--radius:14px;--radius-s:9px;--shell-max-width:1160px;--shell-gutter:clamp(20px, 4vw, 44px);--reading-max-width:900px;--action:#165de5;--action-hover:#104cbd;--action-ink:#fff;--action-soft:#edf3ff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:28px;--space-7:40px;--space-8:56px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-md:16px;--text-lg:18px;--text-xl:clamp(1.25rem, 1rem + 1vw, 1.5rem);--text-2xl:clamp(1.5rem, 1rem + 2vw, 2.1rem);--text-3xl:clamp(2rem, 1.2rem + 3vw, 3rem);--shadow-sm:0 4px 14px -6px #00000080;--shadow-md:0 12px 34px -14px #0009;--shadow-lg:0 30px 70px -30px #000000b3;--control-h:44px;--form-control-h:48px;--touch-target:44px;--z-header:40;--z-drawer:60;--z-modal:80;--z-toast:100;--sans:var(--font-sans), system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--display:var(--font-display), "Iowan Old Style", Palatino, Georgia, "Times New Roman", serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--sans);color:var(--ink);background:var(--navy-900);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px;box-shadow:0 0 0 4px #f8fafceb}.center-screen{place-items:center;min-height:100dvh;padding:clamp(12px,4vw,24px);display:grid}.center-screen>*{min-width:0;max-width:100%}.brandmark{letter-spacing:-.02em;font-size:1.4rem;font-weight:800}.brandmark .dot{color:var(--blue)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);font-size:12px;font-weight:700}.auth-logo{color:var(--ink);margin-bottom:2px;font-size:1.15rem;display:inline-flex}.card{background:linear-gradient(180deg, var(--surface), var(--navy-800));border:1px solid var(--line);border-radius:var(--radius);width:100%;min-width:0;max-width:420px;box-shadow:var(--shadow-lg);padding:clamp(18px,5vw,30px) clamp(16px,5vw,30px) clamp(16px,4vw,26px)}.card h1{font-family:var(--display);letter-spacing:-.015em;margin:14px 0 4px;font-size:1.45rem;font-weight:600}.card .sub{color:var(--muted);margin:0 0 22px;font-size:14px}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-2);font-size:12.5px;font-weight:600}.field input{font:inherit;color:var(--ink);background:var(--navy-900);border:1px solid var(--field-border);border-radius:var(--radius-s);padding:11px 13px;font-size:16px;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--faint)}.field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 35%, transparent);outline:none}.btn{font:inherit;border-radius:var(--radius-s);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:12px 16px;font-size:15px;font-weight:700;transition:transform 80ms,filter .15s,background .15s;display:inline-flex}.btn svg{flex:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-ghost{color:var(--ink);border-color:var(--line-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-block{width:100%}.social{flex-direction:column;gap:10px;display:flex}.btn-social{background:var(--surface-2);width:100%;color:var(--ink);border:1px solid var(--line-2);justify-content:center;align-items:center;gap:10px;text-decoration:none;display:flex}.btn-social:hover{background:var(--surface);border-color:var(--gold);text-decoration:none}.btn-social svg{flex:none;width:18px;height:18px}.error{background:var(--crit-soft);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger);border-radius:var(--radius-s);padding:9px 12px;font-size:13px}.hint{color:var(--muted);font-size:13px}.divider{color:var(--faint);align-items:center;gap:12px;margin:18px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.foot-links{color:var(--muted);text-align:center;margin-top:18px;font-size:13.5px}.card-wide{max-width:640px}.ob-fieldset{border:none;margin:0;padding:0}.ob-legend{color:var(--ink-2);margin-bottom:10px;padding:0;font-size:13px;font-weight:700}.role-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.audience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ob-help{color:var(--muted);margin:-2px 0 10px;font-size:12.5px;line-height:1.5}.role-card{background:var(--navy-900);border:1px solid var(--line-2);border-radius:var(--radius-s);cursor:pointer;flex-direction:column;gap:4px;padding:12px 13px;transition:border-color .15s,background .15s;display:flex}.role-card input{opacity:0;pointer-events:none;position:absolute}.role-card:hover{border-color:var(--gold)}.role-card.selected{border-color:var(--gold);background:var(--brand-soft)}.role-name{font-size:13.5px;font-weight:700}.role-desc{color:var(--muted);font-size:11.5px;line-height:1.4}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{cursor:pointer}.chip input{opacity:0;pointer-events:none;position:absolute}.chip span{border:1px solid var(--line-2);background:var(--navy-900);border-radius:20px;padding:8px 14px;font-size:13px;transition:border-color .15s,background .15s;display:inline-block}.chip:hover span{border-color:var(--gold)}.chip input:checked+span{border-color:var(--gold);background:var(--brand-soft);color:var(--gold-2);font-weight:600}@media (max-width:560px){.audience-grid,.role-grid{grid-template-columns:1fr}.chip-row{flex-direction:column;align-items:stretch}.chip span{width:100%}}.runner{flex-direction:column;gap:16px;display:flex}.runner-head{align-items:center;gap:12px;display:flex}.progress{background:var(--navy-900);border-radius:4px;flex:1;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--gold), var(--gold-2));height:100%;transition:width .25s}.runner-stem{margin:0;font-size:1.05rem;font-weight:600;line-height:1.55}.runner-options{flex-direction:column;gap:9px;display:flex}.option{text-align:left;font:inherit;color:var(--ink);background:var(--navy-900);border:1px solid var(--line-2);border-radius:var(--radius-s);cursor:pointer;align-items:flex-start;gap:11px;padding:12px 14px;font-size:14.5px;line-height:1.5;transition:border-color .15s,background .15s;display:flex}.option:hover{border-color:var(--gold)}.option.selected{border-color:var(--gold);background:var(--brand-soft)}.option-key{background:var(--surface-2);width:24px;height:24px;color:var(--gold-2);border-radius:7px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.runner-nav{gap:10px;display:flex}.dash{width:100%;max-width:var(--shell-max-width);padding-block:clamp(20px,4vw,44px);padding-inline:var(--shell-gutter);margin:0 auto}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.dash-head h1{font-family:var(--display);letter-spacing:-.015em;margin:0 0 12px;font-size:clamp(1.45rem,1rem + 1.9vw,2rem);font-weight:600;line-height:1.3}.dash-head .sub{color:var(--ink-2);max-width:68ch;margin:0;font-size:1rem;line-height:1.65}.dash-meta{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.stat-chip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);align-items:center;gap:8px;padding:8px 14px;display:flex}.stat-ico{color:var(--gold-2);display:inline-flex}.stat-v{color:var(--gold-2);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700}.stat-l{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.dash-grid{grid-template-columns:1.15fr 1fr;gap:18px;display:grid}@media (max-width:860px){.dash-grid{grid-template-columns:1fr}}.panel{background:linear-gradient(180deg, var(--surface), var(--navy-800));border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}.panel-title{letter-spacing:-.01em;margin:0 0 14px;font-size:1.05rem}.path-list{counter-reset:step;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.path-item{counter-increment:step;background:var(--navy-900);border:1px solid var(--line);border-radius:var(--radius-s);padding:12px 14px;align-items:flex-start;gap:12px;padding-left:44px;display:flex;position:relative}.path-item:before{content:counter(step);background:var(--brand,var(--surface-2));background:var(--surface-2);width:22px;height:22px;color:var(--gold-2);font-variant-numeric:tabular-nums;border-radius:7px;place-items:center;font-size:11.5px;font-weight:700;display:grid;position:absolute;top:13px;left:12px}.path-body{flex:1;min-width:0}.path-course{color:var(--ink);font-size:14px;font-weight:700}.pending-course{color:var(--faint);font-weight:500}.path-reason{color:var(--muted);margin:3px 0 0;font-size:12.5px;line-height:1.45}.pill-status{text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--line-2);color:var(--muted);border-radius:12px;flex:none;padding:3px 9px;font-size:10px;font-weight:650}.pill-status.done{color:var(--ok);border-color:var(--ok)}.pill-status.in_progress{color:var(--gold-2);border-color:var(--gold)}.mastery-group{margin-bottom:16px}.mastery-domain{text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:0 0 8px;font-size:11.5px;font-weight:650}.mastery-row{grid-template-columns:minmax(0,1.2fr) 1fr 40px;align-items:center;gap:10px;margin-bottom:7px;display:grid}.mastery-name{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.mastery-bar{background:var(--navy-900);border-radius:5px;height:8px;position:relative;overflow:visible}.mastery-fill{background:linear-gradient(90deg, var(--blue), var(--gold));border-radius:5px;height:100%}.mastery-target{background:var(--gold-2);border-radius:1px;width:2px;height:14px;position:absolute;top:-3px}.mastery-level{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:650}.cat-section{margin-bottom:18px}.cat-title{color:var(--gold-2);text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px;font-size:12.5px;font-weight:700}.course-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.course-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;text-decoration:none;transition:border-color .15s;display:flex;overflow:hidden}.course-card:hover{border-color:var(--line-2);text-decoration:none}.course-card:hover .course-cover svg{transform:scale(1.08)rotate(-3deg)}@media (prefers-reduced-motion:reduce){.course-card,.course-card:hover{transition:none;transform:none}.course-card:hover .course-cover svg{transform:none}}.course-cover{background:radial-gradient(120% 140% at 85% -20%, var(--cat-tint,color-mix(in srgb, var(--gold) 24%, transparent)) 0%, transparent 55%), linear-gradient(200deg, var(--surface-2), var(--navy-800));border-bottom:1px solid var(--line);place-items:center;height:96px;display:grid;position:relative}.course-cover svg{color:var(--cat-ink,var(--gold-2));opacity:.9;transition:transform .25s cubic-bezier(.16,1,.3,1)}.course-cover .pill-level{background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:absolute;top:10px;left:12px}.course-cover .course-cover-price{position:absolute;top:10px;right:12px}.cat-foundation{--cat-tint:#e0a93b4d;--cat-ink:var(--gold-2)}.cat-compliance{--cat-tint:#6fd08c3d;--cat-ink:var(--ok)}.cat-retail{--cat-tint:#5b8fd647;--cat-ink:var(--blue)}.cat-credit{--cat-tint:#f0a56442;--cat-ink:#f0b27c}.cat-trade{--cat-tint:#5ed2c838;--cat-ink:#6fd0c8}.cat-finance{--cat-tint:#be96f038;--cat-ink:#c0a4ee}.cat-risk{--cat-tint:#f28b823d;--cat-ink:var(--danger)}.cat-treasury{--cat-tint:#78c8f038;--cat-ink:#86c8ec}.cat-fintech{--cat-tint:#96aafa3d;--cat-ink:#a2b2f6}.course-card-body{flex-direction:column;flex:1;gap:8px;padding:22px;display:flex}.course-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.course-category{color:var(--muted);font-size:12px;line-height:1.7}.course-search-match{border-block:1px solid var(--line);color:var(--ink-2);margin:4px 0;padding-block:12px;font-size:14px;line-height:1.7}.course-search-match strong{color:var(--ink);font-weight:600}.course-search-match>span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.course-preview-note{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.pill-soon{text-transform:uppercase;letter-spacing:.07em;border:1px dashed var(--line-2);color:var(--faint);border-radius:20px;padding:3px 8px;font-size:12px;font-weight:650}.pill-level,.pill-lock,.pill-free{border:1px solid var(--line-2);color:var(--muted);border-radius:20px;padding:3px 8px;font-size:12px;font-weight:600}.pill-level.nang-cao{color:var(--blue);border-color:var(--blue)}.pill-level.chuyen-sau{color:var(--gold-2);border-color:var(--gold)}.pill-free{color:var(--ok);border-color:var(--ok)}.pill-lock{color:var(--gold-2);border-color:var(--gold)}.course-card-title{letter-spacing:-.01em;margin:2px 0;font-size:18px;font-weight:600;line-height:1.5}.course-card-sum{color:var(--muted);margin:0;font-size:14px;line-height:1.75}.course-card-meta{color:var(--faint);gap:7px;margin-top:auto;font-size:12px;display:flex}.course-card-progress{align-items:center;gap:8px;display:flex}.course-card-pct{color:var(--gold-2);font-variant-numeric:tabular-nums;font-size:11px;font-weight:650}.course-detail-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;display:flex}.objectives ul{margin:8px 0 18px;padding-left:20px}.objectives li{color:var(--ink-2);margin:5px 0;font-size:14px}.cd-module{margin-bottom:14px}.cd-module-title{align-items:center;gap:10px;margin:0 0 8px;font-size:14.5px;display:flex}.cd-module-n{background:var(--surface-2);width:22px;height:22px;color:var(--gold-2);font-variant-numeric:tabular-nums;border-radius:7px;flex:none;place-items:center;font-size:12px;font-weight:650;display:grid}.cd-lessons{flex-direction:column;gap:2px;margin:0 0 0 32px;padding:0;list-style:none;display:flex}.cd-lesson-link,.cd-lesson-locked{color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;text-decoration:none;display:flex}.cd-lesson-link:hover{background:var(--surface-2);text-decoration:none}.cd-lesson.done .cd-lesson-link{color:var(--muted)}.cd-type{color:var(--gold);text-align:center;flex:none;width:16px;font-weight:650}.cd-lesson.done .cd-type{color:var(--ok)}.cd-lesson-locked{color:var(--faint)}.cd-dur{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px;font-weight:650}@media (max-width:900px){.player{grid-template-columns:minmax(0,1fr)}.player-nav{border-right:none;border-bottom:1px solid var(--line);max-height:none;position:static}}.pnav-module ul{margin:0;padding:0;list-style:none}.paywall{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:40px 20px}.paywall-icon{margin:0;font-size:2.5rem}.lesson-body{flex-direction:column;gap:18px;display:flex}.lesson-actions{align-items:center;gap:12px;display:flex}.done-badge{color:var(--ok);align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.pill-lock,.pill-free,.pill-level,.quiz-banner,.player-back,.cd-type,.pnav-ico,.stat-ico,.paywall-icon,.course-detail-meta .pill-lock{align-items:center;gap:5px;display:inline-flex}.quiz-banner{gap:8px}.cd-type,.cd-lesson-link,.cd-lesson-locked,.lock-i{color:var(--faint);margin-left:auto}.prose{color:var(--ink-2);max-width:68ch;font-size:16.5px;line-height:1.75}.prose h1,.prose h2,.prose h3{color:var(--ink);margin:1.4em 0 .5em;line-height:1.3}.prose h2{border-bottom:1px solid var(--line);padding-bottom:.3em;font-size:1.3rem}.prose h3{font-size:1.1rem}.prose p{max-width:none;margin:0 0 1em}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.4em}.prose li{margin:.3em 0}.prose strong{color:var(--ink)}.prose a{color:var(--blue)}.prose img{border-radius:var(--radius-s);max-width:100%;height:auto}.prose figure{margin:1.2em 0}.prose figcaption{font-size:var(--text-sm);color:var(--faint);margin-top:.4em}.prose code{font-family:var(--mono);background:var(--navy-900);border:1px solid var(--line);border-radius:5px;padding:.1em .35em;font-size:.88em}.prose pre{background:var(--navy-900);border:1px solid var(--line);border-radius:var(--radius-s);margin:0 0 1.2em;padding:14px 16px;overflow-x:auto}.prose pre code{background:0 0;border:none;padding:0}.prose hr{border:none;border-top:1px solid var(--line);margin:1.6em 0}.prose blockquote{border-left:3px solid var(--gold);color:var(--muted);background:var(--surface);border-radius:0 8px 8px 0;margin:1em 0;padding:.3em 0 .3em 1em}.prose code{font-family:var(--mono);background:var(--navy-900);border-radius:4px;padding:1px 5px;font-size:.88em}.prose table{border-collapse:collapse;width:100%;margin:1em 0;font-size:14px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line-2);text-align:left;padding:8px 10px}.prose th{background:var(--surface-2)}.understanding{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 16px;display:flex}.understanding-label{color:var(--ink-2);font-size:13.5px;font-weight:600}.understanding-opts{flex-wrap:wrap;gap:7px;display:flex}.u-chip{font:inherit;border:1px solid var(--line-2);background:var(--navy-900);color:var(--ink-2);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:12.5px}.u-chip:hover{border-color:var(--gold)}.u-chip.sel{border-color:var(--gold);background:var(--brand-soft);color:var(--gold-2);font-weight:600}.video-wrap{border-radius:var(--radius);aspect-ratio:16/9;background:#000;position:relative;overflow:hidden}.video-el{width:100%;height:100%;display:block}.cue-overlay{background:#080c16e6;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.cue-card{background:var(--surface);border:1px solid var(--gold);border-radius:var(--radius);flex-direction:column;gap:12px;width:100%;max-width:480px;padding:22px;display:flex}.cue-q{margin:0;font-size:1.02rem;font-weight:600;line-height:1.5}.cue-opts{flex-direction:column;gap:8px;display:flex}.cue-opt,.quiz-opt{text-align:left;font:inherit;color:var(--ink);background:var(--navy-900);border:1px solid var(--line-2);border-radius:var(--radius-s);cursor:pointer;align-items:flex-start;gap:10px;padding:11px 13px;font-size:14px;line-height:1.5;display:flex}.cue-opt:hover:not(:disabled),.quiz-opt:hover:not(:disabled){border-color:var(--gold)}.cue-opt.right,.quiz-opt.right{border-color:var(--ok);background:var(--success-soft)}.cue-opt.wrong,.quiz-opt.wrong{border-color:var(--danger);background:var(--crit-soft)}.quiz-opt.answer{border-color:var(--ok)}.cue-feedback{border-radius:var(--radius-s);padding:10px 12px;font-size:13.5px;line-height:1.5}.cue-feedback.ok{background:var(--success-soft);color:var(--ok)}.cue-feedback.no{background:var(--crit-soft);color:var(--danger)}.quiz{flex-direction:column;gap:16px;display:flex}.quiz-banner{border-radius:var(--radius-s);padding:11px 14px;font-size:14px;font-weight:600}.quiz-banner.pass{background:var(--success-soft);color:var(--ok)}.quiz-banner.fail{background:var(--warn-soft);color:var(--warn)}.quiz-banner.cooldown{background:var(--crit-soft);color:var(--danger)}.quiz-list{counter-reset:q;flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.quiz-q{counter-increment:q}.quiz-stem{margin:0 0 10px;font-weight:600;line-height:1.5}.quiz-stem:before{content:"Câu " counter(q) ". ";color:var(--gold-2);font-variant-numeric:tabular-nums;font-size:13px;font-weight:650}.quiz-opts{flex-direction:column;gap:8px;display:flex}.quiz-opt.chosen{border-color:var(--gold)}.quiz-explain{color:var(--muted);border-left:2px solid var(--line-2);margin:8px 0 0;padding-left:12px;font-size:13px;line-height:1.55}.game-grid{grid-template-columns:1.15fr 1fr;gap:18px;margin-bottom:18px;display:grid}@media (max-width:860px){.game-grid{grid-template-columns:1fr}}.level-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.level-badge{color:var(--gold-2);font-size:1.05rem;font-weight:800}.level-next{color:var(--muted);font-size:12px}.level-bar{background:var(--navy-900);border-radius:6px;height:10px;overflow:hidden}.level-fill{background:linear-gradient(90deg, var(--blue), var(--gold-2));border-radius:6px;height:100%;transition:width .4s}.muted-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.badge-strip{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;display:grid}.badge{border-radius:var(--radius-s);border:1px solid var(--line);background:var(--navy-900);text-align:center;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;display:flex}.badge.locked{background:0 0;border-style:dashed}.badge.locked>svg,.badge.locked .badge-name{color:var(--muted)}.badge.earned{border-color:var(--gold);background:var(--brand-soft)}.badge.earned.rarity-epic{border-color:var(--blue);background:color-mix(in srgb, var(--blue) 12%, transparent)}.badge>svg{color:var(--gold-2)}.badge.earned.rarity-epic>svg{color:var(--blue)}.badge-name{color:var(--ink-2);font-size:12px;line-height:1.2}.quest-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.quest{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:10px 0;display:flex}.quest:last-child{border-bottom:none}.quest.claimed{opacity:.6}.quest-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.quest-title{align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.quest-type{text-transform:uppercase;letter-spacing:.07em;color:var(--faint);border:1px solid var(--line-2);border-radius:10px;padding:1px 6px;font-size:9.5px;font-weight:650}.quest-bar{background:var(--navy-900);border-radius:4px;height:5px;overflow:hidden}.quest.claimable .quest-fill,.quest.claimed .quest-fill{background:var(--ok)}.quest-fill{background:var(--gold);border-radius:4px;height:100%}.quest-reward{flex:none;align-items:center;gap:10px;display:flex}.quest-xp{color:var(--gold-2);font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:12px;font-weight:650;display:inline-flex}.quest-claim{padding:6px 14px;font-size:13px}.quest-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.quest-done{color:var(--ok);display:inline-flex}.lb-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.lb-tab{border:1px solid var(--line-2);background:var(--surface);color:var(--muted);border-radius:20px;padding:8px 16px;font-size:13.5px;font-weight:600;text-decoration:none}.lb-tab:hover{border-color:var(--gold);text-decoration:none}.lb-tab.active{border-color:var(--gold);background:var(--brand-soft);color:var(--gold-2)}.lb-panel{max-width:720px}.lb-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lb-row{border-radius:var(--radius-s);border:1px solid #0000;align-items:center;gap:12px;padding:10px 12px;display:flex}.lb-row:hover{background:var(--surface-2)}.lb-row.me{border-color:var(--gold);background:var(--brand-soft)}.lb-rank{text-align:center;width:28px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:14px;font-weight:650}.lb-row.top-1 .lb-rank{color:#f0c065}.lb-row.top-2 .lb-rank{color:#cbd5e1}.lb-row.top-3 .lb-rank{color:#d9a066}.lb-avatar{background:var(--surface-2);width:34px;height:34px;color:var(--gold-2);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.lb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex;overflow:hidden}.lb-you{letter-spacing:.07em;text-transform:uppercase;background:var(--gold);color:var(--gold-ink);border-radius:8px;padding:1px 6px;font-size:9.5px;font-weight:650}.lb-bank{letter-spacing:.07em;color:var(--faint);flex:none;font-size:11px;font-weight:650}.lb-xp{color:var(--gold-2);font-variant-numeric:tabular-nums;flex:none;font-size:13.5px;font-weight:650}.lb-myrank{border-top:1px solid var(--line);border-radius:var(--radius-s);background:var(--brand-soft);align-items:center;gap:12px;margin-top:10px;padding:12px;display:flex}.section-title{letter-spacing:-.01em;margin:0 0 4px;font-size:1.25rem;font-weight:750}.section-sub{color:var(--muted);margin:0 0 18px;font-size:.95rem}.plan-section{margin-top:26px}.paid-section{margin-top:40px}.sub-banner{border:1px solid var(--line-2);border-radius:var(--radius);background:linear-gradient(100deg, var(--brand-soft), color-mix(in srgb, var(--gold) 3%, transparent) 60%), var(--surface);flex-wrap:wrap;align-items:center;gap:14px;min-width:0;margin:0 0 18px;padding:14px 18px;display:flex}.sub-banner-icon{width:40px;height:40px;color:var(--gold-ink);background:linear-gradient(160deg, var(--gold-2), var(--gold));border-radius:10px;flex:none;place-items:center;display:grid}.sub-banner-body{flex-direction:column;gap:2px;margin-right:auto;display:flex}.sub-banner-body strong{font-weight:700}.sub-banner-body span{color:var(--muted);font-size:.85rem}.membership-chip{color:var(--gold-2);border-color:color-mix(in srgb, var(--gold) 40%, transparent)}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:18px;display:grid}.plan-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:14px;padding:24px 22px;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s;display:flex;position:relative}.plan-card:hover{border-color:var(--line-2);transform:translateY(-3px)}.plan-card--featured{background:var(--s-navy);color:var(--s-navy-ink);box-shadow:0 18px 44px -22px color-mix(in srgb, var(--gold) 30%, transparent);border-color:#e0a93b8c}.plan-card--featured:hover{border-color:#e0a93bbf}.plan-card--featured .plan-flag,.plan-card--featured .plan-mark--gold{color:#1a1204;background:linear-gradient(160deg,#f0c065,#e0a93b)}.plan-card--featured .plan-price-num,.plan-card--featured .plan-permonth{color:#f0c065}.plan-card--featured .plan-price-int{color:var(--s-navy-muted)}.plan-card--featured .plan-features li{color:color-mix(in srgb, var(--s-navy-ink) 88%, transparent)}.plan-card--featured .plan-features li svg{color:#f0c065}.plan-card--featured .btn-primary,html:not([data-theme=dark]) .plan-card--featured .btn-primary{color:#1a1204;background:linear-gradient(#f0c065,#e0a93b)}.plan-card--featured .btn-primary:hover:not(:disabled),html:not([data-theme=dark]) .plan-card--featured .btn-primary:hover:not(:disabled){filter:brightness(1.05);background:linear-gradient(#f0c065,#e0a93b)}.plan-flag{letter-spacing:.03em;text-transform:uppercase;color:var(--gold-ink);background:linear-gradient(160deg, var(--gold-2), var(--gold));border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:700;position:absolute;top:-11px;right:18px}.plan-card-head{align-items:center;gap:10px;display:flex}.plan-mark{width:34px;height:34px;color:var(--gold-2);background:var(--brand-soft);border-radius:9px;place-items:center;display:grid}.plan-mark--gold{color:var(--gold-ink);background:linear-gradient(160deg, var(--gold-2), var(--gold))}.plan-card-head h3{margin:0;font-size:1.15rem;font-weight:700}.plan-price{align-items:baseline;gap:6px;margin:2px 0 0;display:flex}.plan-price-num{font-family:var(--display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600}.plan-price-int{color:var(--muted);font-size:.95rem}.plan-permonth{color:var(--gold-2);margin:-8px 0 0;font-size:.85rem;font-weight:600}.plan-features{flex-direction:column;gap:9px;margin:4px 0 6px;padding:0;list-style:none;display:flex}.plan-features li{color:var(--ink-2);align-items:flex-start;gap:9px;font-size:.92rem;line-height:1.4;display:flex}.plan-features li svg{color:var(--ok);flex:none;margin-top:2px}.paid-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.paid-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;justify-content:space-between;gap:18px;padding:20px;transition:border-color .18s,transform .18s;display:flex}.paid-card:hover{border-color:var(--line-2);transform:translateY(-2px)}.paid-cat{letter-spacing:.02em;text-transform:uppercase;color:var(--blue);margin-bottom:8px;font-size:.75rem;font-weight:600;display:inline-block}.paid-card-top h3{margin:0;font-size:1.05rem;font-weight:650;line-height:1.35}.paid-card-foot{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.paid-price{font-family:var(--display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.15rem;font-weight:600}.paid-card-foot .buy-wrap{min-width:130px;margin-left:auto}.buy-wrap{flex-direction:column;gap:6px;display:flex}.buy-error{color:var(--danger);margin:0;font-size:.82rem}.course-buy{flex-direction:column;gap:10px;max-width:340px;display:flex}.pricing-trust{border-top:1px solid var(--line);flex-wrap:wrap;gap:22px;margin-top:40px;padding-top:22px;display:flex}.trust-item{color:var(--muted);align-items:center;gap:8px;font-size:.86rem;display:inline-flex}.trust-item svg{color:var(--gold-2)}.pay-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.pay-card{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);width:100%;max-width:440px;box-shadow:var(--shadow-lg);padding:26px}.pay-card-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.pay-brand{color:var(--muted);align-items:center;gap:7px;font-size:.85rem;font-weight:600;display:inline-flex}.pay-brand svg{color:var(--ok)}.pay-close{width:var(--touch-target);height:var(--touch-target);color:var(--muted);border-radius:8px;place-items:center;display:grid}.pay-close:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.pay-summary{text-align:center;border-bottom:1px dashed var(--line-2);margin-bottom:22px;padding:18px 0 22px}.pay-item-label{color:var(--ink-2);margin:0 0 6px;font-size:.95rem}.pay-amount{font-family:var(--display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:0 0 10px;font-size:2.2rem;font-weight:600}.pay-order-code{color:var(--faint);letter-spacing:.07em;font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin:0;font-size:.8rem;font-weight:650;display:inline-flex}.pay-pending{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.pay-spinner{border:3px solid var(--line-2);border-top-color:var(--gold);border-radius:50%;width:38px;height:38px;animation:.85s linear infinite pay-spin}@keyframes pay-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.pay-spinner{animation-duration:2.4s}}.pay-pending-title{margin:0;font-weight:650}.pay-pending-sub{color:var(--muted);max-width:320px;margin:0;font-size:.86rem}.pay-sim{margin-top:8px}.pay-foot-note{color:var(--faint);justify-content:center;align-items:center;gap:6px;margin:22px 0 0;font-size:.78rem;display:flex}.pay-result{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.pay-result-badge{border-radius:50%;place-items:center;width:60px;height:60px;margin-bottom:4px;display:grid}.pay-ok .pay-result-badge{color:var(--ok);background:var(--success-soft)}.pay-fail .pay-result-badge{color:var(--danger);background:var(--crit-soft)}.pay-result h2{margin:0;font-size:1.3rem}.pay-result p{color:var(--muted);max-width:320px;margin:0;font-size:.9rem}.pay-result-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.shell-header{z-index:var(--z-header);background:var(--shell-header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--shell-header-line);align-items:center;gap:18px;height:58px;padding:0 clamp(14px,3vw,28px);display:flex;position:sticky;top:0}.shell-brand{letter-spacing:-.02em;color:var(--ink);white-space:nowrap;font-size:1.05rem;font-weight:800}.shell-brand:hover{text-decoration:none}.shell-nav{align-items:center;gap:4px;margin-right:auto;display:flex}.shell-link{border-radius:var(--radius-s);font-size:var(--text-base);color:var(--ink-2);align-items:center;gap:7px;padding:8px 13px;font-weight:600;display:inline-flex}.shell-link:hover{color:var(--ink);background:var(--surface);text-decoration:none}.shell-right{flex-shrink:0;align-items:center;gap:10px;margin-inline-start:auto;display:flex}.shell-stat{font-size:var(--text-sm);color:var(--gold-2);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-weight:650;display:inline-flex}.shell-stat svg{color:var(--gold-2)}.user-menu{position:relative}.user-menu summary{cursor:pointer;background:var(--surface-2);border:1px solid var(--line-2);width:44px;height:44px;color:var(--ink);font-weight:700;font-size:var(--text-sm);-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;list-style:none;display:grid}.user-menu summary::-webkit-details-marker{display:none}.user-menu[open] summary{border-color:var(--gold)}.user-menu-panel{width:min(280px,100vw - 40px);max-height:calc(100dvh - 90px - env(safe-area-inset-bottom));overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-s);box-shadow:var(--shadow-md);z-index:var(--z-modal);flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.user-menu-head{border-bottom:1px solid var(--line);margin-bottom:4px;padding:8px 10px 10px}.user-menu-head strong{font-size:var(--text-base);overflow-wrap:anywhere;display:block}.user-menu-head span{font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere;margin-top:4px;line-height:1.5;display:block}.user-menu-item{width:100%;min-height:44px;color:var(--ink-2);font-size:var(--text-base);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:9px 10px;display:flex}.user-menu-item:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.user-menu-item>svg{flex-shrink:0}.bottom-nav{display:none}@media (max-width:860px){.shell-nav{display:none}.user-menu-panel{max-height:calc(100dvh - 164px - env(safe-area-inset-bottom));scroll-padding-block:8px}.bottom-nav{z-index:var(--z-header);background:color-mix(in srgb, var(--navy-900) 96%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-height:var(--touch-target);color:var(--muted);border-radius:var(--radius-s);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:600;display:flex}.bottom-nav a:hover{text-decoration:none}.bottom-nav a[aria-current=page]{color:var(--gold-2)}.shell-main{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}@media (max-width:900px){.player-nav{display:none}.player-topbar{z-index:var(--z-header);background:color-mix(in srgb, var(--navy-900) 95%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 12px;display:flex;position:sticky;top:0}.player-topbar-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm);flex:1;font-weight:650;overflow:hidden}.player-topbar .icon-btn{flex:none}}.icon-btn{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-s);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.drawer-backdrop{z-index:var(--z-drawer);cursor:pointer;background:#04081299;border:none;padding:0;position:fixed;inset:0}.drawer{z-index:calc(var(--z-drawer) + 1);background:var(--navy-800);border-right:1px solid var(--line-2);width:min(320px,86vw);box-shadow:var(--shadow-lg);padding:14px;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(0)}@media (prefers-reduced-motion:no-preference){.drawer{animation:.22s cubic-bezier(.16,1,.3,1) drawer-in}}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.drawer-head h2{font-size:var(--text-md);margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:is(.role-card:has(input:focus-visible),.chip:has(input:focus-visible),.seniority-item:has(input:focus-visible)){outline:2px solid var(--gold);outline-offset:2px}.skeleton{border-radius:var(--radius-s);background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:200% 100%}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.4s infinite skeleton-wave}}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-page{width:100%;max-width:var(--shell-max-width);padding-block:clamp(20px,4vw,44px);padding-inline:var(--shell-gutter);flex-direction:column;gap:18px;margin:0 auto;display:flex}.empty-state{text-align:center;padding:var(--space-7) var(--space-4);color:var(--muted);flex-direction:column;align-items:center;gap:10px;display:flex}.empty-state svg{color:var(--faint)}.error-screen{text-align:center;place-items:center;min-height:100dvh;padding:24px;display:grid}.error-screen .card{flex-direction:column;align-items:center;gap:10px;display:flex}.error-code{font-family:var(--display);font-size:var(--text-3xl);color:var(--gold-2);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:600}.confirm-pop{position:relative}.confirm-pop summary{cursor:pointer;list-style:none}.confirm-pop summary::-webkit-details-marker{display:none}.confirm-panel{z-index:var(--z-modal);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-s);width:260px;box-shadow:var(--shadow-md);padding:14px;position:absolute;top:calc(100% + 8px);right:0}.confirm-panel p{font-size:var(--text-sm);color:var(--ink-2);margin:0 0 12px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.course-price-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.crumb-link{color:var(--gold)}.course-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;display:grid}@media (max-width:960px){.course-layout{grid-template-columns:1fr}.course-aside{order:-1}}.course-main{flex-direction:column;gap:18px;min-width:0;display:flex}.course-aside{min-width:0;position:sticky;top:74px}@media (max-width:960px){.course-aside{position:static}}.cta-card{flex-direction:column;gap:12px;display:flex}.cta-progress{flex-direction:column;gap:6px;display:flex}.cta-progress-label{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:650}.cta-price{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.cta-price-num{font-family:var(--display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600}.cta-meta{border-top:1px solid var(--line);flex-direction:column;gap:9px;margin:4px 0 0;padding:12px 0 0;list-style:none;display:flex}.cta-meta li{font-size:var(--text-sm);color:var(--ink-2);align-items:flex-start;gap:9px;line-height:1.45;display:flex}.cta-meta svg{color:var(--gold-2);flex:none;margin-top:2px}.objective-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 18px;margin:0;padding:0;list-style:none;display:grid}.objective-grid li{font-size:var(--text-base);color:var(--ink-2);align-items:flex-start;gap:9px;line-height:1.5;display:flex}.objective-grid svg{color:var(--ok);flex:none;margin-top:3px}.course-includes{color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;gap:8px 18px;margin:0 0 16px;display:flex}.course-includes span{align-items:center;gap:6px;display:inline-flex}.course-includes svg{color:var(--gold-2)}.skip-link{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus-visible{z-index:var(--z-toast);clip:auto;background:var(--gold);width:auto;height:auto;color:var(--gold-ink);border-radius:var(--radius-s);outline:2px solid var(--ink);margin:0;padding:10px 16px;font-weight:700;position:fixed;top:10px;left:10px;overflow:visible}.shell-link{min-height:var(--touch-target)}.preview-banner{border-radius:var(--radius-s);background:var(--brand-soft);font-size:var(--text-sm);color:var(--ink);border:1px solid #e0a93b66;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;line-height:1.6;display:grid}.preview-banner .btn{justify-self:end}@media (max-width:560px){.preview-banner{grid-template-columns:minmax(0,1fr);gap:10px}.preview-banner .btn{justify-self:start}}.dash>*+*{margin-top:18px}.qa-page,.qa-detail,.qa-ask-page{width:100%;max-width:var(--shell-max-width);padding:var(--space-5) var(--shell-gutter) var(--space-8);margin:0 auto}.qa-detail>*,.qa-ask-page>*{max-width:var(--reading-max-width)}.qa-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.qa-title{font-family:var(--display);font-size:var(--text-2xl);color:var(--ink);letter-spacing:-.015em;font-weight:600}.qa-sub{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-1);max-width:62ch}.qa-filters{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.qa-skillbar{gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--line);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.qa-skill{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink-2);font-size:var(--text-xs);cursor:pointer;border-radius:999px;padding:6px 12px;transition:border-color .12s,background .12s,color .12s}.qa-skill:hover{border-color:var(--gold);color:var(--ink)}.qa-skill.on{background:var(--ink);border-color:var(--ink);color:var(--navy-900)}.qa-skill-n{opacity:.6;margin-left:4px}.qa-list{flex-direction:column;list-style:none;display:flex}.qa-item{gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--line);display:flex}.qa-item-stats{gap:var(--space-1);text-align:right;flex-direction:column;flex-shrink:0;min-width:92px;display:flex}.qa-stat{font-size:var(--text-xs);color:var(--muted)}.qa-stat strong{font-size:var(--text-md);color:var(--ink-2);font-weight:600;display:block}.qa-stat.pos strong{color:var(--ok)}.qa-stat.has strong{color:var(--ink)}.qa-stat.solved strong{color:var(--ok)}.qa-item-main{flex:1;min-width:0}.qa-item-title{font-size:var(--text-md);align-items:baseline;gap:var(--space-2);flex-wrap:wrap;font-weight:600;line-height:1.4;display:flex}.qa-item-title a{color:var(--ink);text-decoration:none}.qa-item-title a:hover{color:var(--blue)}.qa-solved{font-size:var(--text-xs);color:var(--ok);background:var(--success-soft);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:500;display:inline-flex}.qa-item-excerpt{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-1);line-height:1.6}.qa-item-meta{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.qa-item-by{font-size:var(--text-xs);color:var(--faint);margin-left:auto}.qa-tag{font-size:var(--text-xs);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-s);align-items:center;gap:4px;padding:2px 8px;text-decoration:none;display:inline-flex}.qa-tag:hover{border-color:var(--gold)}.qa-tag-ctx{color:var(--muted);background:0 0}.qa-empty{text-align:center;padding:var(--space-8) var(--space-4);border:1px dashed var(--line-2);border-radius:var(--radius);color:var(--muted)}.qa-empty-ico{color:var(--faint);margin-bottom:var(--space-3)}.qa-empty h2{font-size:var(--text-lg);color:var(--ink);margin-bottom:var(--space-2)}.qa-empty p{font-size:var(--text-sm);max-width:46ch;margin:0 auto var(--space-4)}.qa-empty-inline{color:var(--muted);font-size:var(--text-sm);padding:var(--space-4);background:var(--surface-2);border-radius:var(--radius)}.qa-back{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-4);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.qa-back:hover{color:var(--ink)}.qa-q,.qa-a{gap:var(--space-4);padding:var(--space-4) 0;display:flex}.qa-q{border-bottom:1px solid var(--line);margin-bottom:var(--space-5)}.qa-q-main,.qa-a-main{flex:1;min-width:0}.qa-q-title{font-family:var(--display);font-size:var(--text-xl);color:var(--ink);letter-spacing:-.01em;font-weight:600;line-height:1.35}.qa-q-meta{font-size:var(--text-xs);color:var(--faint);margin:var(--space-2) 0 var(--space-3);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qa-q-foot,.qa-a-foot{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.qa-a-by{font-size:var(--text-xs);color:var(--faint);margin-right:auto}.qa-h2{font-size:var(--text-lg);color:var(--ink);margin-bottom:var(--space-3);font-weight:600}.qa-h3{font-size:var(--text-md);color:var(--ink);margin-bottom:var(--space-2);font-weight:600}.qa-answers{list-style:none}.qa-a{border-bottom:1px solid var(--line)}.qa-a.accepted{background:var(--success-soft);border-radius:var(--radius);padding-inline:var(--space-3);border-bottom-color:#0000}.qa-accepted-flag{font-size:var(--text-xs);color:var(--ok);margin-bottom:var(--space-2);align-items:center;gap:5px;font-weight:600;display:inline-flex}.qa-prose{color:var(--ink-2);font-size:var(--text-sm);overflow-wrap:anywhere;line-height:1.7}.qa-prose p{margin-bottom:var(--space-2)}.qa-prose ul,.qa-prose ol{margin:0 0 var(--space-2) var(--space-4)}.qa-prose code{font-family:var(--mono);background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:.9em}.qa-prose pre{background:var(--surface-2);padding:var(--space-3);border-radius:var(--radius-s);margin-bottom:var(--space-2);overflow-x:auto}.qa-prose blockquote{border-left:3px solid var(--line-2);padding-left:var(--space-3);color:var(--muted);margin-bottom:var(--space-2)}.qa-vote{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:44px;display:flex}.qa-vote-btn{border-radius:var(--radius-s);width:44px;height:44px;color:var(--faint);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;transition:color .12s,background .12s,border-color .12s;display:grid}.qa-vote-btn:hover:not(:disabled){color:var(--gold-2);background:var(--brand-soft);border-color:var(--gold)}.qa-vote-btn:disabled{opacity:.4;cursor:not-allowed}.qa-vote-btn.on{color:var(--gold-2);background:var(--brand-soft);border-color:var(--gold)}.qa-vote-score{font-size:var(--text-md);color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:700}.qa-vote-err{color:var(--danger);text-align:center;font-size:10px;line-height:1.3}.qa-warn,.qa-pending{gap:var(--space-3);background:var(--warn-soft);border:1px solid var(--warn);border-radius:var(--radius);padding:var(--space-3);margin:var(--space-3) 0;display:flex}.qa-warn-ico{color:var(--warn);flex-shrink:0;margin-top:2px}.qa-warn strong,.qa-pending strong{font-size:var(--text-sm);color:var(--ink);margin-bottom:2px;display:block}.qa-warn p,.qa-pending p{font-size:var(--text-xs);color:var(--ink-2);line-height:1.6}.qa-pending{color:var(--warn);align-items:flex-start}.qa-pending-inline{font-size:var(--text-xs);color:var(--warn);background:var(--warn-soft);border-radius:var(--radius-s);margin-bottom:var(--space-2);align-items:center;gap:5px;padding:3px 8px;display:inline-flex}.qa-field{margin-bottom:var(--space-4);display:block}.qa-label{font-size:var(--text-sm);color:var(--ink);margin-bottom:var(--space-1);font-weight:600;display:block}.qa-hint{color:var(--muted);font-weight:400;font-size:var(--text-xs)}.qa-input,.qa-textarea{border:1px solid var(--line-2);border-radius:var(--radius-s);width:100%;min-height:44px;font-family:var(--sans);color:var(--ink);background:var(--surface);padding:10px 12px;font-size:16px;transition:border-color .12s,box-shadow .12s}.qa-input:focus,.qa-textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.qa-textarea{resize:vertical;line-height:1.6}.qa-skills{gap:var(--space-2);flex-wrap:wrap;display:flex}.qa-check{align-items:flex-start;gap:var(--space-2);min-height:44px;font-size:var(--text-sm);color:var(--ink-2);margin-bottom:var(--space-4);cursor:pointer;display:flex}.qa-check input{accent-color:var(--blue);margin-top:3px}.qa-ask-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.qa-ask-ctx{font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-3);align-items:center;gap:5px;display:flex}.qa-answer-form{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line)}.qa-err{color:var(--danger);font-size:var(--text-sm);margin-bottom:var(--space-2);align-items:center;gap:6px;display:flex}.qa-notice{color:var(--warn);font-size:var(--text-sm);margin-bottom:var(--space-2);align-items:center;gap:6px;display:flex}.qa-login-cta{margin-top:var(--space-5);padding:var(--space-4);background:var(--surface-2);border-radius:var(--radius);text-align:center;font-size:var(--text-sm);color:var(--muted)}.qa-report{position:relative}.qa-link-btn{color:var(--muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:4px;display:inline-flex}.qa-link-btn:hover{color:var(--danger)}.qa-report-pop{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-s);box-shadow:var(--shadow-md);z-index:var(--z-modal);overflow-wrap:anywhere;width:min(280px,100vw - 40px);max-height:min(360px,60dvh);position:absolute;bottom:calc(100% + 4px);right:0;overflow-y:auto}.qa-report-opt{text-align:left;width:100%;min-height:44px;font-size:var(--text-xs);color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:9px 12px;display:block}.qa-report-opt:hover{background:var(--surface-2);color:var(--ink)}@media (max-width:640px){.qa-report-pop{top:auto;left:16px;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));width:auto;min-width:0;max-width:none;max-height:min(360px, calc(100dvh - 160px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));overscroll-behavior:contain;position:fixed;overflow-y:auto}.qa-report-opt{white-space:normal;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.5}}.qa-reported{font-size:var(--text-xs);color:var(--ok)}.qa-accept{border:1px solid var(--line-2);background:var(--surface);color:var(--muted);border-radius:var(--radius-s);min-height:44px;font-size:var(--text-xs);cursor:pointer;align-items:center;gap:5px;padding:5px 10px;transition:border-color .12s,color .12s;display:inline-flex}.qa-accept:hover:not(:disabled){border-color:var(--ok);color:var(--ok)}.qa-accept.on{border-color:var(--ok);color:var(--ok);background:var(--success-soft);cursor:default}.qa-lesson{border-top:1px solid var(--line);margin-top:var(--space-6);padding-top:var(--space-5)}.qa-lesson-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.qa-lesson-list{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.qa-lesson-item{align-items:baseline;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-s);font-size:var(--text-sm);display:flex}.qa-lesson-item a{color:var(--ink);overflow-wrap:anywhere;flex:1;align-items:center;min-width:0;min-height:44px;text-decoration:none;display:flex}.qa-lesson-item a:hover{color:var(--blue)}.qa-lesson-n{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}@media (max-width:640px){.qa-item{gap:var(--space-2);flex-direction:column}.qa-item-stats{gap:var(--space-3);text-align:left;flex-direction:row;min-width:0}.qa-stat strong{margin-right:3px;display:inline}.qa-item-by{width:100%;margin-left:0}.qa-q,.qa-a{gap:var(--space-2)}}:root{--s-bg:#f5f8fc;--s-bg-2:#fff;--s-bg-3:#eaf1fc;--s-navy:#16243e;--s-navy-2:#1d2f52;--s-navy-ink:#eef1f7;--s-navy-muted:#b6c6de;--s-navy-line:#2c4064;--s-ink:#102542;--s-ink-2:#34465f;--s-muted:#4d6078;--s-line:#e0e5ec;--s-line-2:#c9d1dd;--s-gold:#a0761c;--s-gold-text:#8a6517;--s-gold-2:#c29434;--s-gold-soft:#a0761c1a;--s-link:#1655c5;--s-ok:#2e7d4f;--s-btn-bg:#165de5;--s-btn-bg-2:#104cbd;--s-btn-ink:#fff;--s-shadow-sm:0 1px 2px #1c2a440f, 0 8px 24px -16px #1c2a4438;--s-shadow-md:0 2px 4px #1c2a440f, 0 18px 44px -20px #1c2a444d;--shell-header-bg:color-mix(in srgb, var(--s-bg) 92%, transparent);--shell-header-line:var(--s-line)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--action:#a0c1ff;--action-hover:#bdd3ff;--action-ink:#102542;--action-soft:#203457;--s-bg:#0d1626;--s-bg-2:#152238;--s-bg-3:#111d31;--s-navy:#17294a;--s-navy-2:#16273f;--s-navy-ink:#e9edf5;--s-navy-muted:#b6c6de;--s-navy-line:#26385a;--s-ink:#e9edf5;--s-ink-2:#cfdaeb;--s-muted:#a9bad3;--s-gold-text:#d3a345;--s-line:#223350;--s-line-2:#33476b;--s-gold:#d3a345;--s-gold-2:#e4bc63;--s-gold-soft:#d3a34521;--s-link:#7ea6dd;--s-ok:#6cbd8e;--s-btn-bg:#a0c1ff;--s-btn-bg-2:#bdd3ff;--s-btn-ink:#102542;--s-shadow-sm:0 1px 2px #00000059, 0 8px 24px -16px #0000008c;--s-shadow-md:0 2px 4px #00000059, 0 18px 44px -20px #000000a6;--blue:#7ea6dd}.course-card--more{text-align:center;justify-content:center;align-items:center;gap:var(--space-2);border:1.5px dashed var(--line-2);background:0 0;min-height:180px;transition:border-color .15s,background .15s}.course-card--more:hover{border-color:var(--gold);background:var(--brand-soft)}.course-more-num{font-size:var(--text-3xl);color:var(--gold);font-weight:700;line-height:1}.course-more-label{color:var(--muted);font-size:var(--text-sm)}.course-more-cta{color:var(--ink);font-size:var(--text-sm);margin-top:var(--space-1);align-items:center;gap:6px;font-weight:600;display:inline-flex}:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy-900:#f5f8fc;--navy-800:#fafbfd;--navy-700:#e8ecf2;--surface:#fff;--surface-2:#edf0f5;--ink:#102542;--ink-2:#34465f;--muted:#4d6078;--faint:#53647b;--line:#dfe4ec;--line-2:#c3ccda;--field-border:#74829a;--gold:#8a6517;--gold-2:#755612;--gold-ink:#fff;--blue:#1655c5;--danger:#ab352c;--ok:#2a7449;--warn:#8a6517;--brand-soft:#8a65171f;--success-soft:#2a74491f;--warn-soft:#8a65171a;--crit-soft:#ab352c1a;--shadow-sm:0 1px 2px #1c2a440d, 0 4px 14px -6px #1c2a441f;--shadow-md:0 2px 4px #1c2a440d, 0 12px 34px -14px #1c2a4429;--shadow-lg:0 30px 70px -30px #1c2a4447}html:not([data-theme=dark]) body{background:var(--navy-900)}.btn-primary{background:var(--s-btn-bg);color:var(--s-btn-ink)}.btn-primary:hover:not(:disabled){background:var(--s-btn-bg-2);filter:none}.shell-icon-btn{border:1px solid var(--line-2);width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;flex:none;place-items:center;transition:color .15s,border-color .15s,background .15s;display:grid}.shell-icon-btn:hover{color:var(--ink);border-color:var(--muted);background:var(--surface-2)}html:not([data-theme=dark]) .lb-row.top-1 .lb-rank{color:var(--gold-2)}html:not([data-theme=dark]) .lb-row.top-2 .lb-rank{color:#64748b}html:not([data-theme=dark]) .lb-row.top-3 .lb-rank{color:#a05e21}html:not([data-theme=dark]) .cat-foundation{--cat-tint:#a0761c29}html:not([data-theme=dark]) .cat-compliance{--cat-tint:#2a744924}html:not([data-theme=dark]) .cat-retail{--cat-tint:#2f5fa324}html:not([data-theme=dark]) .cat-credit{--cat-tint:#9a562026;--cat-ink:#9a5620}html:not([data-theme=dark]) .cat-trade{--cat-tint:#17706a21;--cat-ink:#17706a}html:not([data-theme=dark]) .cat-finance{--cat-tint:#6d4bb821;--cat-ink:#6d4bb8}html:not([data-theme=dark]) .cat-risk{--cat-tint:#ab352c21}html:not([data-theme=dark]) .cat-treasury{--cat-tint:#16668e21;--cat-ink:#16668e}html:not([data-theme=dark]) .cat-fintech{--cat-tint:#4457b821;--cat-ink:#4457b8}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.shell-header{background:var(--s-bg)}}.catalog-path-banner{border:1px solid var(--line-2);border-radius:var(--radius-s);background:var(--brand-soft);font-size:var(--text-base);color:var(--ink-2);align-items:center;gap:10px;margin-bottom:14px;padding:11px 16px;display:flex}.catalog-path-banner svg{color:var(--gold-2);flex:none}.soon-note{font-size:var(--text-sm);color:var(--muted);max-width:68ch;margin:-6px 0 14px}.soon-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.soon-card{border:1px dashed var(--line-2);border-radius:var(--radius-s);background:0 0;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.soon-cat{letter-spacing:.08em;text-transform:uppercase;color:var(--cat-ink,var(--gold-2));font-size:10.5px;font-weight:700}.soon-title{font-size:var(--text-base);color:var(--ink-2);margin:0;font-weight:600}.soon-sum{font-size:var(--text-sm);color:var(--faint);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.soon-card .pill-soon{align-self:flex-start;margin-top:auto}.cmp-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);position:relative;overflow-x:auto}.cmp-table{border-collapse:collapse;width:100%;font-size:var(--text-base);min-width:640px}.cmp-table th,.cmp-table td{border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;padding:12px 16px}.cmp-table thead th{font-size:var(--text-sm);color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line-2);font-weight:700}.cmp-table tbody th[scope=row]{text-align:left;color:var(--ink-2);max-width:320px;font-weight:500}.cmp-table .cmp-hl{background:var(--brand-soft)}.cmp-table thead .cmp-hl{color:var(--gold-2)}.cmp-yes{color:var(--ok);display:inline-flex}.cmp-no{color:var(--faint);opacity:.7;display:inline-flex}.cmp-text{font-size:var(--text-sm);color:var(--muted)}.cmp-cta-row td{border-bottom:none;padding-block:14px}.cmp-cta-row th{border-bottom:none}.cmp-btn{white-space:nowrap;padding:8px 14px;font-size:13px}.cmp-cards{display:none}@media (max-width:640px){.cmp-wrap{display:none}.cmp-cards{gap:var(--space-3);display:grid}.cmp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3);box-shadow:var(--shadow-sm)}.cmp-card--hl{border-color:var(--gold);box-shadow:var(--shadow-md)}.cmp-card-name{font-size:var(--text-md);align-items:center;gap:10px;margin:0 0 2px;display:flex}.cmp-card-flag{letter-spacing:.07em;text-transform:uppercase;color:var(--gold-ink);background:linear-gradient(180deg, var(--gold-2), var(--gold));border-radius:4px;padding:2px 7px;font-size:10.5px;font-weight:700}.cmp-card-note{font-size:var(--text-sm);color:var(--muted);margin:0 0 10px}.cmp-card-rows{margin:0 0 var(--space-3);padding:0;list-style:none}.cmp-card-row{border-bottom:1px solid var(--line);font-size:var(--text-sm);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.cmp-card-row:last-child{border-bottom:0}.cmp-card-label{color:var(--ink-2)}.cmp-card-row .cmp-text{text-align:right;flex-shrink:0;max-width:46%}}.pricing-faq{border-top:1px solid var(--line-2);max-width:760px}.pricing-faq-item{border-bottom:1px solid var(--line)}.pricing-faq-item summary{cursor:pointer;font-size:var(--text-md);color:var(--ink);justify-content:space-between;align-items:center;gap:14px;padding:14px 2px;font-weight:600;list-style:none;display:flex}.pricing-faq-item summary::-webkit-details-marker{display:none}.pricing-faq-item summary:hover{background:var(--brand-soft)}.pricing-faq-item summary svg{color:var(--muted);flex:none;transition:transform .2s}.pricing-faq-item[open] summary svg{color:var(--gold-2);transform:rotate(180deg)}.pricing-faq-item p{font-size:var(--text-base);color:var(--ink-2);max-width:66ch;margin:0;padding:0 32px 14px 2px;line-height:1.65}@media (prefers-reduced-motion:reduce){.pricing-faq-item summary svg{transition:none}}.shell-header{gap:0;height:72px;padding:0}.shell-header-inner{width:100%;max-width:var(--shell-max-width);height:100%;padding-inline:var(--shell-gutter);align-items:center;gap:22px;min-width:0;margin:0 auto;display:flex}.shell-brand{font-size:1.32rem}.shell-link{color:var(--ink-2);border-radius:8px;padding:9px 13px;font-size:14px;font-weight:500}.shell-link:hover{color:var(--ink);background:var(--action-soft)}.shell-link[aria-current=page]{color:var(--action);background:var(--action-soft)}.shell-header .btn{border-radius:8px;padding:8px 15px;font-size:14px}@media (max-width:860px){.shell-header{height:64px}}.course-cover-art{border-radius:var(--radius-s);background:var(--surface-2);border:1px solid var(--line);aspect-ratio:16/9;border-left:3px solid var(--cat-ink,var(--gold-2));flex-direction:column;justify-content:flex-end;min-height:120px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.cover-art-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;font-size:10.5px;font-weight:700;display:inline-flex;position:absolute;top:12px;left:14px}.cover-art-title{font-family:var(--display);color:var(--ink);letter-spacing:-.01em;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:92%;font-size:clamp(1.05rem,2.2vw,1.45rem);font-weight:600;line-height:1.2;display:-webkit-box;position:relative;overflow:hidden}.cover-art-cat{letter-spacing:.1em;text-transform:uppercase;color:var(--cat-ink,var(--gold-2));margin-top:4px;font-size:12px;font-weight:700;position:relative}.prose-expand{position:relative}.prose-expand-content{display:flow-root}.prose-expand.clamped .prose-expand-body{max-height:340px;overflow:hidden}.prose-expand.clamped:after{content:"";background:linear-gradient(180deg, transparent, var(--surface));pointer-events:none;height:84px;position:absolute;bottom:44px;left:0;right:0}.prose-expand-toggle{min-height:44px;font:inherit;font-size:var(--text-base);color:var(--gold-2);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:10px;padding:6px 0;font-weight:600;display:inline-flex;position:relative}.prose-expand-toggle:hover{text-underline-offset:4px;text-decoration:underline}.prose-expand-toggle svg{transition:transform .2s}.prose-expand[data-open=true] .prose-expand-toggle svg{transform:rotate(180deg)}.instructor-card{align-items:flex-start;gap:14px;display:flex}.instructor-avatar{background:var(--surface-2);border:1px solid var(--line-2);border-radius:12px;flex:none;place-items:center;width:52px;height:52px;display:grid}.instructor-card h3{font-size:var(--text-md);margin:0 0 2px;font-weight:700}.instructor-role{font-size:var(--text-sm);color:var(--gold-2);margin:0 0 8px;font-weight:600}.instructor-bio{font-size:var(--text-base);color:var(--ink-2);max-width:64ch;margin:0;line-height:1.65}.course-facts{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.course-facts li{border-bottom:1px solid var(--line);font-size:var(--text-sm);justify-content:space-between;gap:14px;padding:8px 0;display:flex}.course-facts li:last-child{border-bottom:none}.course-facts .k{color:var(--muted);flex:none}.course-facts .v{color:var(--ink-2);text-align:right;min-width:0;font-weight:600}@media (max-width:720px){.shell-header-inner{gap:10px}.shell-brand{font-size:1.15rem}.shell-right{gap:7px}}@media (max-width:520px){.shell-header .btn-ghost{border-color:#0000;padding:8px 6px;font-size:14px}.shell-stat{display:none}}@media (max-width:374px){.shell-header .btn{padding:8px 9px;font-size:14px}.shell-brand{font-size:1rem}.shell-header-inner{gap:6px}}.page-container{width:100%;max-width:var(--shell-max-width);padding-inline:var(--shell-gutter);margin-inline:auto}.page-section{padding-block:clamp(32px, 4vw, 48px) var(--space-8)}.page-container>*,.page-section>*{min-width:0}.page-kicker{color:var(--action);letter-spacing:.035em;margin:0 0 10px;font-size:12px;font-weight:700;line-height:1.7}
