@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-ece1310W.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-D-yuW59g.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-CxNHBx-q.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}:root{--paper: #f4f0e8;--surface: #ffffff;--ink: #14172b;--slate: #4a5170;--muted: #63698a;--line: #dfdcd4;--line-strong: #cfc6b2;--signal: #2d5bd6;--signal-hover: #1f45ac;--signal-wash: #eef2fd;--gold: #ffcc00;--gold-hover: #e6b800;--gold-light: #ffdd55;--brass: #866710;--on-ink-wash: rgb(244 240 232 / .12);--on-ink-wash-strong: rgb(244 240 232 / .16);--on-ink-muted: rgb(244 240 232 / .72);--scrim: rgb(20 23 43 / .55);--wash: rgb(20 23 43 / .05);--mint: #0f7a63;--mint-wash: #e4f2ee;--alert: #b3261e;--alert-wash: #fdeceb;--font-sans: "Archivo Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-prose: "Source Serif 4 Variable", Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-base: 1.125rem;--text-lg: 1.25rem;--text-xl: clamp(1.375rem, 1.25rem + .6vw, 1.625rem);--text-2xl: clamp(1.625rem, 1.4rem + 1.1vw, 2.125rem);--text-3xl: clamp(2rem, 1.6rem + 2vw, 2.875rem);--text-4xl: clamp(2.375rem, 1.7rem + 3.4vw, 4.25rem);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.15;--leading-snug: 1.35;--leading-normal: 1.6;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .08em;--measure: 68ch;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 10px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(74 60 31 / .07), 0 2px 6px rgb(74 60 31 / .05);--shadow-md: 0 2px 4px rgb(74 60 31 / .08), 0 8px 20px rgb(74 60 31 / .09);--shadow-lg: 0 4px 8px rgb(74 60 31 / .1), 0 18px 44px rgb(74 60 31 / .13);--focus-ring: 0 0 0 3px rgb(45 91 214 / .4);--header-height: 60px;--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--ease-out: cubic-bezier(.2, 0, 0, 1)}@supports (color: rgb(from white r g b / .5)){:root{--on-ink-wash: rgb(from var(--paper) r g b / .12);--on-ink-wash-strong: rgb(from var(--paper) r g b / .16);--on-ink-muted: rgb(from var(--paper) r g b / .72);--scrim: rgb(from var(--ink) r g b / .55);--wash: rgb(from var(--ink) r g b / .05)}}:root{--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--content-max: 1280px}@view-transition{navigation:auto}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@view-transition{navigation:none}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;display:flex;flex-direction:column;min-width:320px;min-height:100vh;background-color:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:var(--weight-regular);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;display:flex;color-scheme:light}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5,h6{font-size:var(--text-base)}p{text-wrap:pretty}.prose{font-family:var(--font-prose);font-size:var(--text-lg);line-height:var(--leading-normal);max-width:var(--measure)}.prose>*+*{margin-top:var(--space-4)}.prose h2,.prose h3,.prose h4{margin-top:var(--space-6)}.prose ul,.prose ol{padding-left:var(--space-5)}.prose li+li{margin-top:var(--space-2)}a{color:var(--signal);text-decoration-thickness:1px;text-underline-offset:.15em}a:hover{color:var(--signal-hover)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.skip-to-content{position:absolute;left:var(--space-2);top:calc(var(--space-2) * -10);z-index:100;padding:var(--space-2) var(--space-4);background:var(--ink);color:var(--paper);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);text-decoration:none;transition:top var(--duration-fast) var(--ease-out)}.skip-to-content:focus{top:var(--space-2);color:var(--paper)}img,picture,video,canvas,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}ul,ol{list-style:disc outside none;padding-left:var(--space-5)}ol{list-style-type:decimal}ul ul,ol ul{list-style-type:circle}ol ol,ul ol{list-style-type:lower-latin}button{min-height:44px;padding:var(--space-3) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1;background-color:var(--surface);color:var(--ink);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}button:hover:not(:disabled){border-color:var(--slate)}button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}[data-pending]{cursor:progress}select,input:not([type=radio]):not([type=checkbox]):not([type=file]),textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background-color:var(--surface);transition:border-color var(--duration-fast) var(--ease-out)}select:hover:not(:disabled),input:not([type=radio]):not([type=checkbox]):not([type=file]):hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--line-strong)}select:focus,input:not([type=radio]):not([type=checkbox]):not([type=file]):focus,textarea:focus{border-color:var(--signal)}select:disabled,input:not([type=radio]):not([type=checkbox]):not([type=file]):disabled,textarea:disabled{background-color:var(--wash);color:var(--muted);cursor:not-allowed}::placeholder{color:var(--muted);opacity:1}.scroll-x{overflow-x:auto;max-width:100%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}.ui-page{width:100%;display:flex;flex-direction:column;min-height:100vh;background:var(--paper)}.ui-page__main{flex:1;width:100%;max-width:var(--content-max);margin-inline:auto;padding:var(--space-6) var(--space-4) var(--space-9);view-transition-name:page-content}@media(min-width:768px){.ui-page__main{padding-inline:var(--space-6)}}.ui-page__main--wide{max-width:none;padding-inline:var(--space-4);padding-top:0}.ui-page__main--below-nav{padding-top:calc(var(--header-height) + var(--space-6))}.ui-eyebrow{display:block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-3)}.ui-eyebrow--ruled{display:flex;align-items:center;gap:var(--space-3)}.ui-eyebrow--ruled:after{content:"";flex:1;height:1px;background:var(--line)}.ui-eyebrow--accent{color:var(--mint)}.ui-eyebrow--accent.ui-eyebrow--ruled:after{background:var(--mint);opacity:.35}.ui-spec{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted);margin:0;padding:0;list-style:none}.ui-spec__item{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.ui-spec__item:only-child{white-space:normal}.ui-spec__item+.ui-spec__item:before{content:"";width:3px;height:3px;border-radius:var(--radius-pill);background:var(--line);flex:none}.ui-spec--emphasis .ui-spec__item{color:var(--slate);font-weight:var(--weight-semibold)}.ui-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5)}.ui-card--interactive{cursor:pointer;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.ui-card--interactive:hover{border-color:var(--slate);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ui-card--owned{border-left:3px solid var(--brass)}.ui-progress{display:flex;align-items:center;gap:var(--space-3);width:100%}.ui-progress__track{flex:1;height:6px;background:var(--mint-wash);border-radius:var(--radius-pill);overflow:hidden}.ui-progress__fill{height:100%;background:var(--mint);border-radius:var(--radius-pill);transition:width var(--duration-slow) var(--ease-out)}.ui-progress--complete .ui-progress__fill{background:var(--brass)}.ui-progress--complete .ui-progress__label{color:var(--brass)}.ui-progress__label{font-family:var(--font-mono);font-weight:var(--weight-semibold);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--mint);white-space:nowrap;min-width:4ch;text-align:right}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1;padding:var(--space-3) var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;white-space:nowrap;min-height:44px;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.ui-button{box-shadow:none}.ui-button:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.ui-button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.ui-button--primary:focus-visible{outline-color:var(--ink)}.ui-button:disabled,.ui-button[aria-disabled=true]{cursor:not-allowed;opacity:.55}.ui-button[data-pending],form.htmx-request .ui-button{transform:translateY(1px);opacity:.8;cursor:progress}.ui-button--primary{background:var(--gold);color:var(--ink)}.ui-button--primary:hover:not(:disabled){background:var(--gold-hover);color:var(--ink)}.ui-button--secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.ui-button--secondary:hover:not(:disabled){border-color:var(--slate);color:var(--ink)}.ui-button--ghost{background:transparent;color:var(--signal);padding-inline:var(--space-2)}.ui-button--ghost:hover:not(:disabled){color:var(--signal-hover);text-decoration:underline}.ui-button--danger{background:var(--surface);border-color:var(--alert);color:var(--alert)}.ui-button--danger:hover:not(:disabled){background:var(--alert-wash);color:var(--alert)}.ui-button--full{width:100%}.site-header{position:fixed;top:0;left:0;width:100%;z-index:5;background:var(--ink);view-transition-name:site-header}.site-nav{display:flex;align-items:center;gap:var(--space-4);height:var(--header-height);max-width:var(--content-max);margin-inline:auto;padding-inline:var(--space-4)}@media(min-width:768px){.site-nav{padding-inline:var(--space-6)}}.site-nav__brand{display:flex;align-items:center;gap:var(--space-3);margin-right:auto;color:var(--paper);text-decoration:none}.site-nav__brand:hover{color:var(--paper)}.site-nav__wordmark{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);white-space:nowrap}.site-nav__wordmark-light{font-weight:var(--weight-regular);color:var(--gold)}@media(max-width:479px){.site-nav__wordmark{font-size:var(--text-sm)}}.site-nav__links{display:none;align-items:center;gap:var(--space-2)}.site-nav__link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:0;background:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--paper);text-decoration:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.site-nav__link:hover{background:var(--on-ink-wash);color:var(--paper)}.site-nav__link.active,.site-nav__link:active,.site-nav__brand:active{background:var(--on-ink-wash-strong)}.site-nav__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding-inline:var(--space-1);background:var(--gold);color:var(--ink);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.site-nav__toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;color:var(--paper);font-size:var(--text-lg);cursor:pointer;border-radius:var(--radius-md);box-shadow:none;padding:0}.site-nav__toggle:hover{background:var(--on-ink-wash)}@media(min-width:768px){.site-nav__links{display:flex}.site-nav__toggle{display:none}}.site-header--static{position:static}.site-nav--static{height:auto;min-height:var(--header-height);flex-wrap:wrap;padding-block:var(--space-2)}.site-nav__links--static{display:flex;flex-wrap:wrap}.site-nav__link:focus-visible,.site-nav__toggle:focus-visible,.site-nav__brand:focus-visible,.site-nav__menu-item:focus-visible,.site-nav__drawer-link:hover{color:var(--paper)}.site-nav__drawer-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.site-nav__account{position:relative}.site-nav__menu{position:absolute;right:0;top:calc(100% + var(--space-2));min-width:220px;display:flex;flex-direction:column;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.site-nav__email{padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);overflow-wrap:anywhere}.site-nav__menu-item{padding:var(--space-3);border:0;background:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-md);color:var(--ink);text-align:left;cursor:pointer}.site-nav__menu-item:hover{background:var(--signal-wash)}.site-nav__drawer{display:flex;flex-direction:column;padding:var(--space-2) var(--space-4) var(--space-4);background:var(--ink);border-top:1px solid var(--on-ink-wash)}.site-nav__drawer-link{padding:var(--space-3) 0;border:0;background:none;font-family:var(--font-sans);font-size:var(--text-base);color:var(--paper);text-align:left;text-decoration:none;cursor:pointer}@media(min-width:768px){.site-nav__drawer{display:none}}.site-footer{background:var(--ink);color:var(--paper);margin-top:auto}.site-footer__inner{display:flex;flex-direction:column;gap:var(--space-6);max-width:var(--content-max);margin-inline:auto;padding:var(--space-7) var(--space-4)}@media(min-width:768px){.site-footer__inner{flex-direction:row;justify-content:space-between;align-items:flex-start;padding-inline:var(--space-6)}}.site-footer__brand{display:flex;align-items:center;gap:var(--space-3)}.site-footer__name{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-bold)}.site-footer__caption{font-size:var(--text-sm);color:var(--gold)}.site-footer__links{display:flex;flex-direction:column;gap:var(--space-3)}.site-footer__links a{color:var(--paper);font-size:var(--text-sm);text-decoration:none}.site-footer__links a:hover{color:var(--paper);text-decoration:underline}.site-footer__links a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.site-footer__bottom{border-top:1px solid var(--on-ink-wash);padding:var(--space-4);text-align:center;font-size:var(--text-sm);opacity:.72}.catalogue__title{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.site-nav__signout{display:contents}button.site-nav__link{background:none;border:0;padding:0;cursor:pointer}html[data-navigating]:after{content:"";position:fixed;inset:0 0 auto;height:3px;z-index:200;background:var(--mint);pointer-events:none}@media(prefers-reduced-motion:no-preference){html[data-navigating]:after{background:linear-gradient(90deg,transparent,var(--mint) 40%,var(--mint) 60%,transparent) no-repeat;background-size:40% 100%;animation:nav-sweep 1.1s var(--ease-out) infinite}}@keyframes nav-sweep{0%{background-position:-40% 0}to{background-position:140% 0}}@media(prefers-reduced-motion:no-preference){::view-transition-old(page-content){animation:page-content-out 90ms var(--ease-out) both}::view-transition-new(page-content){animation:page-content-in .18s var(--ease-out) both}}@keyframes page-content-out{to{opacity:0}}@keyframes page-content-in{0%{opacity:0;transform:translateY(8px)}}.catalogue__band{margin-bottom:var(--space-8)}.catalogue__lead{max-width:var(--measure);color:var(--slate);font-size:var(--text-lg);margin-bottom:var(--space-7)}.catalogue__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5)}.catalogue__grid>*{max-width:600px}.catalogue__empty{padding:var(--space-6);border:1px dashed var(--line);border-radius:var(--radius-lg);color:var(--slate);max-width:var(--measure)}.course-tile-wrap{position:relative;display:flex}.course-tile{position:relative;display:flex;flex-direction:column;gap:var(--space-3);flex:1;min-height:128px;padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.course-tile:hover,.course-tile.is-active{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-2px);color:var(--ink)}.course-tile:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.course-tile__description{color:var(--slate);font-size:var(--text-sm);line-height:var(--leading-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-tile__unstarted{color:var(--muted)}.course-tile__name{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:balance}.course-tile__spec{margin-top:auto}.course-tile__progress{display:block}.course-popover{display:none;position:absolute;top:0;z-index:20;width:340px;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:course-popover-in var(--duration-fast) var(--ease-out) .22s both}.course-popover--right{left:calc(100% + var(--space-3))}.course-popover--left{right:calc(100% + var(--space-3))}@media(hover:hover){.course-tile-wrap:hover>.course-popover{display:flex}}.course-tile-wrap:focus-within>.course-popover{display:flex;animation-delay:0s}@keyframes course-popover-in{0%{opacity:0;transform:translateY(4px)}}.course-popover__name{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.course-popover__description{font-family:var(--font-prose);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--slate);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}@media(hover:none){.course-popover{display:none}}.course-tile--placeholder{min-height:128px;padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);animation:course-tile-pulse 1.4s var(--ease-out) infinite alternate}@keyframes course-tile-pulse{to{background:var(--paper);border-color:var(--slate)}}@media(prefers-reduced-motion:reduce){.course-tile--placeholder{animation:none}}.detail__title{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.detail__schedule{display:inline-block;font-family:var(--font-mono);font-size:var(--text-md);font-weight:600;letter-spacing:var(--tracking-wide);color:var(--ink);background:var(--gold);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-7)}.detail__section{margin-bottom:var(--space-7)}.detail__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.detail__empty{color:var(--muted);font-size:var(--text-md);max-width:var(--measure)}@media(max-width:479px){.cert-modal__share-row{flex-direction:column}.cert-modal__actions{flex-direction:column-reverse}.cert-modal__actions .ui-button{width:100%}}.sectionMain{display:flex;flex-direction:column;flex:1;min-width:0}.sectionModules{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-1)}.detail__actions--course{margin-bottom:var(--space-4)}@media(min-width:1024px){.enroll__columns{grid-template-columns:minmax(0,1fr) 420px;gap:var(--space-6)}}@media(min-width:768px){.highlights__grid,.includes__grid{grid-template-columns:1fr 1fr}}.left-inner-right-item{display:flex;align-items:center;min-width:0}@media(max-width:768px){.player-edge{width:32px;min-height:44px}.player-edge svg{width:13px;height:13px}}@media(prefers-reduced-motion:reduce){.player-edge{transition:none}}.cart-link{text-decoration:none;position:relative;display:inline-flex;align-items:center;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--paper)}.cart-link:hover{background:var(--on-ink-wash);color:var(--paper)}.cart-link__icon{width:20px;height:20px}.cart-link__count{position:absolute;top:0;right:0;min-width:1.1rem;padding:0 .25rem;border-radius:999px;background:var(--signal);color:var(--paper);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.1rem;text-align:center}@media(max-width:768px){.player-header{gap:var(--space-2);padding:0 var(--space-3)}.player-header__cert{padding:var(--space-1)}}@media(min-width:1024px){.player-tabs__tab--contents{display:none}.player-tabs__panel{grid-area:panel}.player-layout[data-contents=closed] .navigation-panel{display:none}}@media(max-width:768px){.player-layout[data-material=quiz] .quiz-details-container,.player-layout[data-material=document] .player-stage{padding-inline:36px}}@media(min-width:768px){.cert-public:has(.cert-public__image){grid-template-columns:2fr 1fr;align-items:start}}.is-hidden{display:none}@media(prefers-reduced-motion:reduce){.cert-public__spinner{animation:none}}.preference-panel{max-width:32rem;margin-inline:auto}.preference-panel__message{color:var(--slate);margin-bottom:var(--space-5)}.preference-panel__message--done{color:var(--ink);font-weight:600}.preference-panel__message--error{color:var(--alert)}.preference-panel__form{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.preference-panel__label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted)}.preference-panel__input{width:100%;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md)}.preference-panel__input:focus-visible{outline:2px solid var(--signal);outline-offset:1px;border-color:var(--signal)}.cart__empty{color:var(--muted);font-size:var(--text-md);max-width:var(--measure)}.cart__lines{list-style:none;margin:0 0 var(--space-6);padding:0;max-width:var(--measure)}.cart__line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.cart__line-name{font-weight:var(--weight-semibold)}.cart__line-price{font-family:var(--font-mono);font-size:var(--text-sm)}.cart__line-remove{display:contents}.cart__totals{max-width:var(--measure);margin-bottom:var(--space-6)}.cart__total-row{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;font-family:var(--font-mono);font-size:var(--text-sm)}.cart__total-row--grand{border-top:1px solid var(--line);margin-top:var(--space-2);padding-top:var(--space-3);font-size:var(--text-md);font-weight:var(--weight-bold)}.cart__total-note{color:var(--muted);font-size:var(--text-sm)}.cart__discount{max-width:var(--measure);margin-bottom:var(--space-6)}.cart__discount-label{display:block;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-2)}.cart__discount-row{display:flex;gap:var(--space-3);align-items:flex-start}.cart__discount-input{flex:1 1 0;min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md)}.cart__discount-input:focus-visible{outline:2px solid var(--signal);outline-offset:1px;border-color:var(--signal)}.cart__checkout{max-width:var(--measure)}@media(max-width:479px){.cart__line{grid-template-columns:1fr auto}.cart__discount-row{flex-direction:column;align-items:stretch}}.cart__notice{max-width:var(--measure);margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink)}button.sectionItem{width:100%;background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}button.sectionItem:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.loginInput--code{letter-spacing:6px;text-align:center;font-size:var(--text-xl)}.loginNote{margin-top:var(--space-3);text-align:center;font-size:var(--text-md);color:var(--muted)}.loginNote--small{font-size:var(--text-sm)}.loginNote--expired{color:var(--alert)}.loginResend{margin-top:var(--space-3);text-align:center}.linkLikeButton{background:none;border:0;padding:0;font:inherit;color:var(--signal);text-decoration:underline;cursor:pointer}.linkLikeButton:hover:not(:disabled){background:none;color:var(--signal-hover)}.linkLikeButton:disabled{color:var(--muted);cursor:default;text-decoration:none}.is-complete:after{content:" ✓";color:var(--mint)}.course-actions{max-width:var(--measure);margin:var(--space-7) auto 0;padding-top:var(--space-6);border-top:1px solid var(--line)}.course-actions__notice{max-width:var(--measure);margin:var(--space-5) auto 0;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-left:3px solid var(--signal);border-radius:var(--radius-md);background:var(--surface)}.course-actions__heading{font-size:var(--text-lg);margin-bottom:var(--space-2)}.course-actions__note{color:var(--muted);font-size:var(--text-sm);margin-bottom:var(--space-3);max-width:var(--measure)}.course-actions__danger{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px dashed var(--line)}.document__title{font-size:var(--text-2xl);margin-bottom:var(--space-5)}.document__reading+.document__reading{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line)}.document__heading{font-size:var(--text-lg);margin-bottom:var(--space-3)}.document__body{color:var(--slate);line-height:var(--leading-relaxed);white-space:pre-line}.document__link{display:inline-block;margin-top:var(--space-4);font-weight:var(--weight-semibold)}.document__link--external:after{content:" ↗"}.enroll__subhead{font-size:var(--text-xl);margin-bottom:var(--space-4)}.enroll__testimonials{margin-top:var(--space-5)}.enroll__testimonials>summary{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--signal);padding:var(--space-2) 0}.enroll__testimonials>summary:hover{color:var(--signal-hover)}.enroll__testimonials[open]>summary{margin-bottom:var(--space-3)}.enroll__columns{display:grid;grid-template-columns:1fr;gap:var(--space-6);align-items:start}.enroll__main .courseDescription{max-width:var(--measure)}.enroll__aside{display:flex;flex-direction:column;gap:var(--space-5)}.enroll__card{padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);font-size:var(--text-md);line-height:var(--leading-normal)}.enroll__card .enroll__subhead{font-size:var(--text-lg);margin-bottom:var(--space-3)}.enroll__aside .certificateDetails{display:flex;align-items:center;gap:var(--space-4);margin:0;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.enroll__aside .certificateImage{flex:none;width:108px}.enroll__aside .certificateInfo .title{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--leading-snug);margin-bottom:var(--space-2);text-wrap:balance}.enroll__aside .certificateInfo .description{font-size:var(--text-sm);color:var(--muted)}.highlights{padding:var(--space-5);margin-bottom:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.highlights__heading{font-size:var(--text-xl);margin-bottom:var(--space-4)}.highlights__grid,.includes__grid{display:grid;grid-template-columns:1fr;gap:var(--space-3) var(--space-6);list-style:none;padding:0;margin:0}.highlights__item{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--ink)}.highlights__tick{flex:none;width:16px;height:16px;margin-top:.35em;color:var(--mint)}.includes{margin-bottom:var(--space-6)}.includes__heading{font-size:var(--text-lg);margin-bottom:var(--space-3)}.includes__item{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--slate)}.enroll__subtitle{font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--slate);max-width:var(--measure);margin-bottom:var(--space-6)}.enroll__curriculum{grid-column:1 / -1;margin-top:var(--space-6)}.enroll__discount{font-weight:var(--weight-semibold);color:var(--signal);margin-top:var(--space-2)}.instructorDescription__continued{margin-top:var(--space-3)}.enroll__header{padding-bottom:var(--space-6);margin-bottom:var(--space-7);border-bottom:1px solid var(--line)}.enroll__spec{margin-bottom:var(--space-4)}.enroll__title{font-size:var(--text-4xl);margin-bottom:var(--space-4)}.priceAndButton{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-5);margin-top:var(--space-6)}.coursePrice{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--ink);line-height:var(--leading-tight)}.priceAndButton form{display:contents}.courseDescription{color:var(--slate);line-height:1.6;margin-bottom:20px}.courseContentAccordion,.instructorDescription{margin-top:30px}.tempUnavailable{color:var(--muted);font-size:15px!important}.previewAvailable{background-color:var(--mint-wash);color:var(--mint);font-size:12px;padding:2px 6px;border-radius:6px;margin-top:5px;white-space:nowrap}@media only screen and (max-width:600px){.priceAndButton{gap:var(--space-3) var(--space-5)}}.player-nav__toggle,.player-nav__step{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);min-height:44px;background:none;border:0;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--signal);cursor:pointer}.player-nav__toggle:hover:not(:disabled),.player-nav__step:hover:not(:disabled){background:var(--wash);color:var(--signal-hover)}.player-nav__toggle:focus-visible,.player-nav__step:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.player-nav__toggle svg,.player-nav__step svg{width:14px;height:14px;flex:none}.player-nav__toggle svg{transition:transform var(--duration-fast) var(--ease-out)}.player-layout[data-contents=closed] .player-nav__toggle svg{transform:scaleX(-1)}.navigation-panel .accordion__item+.accordion__item{border-top:1px solid var(--line)}.navigation-panel .accordion__button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background-color:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;line-height:1.35}.navigation-panel .accordion__button:hover{background-color:var(--signal-wash);border-bottom:none}.navigation-panel .accordion__button:before{order:3;margin-right:0;flex:none}.player-drawer__section-name{flex:1 1 auto;min-width:0}.player-drawer__section-count{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;color:var(--muted);white-space:nowrap}.navigation-panel .accordion__panel{padding:0}.player-drawer__module{padding:var(--space-2) 0}.player-drawer__module+.player-drawer__module{border-top:1px dashed var(--line)}.player-drawer__module-name{margin:0 0 var(--space-1);padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.player-drawer__row{text-decoration:none;display:flex;align-items:flex-start;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:none;border-left:3px solid transparent;border-radius:0;background-color:transparent;color:var(--ink);font-family:var(--font-sans);text-align:left;box-shadow:none;cursor:pointer}.player-drawer__row:hover:not(:disabled){background-color:var(--signal-wash);color:var(--ink);border-left-color:var(--signal)}.player-drawer__row:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.player-drawer__row--active{background-color:var(--signal-wash);border-left-color:var(--signal);font-weight:600}.player-drawer__row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.player-drawer__row-name{font-size:var(--text-sm);line-height:1.35}.player-drawer__row-meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}.player-drawer__icon{flex:none;width:16px;height:16px;margin-top:2px}.player-drawer__icon--done{color:var(--mint)}.player-drawer__icon--video{color:var(--signal)}.player-drawer__icon--failed{color:var(--alert)}.player-drawer__icon--reading,.player-drawer__icon--quiz{color:var(--muted)}.player-drawer__top{position:sticky;top:0;z-index:1;background:var(--surface);box-shadow:0 1px 0 var(--line),var(--shadow-md)}.player-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-4) var(--space-3) var(--space-2);background:var(--surface)}.player-drawer__heading{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.player-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:32px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--slate);box-shadow:none;cursor:pointer}.player-drawer__close svg{width:14px;height:14px}.player-drawer__close:hover:not(:disabled){background:var(--signal-wash);color:var(--signal-hover)}.player-drawer__close:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.player-stage-wrap{position:relative}.player-edge{position:absolute;top:calc(var(--player-stage-height, 55vh) / 2);transform:translateY(-50%);z-index:4;display:flex;align-items:center;justify-content:center;width:40px;min-height:56px;padding:0;border:none;border-radius:var(--radius-md);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-md);cursor:pointer;transition:background-color .15s ease,transform .15s ease}.player-edge svg{width:15px;height:15px}.player-edge--prev{left:0}.player-edge--next{right:0}.player-edge:hover:not(:disabled){background:var(--signal);color:var(--paper)}.player-edge:active:not(:disabled){transform:translateY(-50%) scale(.92);background:var(--signal-hover);color:var(--paper)}.player-edge:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.player-header{display:flex;align-items:center;gap:var(--space-3);min-height:var(--header-height);padding:0 var(--space-4);color:var(--paper)}.player-header__back{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;margin-left:calc(var(--space-2) * -1);border-radius:var(--radius-sm);color:var(--paper)}.player-header__back svg{width:16px;height:16px}.player-header__back:hover{background:var(--on-ink-wash);color:var(--paper)}.player-header__back:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.player-header__course{flex:1 1 auto;min-width:0;margin:0;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-header__actions{display:flex;align-items:center;gap:var(--space-3);flex:none}.player-header__cert{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--on-ink-muted);white-space:nowrap}.player-header__cert-icon{width:16px;height:16px}.player-header__cert--ready{color:var(--gold);font-weight:600}.player-header__cert--ready:hover{background:var(--on-ink-wash);color:var(--gold)}.navigation-panel--outline{max-width:var(--measure);overflow:visible;padding-top:var(--space-4)}.player-drawer__row--static{cursor:default}.player-drawer__row--static:hover{background:transparent}.player-drawer__row--preview .previewAvailable{flex:none;margin-left:auto;align-self:center}.player-header__cert--ready:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.player-header .site-nav__link{color:var(--paper)}.player-tabs{display:flex;gap:var(--space-1);overflow-x:auto;border-bottom:1px solid var(--line);margin-top:var(--space-3)}.player-tabs__tab{flex:none;min-height:44px;padding:var(--space-2) var(--space-3);border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--slate);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;white-space:nowrap;box-shadow:none;cursor:pointer}.player-tabs__tab:hover:not(:disabled){background:transparent;color:var(--ink)}.player-tabs__tab.is-selected{color:var(--ink);border-bottom-color:var(--signal)}.player-tabs__panel{padding-top:var(--space-4)}.player-layout:not([data-player-tab=transcript]) .player-tabs__panel--transcript,.player-layout:not([data-player-tab=overview]) .player-tabs__panel--overview{display:none}.player-tabs__tab:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.player-overview{padding:var(--space-4) 0;max-width:68ch}.player-overview__section{margin-top:var(--space-5)}.player-overview__heading{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.player-overview__note{margin:0 0 var(--space-3);color:var(--slate);font-size:var(--text-sm)}.player-overview__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.player-overview__link{color:var(--signal);font-size:var(--text-sm)}.player-overview__section--danger{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line)}.contents-search{padding:var(--space-3);border-bottom:1px solid var(--line)}.contents-search__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contents-search__input:not([type=radio]):not([type=checkbox]):not([type=file]){width:100%;min-height:40px;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm)}.contents-search__input:focus-visible{outline:2px solid var(--signal);outline-offset:-1px}.contents-search__status{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--muted)}.contents-search__results{margin:var(--space-3) 0 0;padding:0;list-style:none}.contents-search__result+.contents-search__result{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--line)}.contents-search__where{margin:0 0 var(--space-1);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}.contents-search__match{display:flex;gap:var(--space-2);width:100%;min-height:36px;padding:var(--space-1) var(--space-2);border:none;border-left:2px solid transparent;border-radius:0;background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm);text-align:left;box-shadow:none;cursor:pointer}.contents-search__match:hover:not(:disabled){background:var(--signal-wash);color:var(--ink);border-left-color:var(--signal)}.contents-search__match:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.contents-search__time{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--signal)}.contents-search__text{min-width:0;color:var(--slate)}.contents-search__input:disabled{background:var(--paper);color:var(--muted);cursor:not-allowed}.player-layout[data-material=quiz] .quiz-details-container,.player-layout[data-material=document] .player-stage{padding-inline:44px}.modulePreview{margin-bottom:var(--space-5)}.modulePreview__name{font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.materialPreview{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-md)}.materialPreview__play{background:none;border:0;padding:0;font:inherit;color:var(--signal);cursor:pointer;text-align:left}.materialPreview__play:hover{color:var(--signal-hover);text-decoration:underline}.preview-dialog{max-width:60rem;width:calc(100vw - 2 * var(--space-5));padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:inherit}.preview-dialog::backdrop{background:var(--scrim)}.preview-dialog__title{font-size:var(--text-lg);margin-bottom:var(--space-4)}.preview-dialog__stage{aspect-ratio:16 / 9;width:100%;background:var(--ink);border-radius:var(--radius-md);overflow:hidden}.preview-dialog__stage iframe{display:block;width:100%;height:100%;border:0}.preview-dialog__error{margin-top:var(--space-4);color:var(--muted)}.player-contents{position:relative}.player-contents__toggle{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;list-style:none}.player-contents__toggle:hover{border-color:var(--signal);color:var(--signal)}.player-contents__toggle:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.player-contents__chevron{width:.4em;height:.4em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-25%) rotate(45deg);transition:transform .15s ease}.player-contents[open] .player-contents__chevron{transform:translateY(25%) rotate(-135deg)}.player-contents__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}.player-contents__title{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted)}.player-contents__close{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex:none;border:none;border-radius:var(--radius-md);background:transparent;box-shadow:none;color:var(--muted);font-size:var(--text-xl);line-height:1}.player-contents__close:hover{background:var(--signal-wash);color:var(--ink)}.player-contents__toggle::-webkit-details-marker{display:none}.player-contents__panel{position:absolute;z-index:30;top:calc(100% + var(--space-2));left:0;width:min(28rem,calc(100vw - 2 * var(--space-4)));max-height:70vh;overflow-y:auto;padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.player-contents__sections{list-style:none;margin:0;padding:0}.player-section__name{cursor:pointer;padding:var(--space-2) 0;font-weight:var(--weight-semibold)}.player-module{padding-left:var(--space-3);margin-bottom:var(--space-3)}.player-module__name{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-1)}.player-module__materials{list-style:none;margin:0;padding:0}.player-material{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-md);text-decoration:none;color:var(--ink)}.player-material:hover{background:var(--wash)}.player-material.is-active{background:var(--wash);font-weight:var(--weight-semibold)}.player-material:active{background:var(--signal-wash)}.player-search{padding:0 var(--space-3) var(--space-3)}.navigation-panel .player-search .player-search__input:not([type=radio]){width:100%;height:auto;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md)}.player-video{display:flex;justify-content:center;min-height:var(--player-stage-height, 0)}.player-video__frame{border:none;max-width:100%}.player-countdown,.player-notice{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:var(--measure);margin:var(--space-4) auto 0;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:center}.player-notice h2{font-size:var(--text-lg)}.player-transcript__empty{max-width:var(--measure);margin:var(--space-5) auto;color:var(--muted);text-align:center}.transcript-line{display:grid;grid-template-columns:auto 1fr;padding:var(--space-2);width:100%;border:none;border-radius:0;background:transparent;box-shadow:none;text-align:left;font-family:inherit;font-size:inherit;color:inherit}.transcript-line.is-current{background:var(--signal-wash);font-weight:var(--weight-semibold);border-left:4px solid var(--signal)}.transcript-follow{display:block;margin:var(--space-2) auto 0;padding:var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--signal);font-size:var(--text-sm)}.player-stage--document{max-width:var(--measure);margin-inline:auto;padding:var(--space-5)}.player-search__status{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--muted)}.player-search__results{margin:var(--space-3) 0 0;padding:0;list-style:none}.player-search__result+.player-search__result{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--line)}.player-search__where{margin:0 0 var(--space-1);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}.player-search__match{display:flex;gap:var(--space-2);width:100%;min-height:36px;padding:var(--space-1) var(--space-2);border-left:2px solid transparent;color:var(--ink);font-size:var(--text-sm);text-align:left;text-decoration:none}.player-search__match:hover{background:var(--signal-wash);color:var(--ink);border-left-color:var(--signal)}.player-search__match:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.player-search__time{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--signal)}.player-search__text{min-width:0;color:var(--slate)}.player-nav__breadcrumb{font-size:var(--text-sm);color:var(--muted)}.player-nav__separator{margin:0 var(--space-2)}.player-nav__steps{display:flex;gap:var(--space-3)}.player-stage--quiz{max-width:var(--measure);margin-inline:auto;padding:var(--space-5)}.quiz__title{font-size:var(--text-2xl);margin-bottom:var(--space-4)}.quiz__previous{color:var(--muted);font-size:var(--text-md);margin-bottom:var(--space-5)}.quiz__result{padding:var(--space-4);margin-bottom:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.quiz__result--passed{border-color:var(--mint)}.quiz__grade{font-size:var(--text-lg)}.quiz__question{margin-bottom:var(--space-6);padding:0;border:0}.quiz__question-text{font-weight:var(--weight-semibold);margin-bottom:var(--space-3);padding:0}.quiz__option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;cursor:pointer}.quiz__option input{flex:none;margin-top:calc((1em * var(--leading-normal) - 1em) / 2)}.quiz__feedback{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-5);margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-md)}.quiz__verdict{font-weight:var(--weight-semibold)}.quiz__answer{color:var(--ink)}.quiz__feedback--correct .quiz__verdict{color:var(--mint)}.quiz__feedback--incorrect .quiz__verdict{color:var(--alert)}.quiz__explanation{flex-basis:100%}.quiz__feedback--correct{background:var(--mint-wash)}.quiz__feedback--incorrect{background:var(--alert-wash)}.quiz__explanation{margin-top:var(--space-2);color:var(--slate)}.quiz__explanation-title{font-weight:var(--weight-semibold);margin-right:var(--space-2)}.player-menu{display:contents}.course-content-navigate{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);position:sticky;top:var(--header-height);z-index:4;background:var(--paper)}.course-content-nav{display:flex;justify-content:space-between;align-items:center}.left-items{display:flex;align-items:center}.left-inner-left-item,.left-inner-right-item{display:flex}.no-click-menu-item{display:flex;align-items:center;margin:0 10px;color:var(--muted)}.navigation-panel{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow-x:hidden;overflow-y:auto;padding:0 var(--space-4) var(--space-4)}.navigation-panel ul{list-style:none;padding:20px;margin:0}.navigation-panel li{margin-bottom:10px;cursor:pointer}.transcript-container{overflow-y:auto;width:95%;margin:1rem auto;background-color:var(--surface);border:1px solid var(--line);border-radius:6px;max-height:calc(100vh - 200px)}.transcript-line:hover{background-color:var(--line)}.transcript-line.active{background-color:var(--signal-wash);font-weight:700;border-left:4px solid var(--signal);margin-top:1.5rem}.start-time{font-size:15px;color:var(--muted);margin-right:10px}.caption-text{font-size:16px;color:var(--ink);flex-grow:1}.player-layout:not([data-player-tab=transcript]) .player-transcript{display:none}.player-layout:not([data-player-tab=overview]) .player-overview{display:none}@media(max-width:768px){.course-content-nav{display:flex;flex-wrap:wrap;align-items:center;row-gap:var(--space-2);padding:var(--space-2) var(--space-3)}.left-items{flex-wrap:wrap;align-items:center;row-gap:var(--space-1);min-width:0}.left-inner-right-item{min-width:0}.course-content-navigate{padding:0}}@media(max-width:1023.98px){.player-layout,.player-stage-wrap{display:flex;flex-direction:column}.player-stage{order:-1}.player-tabs{order:0}.navigation-panel--docked{max-height:60vh;border-radius:0;border-left:none;border-right:none}.navigation-panel{order:1}.player-transcript{order:2}.player-layout:not([data-player-tab=contents]) .navigation-panel--docked{display:none}.left-inner-left-item{display:none}}@media(prefers-reduced-motion:reduce){.navigation-panel{animation:none}}@media(min-width:1024px){.player-stage-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"stage rail" "tabs  rail" "panel rail";column-gap:var(--space-4);align-items:start}.player-stage{grid-area:stage}.player-tabs{grid-area:tabs}.player-edge{grid-area:stage}.player-transcript,.player-overview{grid-area:panel}.player-layout[data-contents=closed] .player-stage-wrap{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "tabs" "panel"}.left-items{width:100%}.left-inner-right-item{order:-1;flex:1 1 auto;min-width:0}}@media(min-width:1024px){.navigation-panel--rail{grid-area:rail;position:sticky;top:calc(var(--header-height) + var(--player-nav-height, 44px) + var(--space-2));max-height:calc(100vh - var(--header-height) - var(--player-nav-height, 44px) - var(--space-5))}}.player-complete{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-5);background:var(--surface);border:1px solid var(--gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.player-complete__mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;border-radius:var(--radius-pill);background:var(--gold);color:var(--ink)}.player-complete__mark .player-header__cert-icon{width:24px;height:24px}.player-complete__body{flex:1 1 16rem}.player-complete__title{margin:0;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--ink)}.player-complete__note{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--slate)}@media(prefers-reduced-motion:no-preference){.player-complete{animation:player-complete-in var(--duration-slow) var(--ease-out) both}}@keyframes player-complete-in{0%{opacity:0;transform:translateY(-6px)}}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes fill{to{box-shadow:inset 0 0 0 30px var(--mint)}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}.centered-container{display:flex;justify-content:center;align-items:center;height:50vh}.centered-container>div{text-align:center}.warning-text{margin-top:10px;font-size:14px;color:var(--muted)}.payment-verification{text-align:center}.completedTransaction{display:flex;justify-content:center;align-items:center;width:3em;height:3em;margin:auto}.completedTransaction svg{color:#32cd32}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:var(--mint);fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark{width:56px;height:56px;border-radius:50%;display:block;stroke-width:2;stroke:var(--surface);stroke-miterlimit:10;margin:10% auto;box-shadow:inset 0 0 0 var(--mint);animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}.zoho-form-container{max-width:800px;margin:0 auto;padding:2rem;background:var(--surface);border-radius:8px;box-shadow:var(--shadow-md)}.zoho-form-description{text-align:center;margin-bottom:2rem;color:var(--slate);font-size:1.1rem}.zoho-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.zoho-form-group{margin-bottom:1.5rem}.zoho-form-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--ink)}.zoho-form-input,.zoho-form-select,.zoho-form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-md);min-height:44px;transition:border-color var(--duration-fast) var(--ease-out)}.zoho-form-input:focus-visible,.zoho-form-select:focus-visible,.zoho-form-textarea:focus-visible{outline:2px solid var(--signal);outline-offset:1px;border-color:var(--signal)}.zoho-form-input.error,.zoho-form-select.error,.zoho-form-textarea.error{border-color:var(--alert)}.zoho-form-error{color:var(--alert);font-size:.875rem;margin-top:.25rem;display:block}@media(max-width:768px){.zoho-form-row{grid-template-columns:1fr}.zoho-form-container{padding:1rem;margin:1rem}}.loginContainer{max-width:420px;margin:var(--space-9) auto 0;padding:var(--space-6);background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.loginForm{display:flex;flex-direction:column}.loginLabel{margin-bottom:var(--space-2);font-family:var(--font-sans);font-weight:var(--weight-semibold);color:var(--ink)}.loginInput{padding:var(--space-3);margin-bottom:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--text-md);min-height:44px}.loginInput:focus-visible{outline:2px solid var(--signal);outline-offset:1px;border-color:var(--signal)}.loginError{color:var(--alert);margin-top:var(--space-3);font-size:var(--text-sm)}.infoMsg{color:var(--mint);margin-top:var(--space-3);font-size:var(--text-sm)}.cert-modal__title{font-size:var(--text-xl);margin-bottom:var(--space-3)}.cert-modal__note{color:var(--slate);font-size:var(--text-md);margin-bottom:var(--space-5)}.cert-modal__label{display:block;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-2)}.cert-modal__input{width:100%;padding:var(--space-3);margin-bottom:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--text-md)}.cert-modal__input:focus-visible{outline:2px solid var(--signal);outline-offset:1px;border-color:var(--signal)}.cert-modal__share-row{display:flex;gap:var(--space-3);align-items:flex-start}.cert-modal__share-row .cert-modal__input{flex:1 1 0;min-width:0}.cert-modal__linkedin{display:inline-block;margin-bottom:var(--space-4);font-size:var(--text-md)}.account-menu{position:relative;flex:none}.account-menu__toggle{cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--paper);font-size:var(--text-sm);list-style:none;text-decoration:none}.account-menu__toggle::-webkit-details-marker{display:none}.account-menu__toggle:hover{background:var(--on-ink-wash);color:var(--paper)}.account-menu__panel{position:absolute;z-index:30;top:calc(100% + var(--space-2));right:0;min-width:12rem;display:flex;flex-direction:column;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.account-menu__email{padding:var(--space-2);border-bottom:1px solid var(--line);margin-bottom:var(--space-1);color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}.account-menu__item{display:block;width:100%;padding:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;box-shadow:none;color:var(--ink);font-family:inherit;font-size:var(--text-sm);text-align:left;text-decoration:none}.account-menu__item:hover{background:var(--signal-wash);color:var(--ink)}.account-menu__item:active{background:var(--signal-wash);box-shadow:inset 2px 0 0 var(--signal)}.cert-modal__textarea{min-height:120px;resize:vertical;font-family:var(--font-sans);line-height:1.5}.certificate-list{margin:var(--space-5) 0 0;padding:0;list-style:none;max-width:68ch}.certificate-list__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--line)}.certificate-list__item:last-child{border-bottom:1px solid var(--line)}.certificate-list__detail{min-width:0}.certificate-list__name{margin:0;font-weight:600;color:var(--ink)}.certificate-list__state{margin:var(--space-1) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}.certificate-list__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cert-public{display:grid;gap:var(--space-6);margin-top:var(--space-5)}.cert-public__aside>*+*{margin-top:var(--space-3)}.cert-public__aside .ui-eyebrow{margin-top:var(--space-6);margin-bottom:calc(var(--space-3) * -1)}.cert-public__recipient{font-size:var(--text-xl);font-weight:700;line-height:1.2}.cert-public__course{font-size:var(--text-lg);line-height:1.3}.cert-public__meta{font-size:var(--text-sm);color:var(--muted)}.cert-public__statement{margin-top:var(--space-7);max-width:68ch;color:var(--slate)}.cert-public__image{min-width:0}.cert-public__cert{width:100%;height:auto;opacity:0;transition:opacity var(--duration-slow) var(--ease-out)}.cert-public__cert.is-visible{opacity:1}.cert-public__spinner{width:2.5rem;height:2.5rem;margin:var(--space-7) auto;border:3px solid var(--line);border-top-color:var(--signal);border-radius:50%;animation:cert-public-spin .9s linear infinite}@keyframes cert-public-spin{to{transform:rotate(360deg)}}.cert-public__error{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--slate);background:var(--surface)}.cert-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.cert-actions__form{display:contents}.cert-modal{max-width:32rem;width:calc(100vw - 2 * var(--space-5));padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:inherit}.cert-modal::backdrop{background:var(--scrim)}.cert-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.policy-doc{max-width:var(--measure);margin-inline:auto}.policy-doc h2{margin-top:var(--space-6)}.policy-doc p,.policy-doc li{line-height:var(--leading-normal)}.policy-doc__emphatic{color:var(--alert)}.prose details details{margin-left:var(--space-4)}.prose summary{cursor:pointer}
