@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-700-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-condensed-400-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-condensed-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-condensed-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg:#f2f2f3;--color-surface:#e9e9ea;--color-text:#1d1f20;--color-accent:#5980a6;--color-accent-2:#728fab;--color-divider:#1d1f2029;--color-neutral-100:#f5f5f8;--color-neutral-200:#e7e7ea;--color-neutral-300:#d4d4d7;--color-neutral-400:#b7b7ba;--color-neutral-500:#98989b;--color-neutral-600:#7a7a7d;--color-neutral-700:#5d5d60;--color-neutral-800:#424244;--color-neutral-900:#2b2b2d;--color-accent-100:#eef6ff;--color-accent-200:#d6ebff;--color-accent-300:#b5d9fd;--color-accent-400:#94bce3;--color-accent-500:#749dc4;--color-accent-600:#597ea3;--color-accent-700:#416180;--color-accent-800:#2c455d;--color-accent-900:#1d2d3d;--color-accent-2-100:#eef6ff;--color-accent-2-200:#d6ebff;--color-accent-2-300:#bdd8f2;--color-accent-2-400:#9ebbd8;--color-accent-2-500:#7e9cb8;--color-accent-2-600:#627d98;--color-accent-2-700:#486077;--color-accent-2-800:#314457;--color-accent-2-900:#1f2d3a;--font-heading:"Barlow Condensed",system-ui,sans-serif;--font-heading-weight:600;--font-body:"Barlow",system-ui,sans-serif;--space-1:3.4px;--space-2:6.8px;--space-3:10.2px;--space-4:13.6px;--space-6:20.4px;--space-8:27.2px;--radius-sm:2px;--radius-md:4px;--radius-lg:7px;--shadow-sm:0 1px 2px #2b2b2d24;--shadow-md:0 3px 10px #2b2b2d29;--shadow-lg:0 12px 32px #2b2b2d38}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.blueprint{border:1px solid var(--color-divider);border-radius:0;position:relative}.blueprint.halftone,.blueprint.plate,.blueprint.duotone{overflow:visible}.blueprint>.corner{width:11px;height:11px;color:color-mix(in srgb,var(--color-text)55%,transparent);position:absolute}.blueprint>.corner:before,.blueprint>.corner:after{content:"";background:currentColor;position:absolute}.blueprint>.corner:before{width:1px;height:100%;top:0;left:5px}.blueprint>.corner:after{width:100%;height:1px;top:5px;left:0}.blueprint>.corner.tl{top:-6px;left:-6px}.blueprint>.corner.tr{top:-6px;right:-6px}.blueprint>.corner.bl{bottom:-6px;left:-6px}.blueprint>.corner.br{bottom:-6px;right:-6px}.duotone{position:relative;overflow:hidden}.duotone:after{content:"";pointer-events:none;background:var(--color-accent);mix-blend-mode:color;position:absolute;inset:0}*,:before,:after{box-sizing:border-box}body{margin:0;font-size:15px;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{letter-spacing:.08em;text-transform:uppercase;font-size:13px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{max-width:100%;display:block}figure{margin:0}figcaption{margin-top:var(--space-1);color:color-mix(in srgb,var(--color-text)55%,transparent);font-size:11px}.text-muted{color:color-mix(in srgb,var(--color-text)55%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent)30%,transparent)}.hr{height:1px;margin:var(--space-4)0;background:var(--color-divider);border:0}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);padding:var(--space-2)calc(var(--space-3)*1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text)7%,transparent)}.btn-secondary:active{background:color-mix(in srgb,var(--color-text)14%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent)10%,transparent)}.btn-ghost:active{background:color-mix(in srgb,var(--color-accent)18%,transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{color:color-mix(in srgb,var(--color-text)70%,transparent);margin-bottom:5px;font-size:12px;display:block}.input{width:100%;min-height:36px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:6px 10px;font-size:14px}.input:hover{border-color:color-mix(in srgb,var(--color-text)45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;min-height:90px}.radio{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.radio input,.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;width:16px;height:16px}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg-opt{cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text)7%,transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{opacity:.8;flex:1;margin:0;font-size:13px}.card-meta{color:color-mix(in srgb,var(--color-text)50%,transparent);align-items:center;gap:6px;font-size:11px;display:flex}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{letter-spacing:.02em;border-radius:calc(var(--radius-md)*.75);align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{align-items:center;gap:var(--space-4);padding:var(--space-3)var(--space-4);border-bottom:none;display:flex}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin-right:auto;font-size:18px}.nav a{color:inherit;font-size:14px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text)60%,transparent);padding:var(--space-2);border-bottom:1px solid var(--color-divider);font-size:11px}.table td{padding:var(--space-2);border-bottom:1px solid color-mix(in srgb,var(--color-text)8%,transparent)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-text)4%,transparent)}.dialog-backdrop{padding:var(--space-4);background:color-mix(in srgb,var(--color-neutral-900)50%,transparent);place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:min(440px,100%);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{opacity:.85;font-size:14px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.card,.btn,.input,.tag,.seg,.dialog{border-radius:0}.card,.dialog{border:1px solid var(--color-divider);background:0 0}.btn{border:1px solid var(--color-divider)}.btn-primary{border-color:var(--color-accent)}.btn-ghost{border-color:#0000}
body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0}a{color:var(--color-text);text-decoration:none}a:hover{color:var(--color-accent-700)}.eyebrow{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:.08em;text-transform:uppercase;margin:0 0 var(--space-2);font-size:13px;line-height:1.12}.field>legend{color:color-mix(in srgb,var(--color-text)70%,transparent);margin-bottom:5px;padding:0;font-size:12px;display:block}.shell{flex-direction:column;min-height:100vh;display:flex}.shell>main{flex:1}.site-header{z-index:20;padding:var(--space-3)var(--space-8);background:var(--color-bg);border-bottom:1px solid var(--color-divider);align-items:center;gap:var(--space-6);display:flex;position:sticky;top:0}.site-header nav{align-items:center;gap:var(--space-6);display:flex}.site-header nav a{font-size:14px}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--color-accent)}.site-header nav a.btn-primary:hover,.site-header nav a.btn-primary[aria-current=page]{color:var(--color-bg)}.site-footer{padding:calc(var(--space-8)*1.2)var(--space-8);background:var(--color-neutral-900);color:var(--color-neutral-400);justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;font-size:13px;display:flex}.site-footer a{color:var(--color-neutral-200)}.auth-wrap{padding:calc(var(--space-8)*2)var(--space-6);justify-content:center;display:flex}.auth-panel{width:min(420px,100%);padding:var(--space-8);gap:var(--space-4);flex-direction:column;display:flex;position:relative}.auth-panel h1{text-wrap:balance;margin:0;font-size:28px}.auth-panel .lede{color:color-mix(in srgb,var(--color-text)65%,transparent);text-wrap:pretty;margin:0;font-size:14px;line-height:1.6}.auth-panel form{gap:var(--space-4);flex-direction:column;display:flex}.auth-panel .btn-block{width:100%;padding:var(--space-3);justify-content:center;font-size:15px}.auth-alt{justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;font-size:13px;display:flex}.auth-alt a{color:var(--color-accent-700);text-underline-offset:3px;text-decoration:underline}.auth-sep{align-items:center;gap:var(--space-3);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text)45%,transparent);font-size:11px;display:flex}.auth-sep:before,.auth-sep:after{content:"";background:var(--color-divider);flex:1;height:1px}.msg{margin:0;font-size:14px;line-height:1.5}.msg[data-tone=error]{color:var(--color-accent-800)}.msg[data-tone=ok]{color:var(--color-accent-700)}.msg:empty{display:none}@media (max-width:899px){.site-header{padding-left:var(--space-6);padding-right:var(--space-6);gap:var(--space-4)}.site-header nav{gap:var(--space-4)}.site-footer{padding-left:var(--space-6);padding-right:var(--space-6);flex-direction:column}.auth-wrap{padding:calc(var(--space-8)*1.2)var(--space-6)}.auth-panel{margin-inline:var(--space-1)}}.course-grid{gap:var(--space-8);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:1199px){.course-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:899px){.course-grid{grid-template-columns:1fr}.course-hero{gap:var(--space-8)!important;grid-template-columns:1fr!important}main section{padding-left:var(--space-6)!important;padding-right:var(--space-6)!important}}.lesson-rail{gap:var(--space-6);flex-direction:column;display:flex}.lesson-module-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-divider);display:flex}.lesson-module-head .eyebrow{color:var(--color-accent-700);margin:0}.lesson-module-head .text-muted{font-variant-numeric:tabular-nums;font-size:12px}.lesson-rail ol{margin:0;padding:0;list-style:none}.lesson-rail li>a,.lesson-rail li>span{gap:var(--space-3);padding:var(--space-2)var(--space-2)var(--space-2)var(--space-3);border-left:2px solid #0000;grid-template-columns:28px 1fr auto;align-items:baseline;font-size:14px;line-height:1.4;display:grid}.lesson-rail li>a:hover{background:color-mix(in srgb,var(--color-text)5%,transparent)}.lesson-rail li[data-state=current]>a{border-left-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent)8%,transparent)}.lesson-rail li[data-state=locked]>span{color:color-mix(in srgb,var(--color-text)45%,transparent);cursor:default}.lesson-mark{font-family:var(--font-heading);letter-spacing:.04em;color:color-mix(in srgb,var(--color-text)50%,transparent);font-variant-numeric:tabular-nums;font-size:12px}.lesson-rail li[data-state=done] .lesson-mark{color:var(--color-accent)}.lesson-rail li[data-state=locked] .lesson-mark:before{content:"—"}.lesson-title{align-items:center;gap:var(--space-2);text-wrap:pretty;flex-wrap:wrap;display:flex}.lesson-title .tag{padding:1px 6px;font-size:10px}.lesson-dur{color:color-mix(in srgb,var(--color-text)55%,transparent);font-variant-numeric:tabular-nums;font-size:12px}.lesson-layout{gap:calc(var(--space-8)*1.2);grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;display:grid}.lesson-head{justify-content:space-between;align-items:end;gap:var(--space-4);flex-wrap:wrap;display:flex}.lesson-head h1{text-wrap:balance;margin:0;font-size:clamp(26px,3vw,36px);line-height:1.1}.crumbs{color:color-mix(in srgb,var(--color-text)60%,transparent);margin:0 0 var(--space-2);font-size:13px}.crumbs a{color:var(--color-accent-700)}.player{gap:var(--space-4);flex-direction:column;display:flex}.player-frame{background:#fff;height:clamp(560px,100vh - 240px,1100px);position:relative}.player-frame iframe{background:#fff;border:0;width:100%;height:100%;display:block}.player-note{height:100%;color:color-mix(in srgb,var(--color-text)60%,transparent);place-items:center;margin:0;font-size:14px;display:grid}.player-bar{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.player-status,.player-nav{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.player-status .text-muted{font-size:13px}.gate{padding:var(--space-8);gap:var(--space-4);flex-direction:column;max-width:640px;display:flex;position:relative}.gate h2{text-wrap:balance;margin:0;font-size:26px}.gate p{text-wrap:pretty;margin:0;font-size:15px;line-height:1.6}.meter{background:var(--color-divider);height:4px}.meter>span{background:var(--color-accent);height:100%;display:block}@media (max-width:899px){.lesson-layout{grid-template-columns:1fr}.lesson-layout>.lesson-rail{order:2}.player-frame{height:clamp(480px,100vh - 200px,900px)}}.notice{border-left:2px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent)8%,transparent);padding:var(--space-4)var(--space-6);text-wrap:pretty;font-size:15px;line-height:1.6}.notice[data-tone=error]{border-left-color:var(--color-accent-800);background:color-mix(in srgb,var(--color-text)6%,transparent)}.notice-title{margin:0 0 var(--space-1);font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:19px}.certificate{align-items:center;gap:var(--space-6);text-align:center;flex-direction:column;padding:clamp(32px,6vw,72px) clamp(20px,5vw,64px);display:flex;position:relative}.certificate h1{text-wrap:balance;margin:0;font-size:clamp(34px,5vw,54px);line-height:1.05}.certificate-lede{color:color-mix(in srgb,var(--color-text)65%,transparent);margin:0;font-size:16px}.certificate-course{margin:calc(var(--space-4)*-1)0 0;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-accent-700);text-wrap:balance;font-size:clamp(22px,3vw,28px);line-height:1.15}.certificate-foot{color:color-mix(in srgb,var(--color-text)55%,transparent);overflow-wrap:anywhere;margin:0;font-size:12px}.cert-list{margin:0;padding:0;list-style:none}.cert-list li{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-3)0;border-bottom:1px solid var(--color-divider);flex-wrap:wrap;display:flex}.cert-list li:first-child{padding-top:0}.cert-list .cert-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px}.cert-list .cert-meta{color:color-mix(in srgb,var(--color-text)60%,transparent);font-variant-numeric:tabular-nums;font-size:13px}.admin-page{padding:calc(var(--space-8)*1.5)var(--space-8)calc(var(--space-8)*2);gap:calc(var(--space-8)*1.2);flex-direction:column;max-width:1100px;display:flex}.admin-head{justify-content:space-between;align-items:end;gap:var(--space-4);flex-wrap:wrap;display:flex}.admin-head h1{text-wrap:balance;margin:0;font-size:clamp(28px,3vw,38px);line-height:1.1}.admin-head .eyebrow{color:var(--color-accent-700)}.admin-head .eyebrow a{color:inherit}.admin-section{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-divider);flex-direction:column;display:flex}.admin-section h2{margin:0;font-size:24px}.admin-sub{margin:0;font-size:14px;line-height:1.6}.admin-link{color:var(--color-accent-700);text-underline-offset:3px;text-decoration:underline}.table-wrap{overflow-x:auto}.table .num,.num{font-variant-numeric:tabular-nums}.table td{vertical-align:top}.course-table{table-layout:fixed;min-width:640px}.course-table th:first-child{width:36%}.admin-form{gap:var(--space-4);flex-direction:column;max-width:820px;display:flex}.admin-form .field{flex:1;min-width:0;margin:0}.admin-form .input{box-sizing:border-box;width:100%}.admin-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.admin-row>.field{min-width:160px}.hint{margin:var(--space-1)0 0;color:color-mix(in srgb,var(--color-text)60%,transparent);font-size:12px;line-height:1.5}.input-prefix{align-items:stretch;display:flex}.input-prefix>span{padding:0 var(--space-2);border:1px solid var(--color-divider);color:color-mix(in srgb,var(--color-text)60%,transparent);border-right:0;align-items:center;font-size:13px;display:flex}.input[readonly]{background:color-mix(in srgb,var(--color-text)5%,transparent)}.check{gap:var(--space-3);cursor:pointer;align-items:baseline;font-size:14px;line-height:1.5;display:flex}.check input{accent-color:var(--color-accent)}.admin-lessons{gap:var(--space-3);max-width:720px;margin-top:var(--space-4);flex-direction:column;display:flex}.admin-lessons .eyebrow{margin:0}.admin-lessons fieldset{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.admin-lessons legend{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-2);color:color-mix(in srgb,var(--color-text)60%,transparent);font-size:13px}.admin-lessons .num{color:color-mix(in srgb,var(--color-text)50%,transparent);margin-right:var(--space-1);font-size:12px}.admin-inline{gap:var(--space-4);flex-wrap:wrap;align-items:end;max-width:720px;display:flex}.admin-inline .input{box-sizing:border-box;width:100%}.dropzone{min-height:96px;padding:var(--space-6);text-align:center;cursor:pointer;border:1px dashed color-mix(in srgb,var(--color-text)30%,transparent);justify-content:center;align-items:center;max-width:720px;font-size:14px;display:flex;position:relative}.dropzone:hover,.dropzone[data-over]{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent)6%,transparent)}.dropzone:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.admin-log{max-width:720px;max-height:260px;padding:var(--space-4);background:var(--color-neutral-900);color:var(--color-neutral-200);white-space:pre-wrap;margin:0;font-size:12px;line-height:1.6;overflow:auto}.admin-details summary{cursor:pointer;color:var(--color-accent-700);font-size:14px}.admin-details ul{margin:var(--space-2)0 0;padding-left:var(--space-6);font-size:13px;line-height:1.8}@media (max-width:899px){.admin-page{padding-left:var(--space-6);padding-right:var(--space-6)}}
