@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:500;src:url(../media/lora-latin-500-normal.26bxu0n9jrsix.woff2)format("woff2"),url(../media/lora-latin-500-normal.1i-_8jtdrj8q5.woff)format("woff")}
@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:500;src:url(../media/lora-vietnamese-500-normal.3u4xardci-k-n.woff2)format("woff2"),url(../media/lora-vietnamese-500-normal.1fpz7uv74_f4_.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(../media/be-vietnam-pro-latin-400-normal.20cnwjfb-fa4e.woff2)format("woff2"),url(../media/be-vietnam-pro-latin-400-normal.31tzb8zv1crmm.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(../media/be-vietnam-pro-vietnamese-400-normal.1pwu3v5_twm1d.woff2)format("woff2"),url(../media/be-vietnam-pro-vietnamese-400-normal.0sssa-e6tuv_9.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(../media/be-vietnam-pro-latin-500-normal.1opmeqmrxkaxz.woff2)format("woff2"),url(../media/be-vietnam-pro-latin-500-normal.2_p68uxzutffr.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(../media/be-vietnam-pro-vietnamese-500-normal.2he4sf8_cpynl.woff2)format("woff2"),url(../media/be-vietnam-pro-vietnamese-500-normal.2u2mzdl2dm9f3.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(../media/be-vietnam-pro-latin-600-normal.1ki7gj-rcm5qg.woff2)format("woff2"),url(../media/be-vietnam-pro-latin-600-normal.0adpqh__9xf_o.woff)format("woff")}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(../media/be-vietnam-pro-vietnamese-600-normal.2ty1g2z_v1cl1.woff2)format("woff2"),url(../media/be-vietnam-pro-vietnamese-600-normal.2_ac-vcv4r-oy.woff)format("woff")}
:root{--color-canvas:#f7f4eb;--color-surface:#fffefa;--color-ink:#202420;--color-text-muted:#5d635c;--color-brand:#ff9963;--color-brand-hover:#f58a51;--color-cyan:#a8e8f4;--color-pink:#e9ace5;--color-yellow:#fff184;--color-mint:#69caa4;--color-border-subtle:#d9d8cd;--color-border-control:#777c72;--color-focus:#245b9e;--color-success:#176443;--color-success-bg:#edf7f0;--color-warning:#755000;--color-warning-bg:#fff6d8;--color-danger:#a12632;--color-danger-bg:#fdecef;--font-display:"Lora", Georgia, serif;--font-body:"Be Vietnam Pro", system-ui, sans-serif;--radius-control:4px;--radius-card:8px;--radius-overlay:12px;--shadow-offset:3px 3px 0 var(--color-ink);--shadow-overlay:0 12px 32px #2024201f;--duration-fast:.15s;--duration-panel:.22s;--gutter:16px;--header-height:64px;--container-marketing:1200px;--container-library:1280px;--container-learning:1440px;--touch-min:44px}@media (min-width:768px){:root{--gutter:24px}}@media (min-width:1024px){:root{--gutter:32px;--header-height:80px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--color-ink);background-color:var(--color-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.65}img,svg,video{max-width:100%}[id]{scroll-margin-top:calc(var(--header-height) + 16px)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{background:var(--color-brand);color:var(--color-ink);border-radius:var(--radius-control);z-index:60;transition:top var(--duration-fast) ease;padding:12px 16px;position:absolute;top:-100px;left:8px}.skip-link:focus{top:8px}.container{width:100%;max-width:var(--container-marketing);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.library-page{max-width:var(--container-library)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);text-wrap:balance;font-weight:500;line-height:1.22}h1{font-size:clamp(2.25rem,1.4rem + 3.6vw,4rem);line-height:1.16}h2{font-size:clamp(1.5rem,1.1rem + 1.7vw,2.25rem);line-height:1.28}h3{font-size:clamp(1.25rem,1.15rem + .4vw,1.5rem);line-height:1.35}h4{font-size:1.125rem;line-height:1.4}p{max-width:72ch;margin-bottom:1em}a{color:var(--color-ink);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--color-brand-hover)}.hero p,.section-heading p,.final-cta p,.card p,.lesson-card p{max-width:none}.muted{color:var(--color-text-muted)}.text-small{font-size:.875rem}.eyebrow{color:var(--color-text-muted);margin-bottom:8px;font-size:.875rem;font-weight:600;line-height:1.4;display:block}.tiny-dot{background:var(--color-brand);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.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}.scribble{flex-shrink:0;width:92px;height:92px}.section-heading .scribble,.final-cta .scribble{width:72px;height:72px}.badge{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:4px 12px;font-size:.875rem;font-weight:500;line-height:1.4;display:inline-flex}.badge.success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.badge.warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning)}.chip{min-height:var(--touch-min);border:1px solid var(--color-border-control);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);cursor:pointer;transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;border-radius:999px;padding:8px 16px;font-size:.875rem;font-weight:500}.chip:hover{border-color:var(--color-ink)}.chip.selected{background:var(--color-ink);color:var(--color-canvas);border-color:var(--color-ink)}.button{min-height:48px;font-family:var(--font-body);text-align:center;border-radius:var(--radius-control);cursor:pointer;transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.button.primary{background-color:var(--color-brand);color:var(--color-ink);border-color:var(--color-ink);box-shadow:var(--shadow-offset)}.button.primary:hover{background-color:var(--color-brand-hover);color:var(--color-ink);text-decoration:none}.button.primary:active{box-shadow:none;transform:translate(3px,3px)}.button.secondary{color:var(--color-ink);border-color:var(--color-ink);background-color:#0000}.button.secondary:hover{background-color:var(--color-surface);color:var(--color-ink);text-decoration:none}.button.ghost{color:var(--color-ink);background-color:#0000;border-color:#0000}.button.ghost:hover{background-color:var(--color-surface);color:var(--color-ink);text-decoration:none}.button.small{min-height:var(--touch-min);gap:6px;padding:8px 14px;font-size:.875rem}.button:disabled,.button[aria-disabled=true]{background-color:var(--color-border-subtle);border-color:var(--color-border-subtle);color:var(--color-text-muted);box-shadow:none;cursor:not-allowed;transform:none}.button.primary:disabled{background-color:var(--color-border-subtle);border-color:var(--color-border-subtle)}.google-button{background:var(--color-surface);width:100%;color:var(--color-ink);border-color:var(--color-border-control)}.google-button:hover{background:var(--color-canvas);border-color:var(--color-ink)}.google-mark{border:1px solid var(--color-ink);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:600;display:inline-flex}.icon-button{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-control);color:var(--color-ink);cursor:pointer;transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--color-surface)}.icon-button.outlined{border-color:var(--color-border-control)}.icon-button.outlined:hover{border-color:var(--color-ink);background:var(--color-surface)}.text-link{font-family:var(--font-body);text-underline-offset:3px;align-items:center;gap:4px;font-weight:500;text-decoration:underline;display:inline-flex}button.text-link{cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 0}.notice{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);align-items:flex-start;gap:12px;padding:16px;font-size:.875rem;line-height:1.55;display:flex}.notice>svg{flex-shrink:0;margin-top:2px}.notice.success{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.notice.warning{background:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning)}.notice.error{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.search-input{align-items:center;min-width:0;display:flex;position:relative}.search-input>svg{color:var(--color-text-muted);pointer-events:none;position:absolute;left:14px}.search-input input{width:100%;min-height:48px;padding:12px 14px 12px 44px;font-size:1rem}input[type=text],input[type=number],input[type=email],input[type=password],textarea,select{border:1px solid var(--color-border-control);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-ink);font-family:var(--font-body);padding:12px 14px;font-size:1rem;line-height:1.4}textarea{resize:vertical;min-height:120px}input:focus,textarea:focus,select:focus{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.form-label{margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.error-text{color:var(--color-danger);margin-top:8px;font-size:.875rem}.empty-box{text-align:center;background:var(--color-surface);border:1px dashed var(--color-border-subtle);border-radius:var(--radius-card);flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-box.large{padding:56px 24px}.empty-box h1,.empty-box h2{margin:0}.empty-box p{max-width:48ch;margin:0}.empty-box .scribble{width:64px;height:64px}.section{padding:48px 0}@media (min-width:768px){.section{padding:80px 0}}.section-heading{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.section-heading>*{min-width:0}.section-heading h1,.section-heading h2{margin:0}.section-heading p{color:var(--color-text-muted);margin:0}@media (min-width:768px){.section-heading{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}}.section-heading.centered{text-align:center;align-items:center}.section-heading.centered h2,.section-heading.centered p{max-width:46ch}.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-row{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.check-list{flex-direction:column;gap:12px;list-style:none;display:flex}.check-list li{align-items:flex-start;gap:12px;line-height:1.55;display:flex}.check-list li svg{color:var(--color-mint);flex-shrink:0;margin-top:3px}.card,.lesson-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);transition:border-color var(--duration-fast) ease;flex-direction:column;display:flex;overflow:hidden}.card:hover,.lesson-card:hover{border-color:var(--color-ink)}.demo-bar{padding:8px var(--gutter);background:var(--color-ink);color:var(--color-canvas);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;font-size:.75rem;line-height:1.5;display:flex}.demo-bar>span{align-items:center;gap:6px;display:inline-flex}.demo-bar>span svg{flex-shrink:0}.demo-bar button{min-height:var(--touch-min);color:var(--color-brand);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-items:center;gap:4px;padding:6px 0;text-decoration:underline;display:inline-flex}.site-header{z-index:20;background:var(--color-canvas);border-bottom:1px solid var(--color-border-subtle);position:sticky;top:0}.header-inner{min-height:var(--header-height);justify-content:space-between;align-items:center;gap:12px;display:flex}.wordmark{font-family:var(--font-display);white-space:nowrap;align-items:center;gap:2px;font-size:1.25rem;font-weight:500;text-decoration:none;display:inline-flex}.logo-spark{color:var(--color-brand)}.desktop-nav{gap:24px;display:none}.desktop-nav a{padding:8px 0;font-size:.95rem;font-weight:500;text-decoration:none}.desktop-nav a.active{color:var(--color-brand-hover);border-bottom:2px solid var(--color-brand)}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.header-actions .button{white-space:nowrap}.login-link{text-decoration:none}.mobile-menu-button{display:inline-flex}@media (min-width:768px){.desktop-nav{display:flex}.mobile-menu-button{display:none}}.mobile-nav{padding:8px var(--gutter) 16px;border-top:1px solid var(--color-border-subtle);background:var(--color-canvas);max-height:calc(100dvh - var(--header-height));flex-direction:column;display:flex;overflow-y:auto}.mobile-nav a{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 0;font-weight:500;text-decoration:none;display:flex}@media (min-width:768px){.mobile-nav{display:none}}dialog,.dialog{border-radius:var(--radius-overlay);box-shadow:var(--shadow-overlay);background:var(--color-surface);width:min(560px,100vw - 32px);max-height:min(85dvh,720px);color:var(--color-ink);border:none;margin:auto;padding:24px;overflow-y:auto}dialog::backdrop{background:#20242080}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.dialog-heading h2{margin:0}.scenario-list{flex-direction:column;gap:12px;margin:16px 0;display:flex}.scenario-list button{width:100%;min-height:var(--touch-min);text-align:left;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);font-family:var(--font-body);color:var(--color-ink);cursor:pointer;transition:border-color var(--duration-fast) ease;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.scenario-list button:hover{border-color:var(--color-ink)}.scenario-list button>span{flex-direction:column;gap:2px;display:flex}.scenario-list small{color:var(--color-text-muted)}.site-footer{background:var(--color-ink);color:var(--color-canvas);margin-top:64px;padding:48px 0 24px}.site-footer p{color:#f7f4ebcc;margin:16px 0 0}.site-footer a{color:var(--color-canvas);text-decoration:none}.site-footer a:hover{color:var(--color-brand);text-decoration:underline}.site-footer .wordmark{color:var(--color-canvas)}.footer-grid{grid-template-columns:1fr;gap:32px;display:grid}.footer-grid>div{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.footer-grid h3{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:#f7f4eba6;margin-bottom:4px;font-size:.75rem;font-weight:600}@media (min-width:768px){.site-footer{padding:64px 0 32px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:48px}}.footer-bottom{color:#f7f4ebb3;border-top:1px solid #f7f4eb26;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:32px;padding-top:24px;font-size:.875rem;display:flex}.footer-bottom span{align-items:center;gap:6px;display:inline-flex}.hero{grid-template-columns:1fr;align-items:center;gap:32px;padding-top:32px;padding-bottom:36px;display:grid}.hero-copy{min-width:0}.hero-copy h1{margin:12px 0 16px;font-size:clamp(2.125rem,1.65rem + 1.8vw,3.25rem);line-height:1.15}.hero-copy p{font-size:1.0625rem}.hero-lead{color:var(--color-text-muted);margin:0 0 20px;font-size:1.0625rem;line-height:1.65}.hero-lead strong{color:var(--color-ink);font-weight:600}.hero-highlights{flex-direction:column;gap:10px;margin:0 0 28px;padding:0;list-style:none;display:flex}.hero-highlights li{align-items:flex-start;gap:10px;font-size:.9375rem;line-height:1.5;display:flex}.hero-highlights li svg{color:var(--color-success);flex-shrink:0;margin-top:3px}.hero-cta-row{gap:12px}.hero-note{color:var(--color-text-muted);align-items:center;gap:8px;margin-top:24px;font-size:.9375rem;font-weight:500;display:flex}.hero-note svg{color:var(--color-brand);flex-shrink:0}.hero-visual{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex;position:relative}.hero-visual.hero-collage-wrap{background:0 0;border:none;justify-content:center;padding:8px 0}.hero-collage-img{object-fit:contain;filter:drop-shadow(0 14px 28px #20242014);width:100%;max-width:500px;height:auto;display:block}.hero-badge-top{background:var(--color-surface);border:1.5px solid var(--color-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-offset);align-self:flex-start;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.hero-badge-top .badge-dot{background:var(--color-mint);border:1.5px solid var(--color-ink);border-radius:50%;flex-shrink:0;width:10px;height:10px}.hero-badge-top div{flex-direction:column;line-height:1.25;display:flex}.hero-badge-top strong{font-size:.84375rem;font-weight:700}.hero-badge-top small{color:var(--color-text-muted);font-size:.75rem}.handwritten-note{font-family:var(--font-display);color:var(--color-text-muted);align-self:flex-start;font-size:1.125rem;line-height:1.3}.floating-note{background:var(--color-surface);border:1.5px solid var(--color-ink);border-radius:var(--radius-card);align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:.875rem;line-height:1.4;display:flex}.floating-note>svg{color:var(--color-brand);flex-shrink:0;margin-left:auto}.hero-floating-card div{flex-direction:column;gap:2px;display:flex}.hero-floating-card strong{color:var(--color-ink);font-size:.84375rem;font-weight:700}.hero-floating-card span{color:var(--color-text-muted);font-size:.78125rem}.note-icon{background:var(--color-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.study-art{width:100%;max-width:420px;height:auto}.small-art{max-width:300px}@media (min-width:768px){.hero{grid-template-columns:1.08fr .92fr;gap:40px;padding-top:40px;padding-bottom:48px}.hero-visual{padding:32px}.hero-visual.hero-collage-wrap{padding:12px}.handwritten-note{z-index:1;position:absolute;top:20px;left:20px}.hero-badge-top{z-index:2;position:absolute;top:18px;left:0}.floating-note{width:auto;max-width:260px;box-shadow:var(--shadow-offset);position:absolute;bottom:20px;right:20px}.hero-floating-card{z-index:2;max-width:290px;bottom:14px;right:4px}}.benefit-strip{background:var(--color-surface);border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);margin-top:32px;padding:20px 0}.benefit-strip .container{flex-wrap:wrap;justify-content:center;gap:12px 28px;display:flex}.benefit-strip span{align-items:center;gap:8px;font-size:.9375rem;font-weight:500;display:inline-flex}.benefit-strip svg{color:var(--color-brand-hover);flex-shrink:0}.featured-course{background:var(--color-mint);border:1px solid var(--color-ink);border-radius:var(--radius-card);flex-direction:column;gap:24px;padding:24px;display:flex}@media (min-width:768px){.featured-course{box-shadow:var(--shadow-offset);flex-direction:row;align-items:center;gap:40px;padding:32px}}.featured-art{flex-direction:column;align-items:center;gap:12px;min-width:0;display:flex}@media (min-width:768px){.featured-art{flex:1}}.course-stamp{background:var(--color-surface);border:2px solid var(--color-ink);border-radius:var(--radius-control);font-family:var(--font-display);text-align:center;padding:12px 16px;font-size:clamp(1.125rem,.9rem + .8vw,1.5rem);line-height:1.2;display:inline-block;transform:rotate(-3deg)}.art-caption{color:var(--color-text-muted);text-align:center;font-size:.875rem;font-style:italic}.featured-copy{min-width:0}@media (min-width:768px){.featured-copy{flex:1.5}}.featured-copy h3{margin:12px 0 8px}.featured-copy hr{border:none;border-top:1px solid #20242033;margin:20px 0}.featured-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.featured-bottom small{color:var(--color-text-muted);font-size:.8125rem;display:block}.featured-price{font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,1.25rem + 1vw,1.875rem);font-weight:600;line-height:1.25;display:block}.path-section{background:var(--color-surface);border-top:1px solid var(--color-border-subtle);margin-top:48px;padding:48px 0}@media (min-width:768px){.path-section{margin-top:80px;padding:80px 0}}.skill-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:768px){.skill-grid{grid-template-columns:repeat(3,1fr);gap:24px}}.skill-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);background:var(--color-canvas);flex-direction:column;gap:8px;padding:24px;display:flex}.skill-card .scribble{width:56px;height:56px;margin-bottom:8px}.skill-card h3,.skill-card p{margin:0}.skill-card>span{color:var(--color-text-muted);margin-top:auto;font-size:.8125rem;font-weight:500}.skill-card.cyan{background:var(--color-cyan)}.skill-card.pink{background:var(--color-pink)}.skill-card.yellow{background:var(--color-yellow)}.lesson-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:640px){.lesson-grid{grid-template-columns:repeat(2,1fr);gap:24px}}@media (min-width:1280px){.lesson-grid{grid-template-columns:repeat(3,1fr);gap:32px}}.lesson-art{aspect-ratio:16/9;background:var(--color-canvas);border-bottom:1px solid var(--color-border-subtle);flex-direction:column;justify-content:space-between;gap:8px;padding:16px;display:flex;position:relative;overflow:hidden}.lesson-art>*{z-index:1;position:relative}.lesson-art svg{z-index:0;opacity:.45;width:116px;height:116px;position:absolute;bottom:-20px;right:-16px}.lesson-art.cyan{background:var(--color-cyan)}.lesson-art.pink{background:var(--color-pink)}.lesson-art.yellow{background:var(--color-yellow)}.lesson-art.mint{background:var(--color-mint)}.art-part{letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.art-title{font-family:var(--font-display);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:78%;font-size:clamp(1rem,.9rem + .4vw,1.25rem);font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.art-number{align-self:flex-end;font-size:.75rem;font-weight:500}.lesson-card-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 16px 0;font-size:.8125rem;display:flex}.lesson-card-meta>span{align-items:center;gap:4px;min-width:0;display:inline-flex}.lesson-num-pill{background:var(--color-canvas);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);color:var(--color-ink);font-variant-numeric:tabular-nums;padding:2px 8px;font-size:.75rem;font-weight:600}.lesson-card h3{margin:0;padding:8px 16px 0;font-size:1.0625rem;line-height:1.4}.lesson-card h3 a{text-decoration:none}.lesson-card h3 a:hover{text-decoration:underline}.lesson-card-desc{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;padding:6px 16px 0;font-size:.84375rem;line-height:1.5;display:-webkit-box;overflow:hidden}.lesson-card-bottom{border-top:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:14px 16px 16px;display:flex}.lesson-price-col{flex-direction:column;gap:1px;display:flex}.lesson-price-col small{font-size:.725rem;line-height:1.2}.lesson-card-bottom strong{font-variant-numeric:tabular-nums;font-size:1.0625rem;line-height:1.25}.lesson-card-actions{align-items:center;gap:8px;display:flex}.lesson-card-meta .badge{margin-left:auto}.lesson-thumb{padding:10px 10px 0;display:block}.lesson-thumb .lesson-art{border:1px solid var(--color-border-subtle);border-radius:calc(var(--radius-card) - 6px)}.lesson-thumb>img{aspect-ratio:16/9;object-fit:cover;background:var(--color-canvas);border:1px solid var(--color-border-subtle);border-radius:calc(var(--radius-card) - 6px);width:100%;display:block}.lesson-thumb-preview{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);width:100%;max-width:320px;margin-top:8px;display:block}.shop-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.shop-tools .search-input{flex:260px;max-width:420px}@media (max-width:767px){.shop-tools{gap:8px;margin-bottom:8px}.shop-tools .search-input{flex:100%;max-width:none}.filter-row{scrollbar-width:none;flex-wrap:nowrap;margin:12px 0 16px;padding-bottom:4px;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row .chip{flex-shrink:0}.curriculum-heading{margin:24px 0 16px}}@media (max-width:639px){#thu-vien .lesson-grid,.chapter .lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#thu-vien .lesson-thumb,.chapter .lesson-thumb{padding:8px 8px 0}#thu-vien .lesson-card-meta,.chapter .lesson-card-meta{flex-wrap:wrap;gap:4px 8px;padding:8px 12px 0;font-size:.75rem}#thu-vien .lesson-card h3,.chapter .lesson-card h3{padding:6px 12px 0;font-size:.9375rem;line-height:1.4}#thu-vien .lesson-card h3 a,.chapter .lesson-card h3 a{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}#thu-vien .lesson-card-desc,.chapter .lesson-card-desc{display:none}#thu-vien .lesson-card-bottom,.chapter .lesson-card-bottom{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px 12px}#thu-vien .lesson-card-bottom .button,.chapter .lesson-card-bottom .button{text-align:center;justify-content:center;width:100%}}.shop-count{white-space:nowrap;font-size:.875rem}.market-page{padding-top:28px;padding-bottom:72px}.market-topbar{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}@media (min-width:900px){.market-topbar{flex-direction:row;justify-content:space-between;align-items:center;gap:24px}}.market-topbar-title{flex-wrap:wrap;align-items:baseline;gap:8px 16px;display:flex}.market-topbar-title h1{margin:0;font-size:clamp(1.5rem,1.25rem + .8vw,2rem)}.market-subtitle-note{color:var(--color-text-muted);font-size:.875rem}.market-quick-tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.market-tab-pill{font-family:var(--font-body);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--duration-fast) ease, background-color var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:1px solid #0000;border-radius:999px;padding:7px 14px;font-size:.84375rem;font-weight:500}.market-tab-pill:hover{color:var(--color-ink);border-color:var(--color-border-control)}.market-tab-pill.active{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-ink);font-weight:600}.market-layout{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}@media (min-width:960px){.market-layout{grid-template-columns:268px minmax(0,1fr);gap:28px}}.market-sidebar{min-width:0}@media (min-width:960px){.market-sidebar{top:calc(var(--header-height) + 20px);max-height:calc(100dvh - var(--header-height) - 36px);scrollbar-width:thin;position:sticky;overflow-y:auto}}.market-filter-box{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-card);overflow:hidden}.market-filter-head{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:14px 16px;font-size:.9375rem;display:flex}.filter-reset-link{font-family:var(--font-body);color:var(--color-brand-hover);cursor:pointer;background:0 0;border:none;font-size:.8125rem;font-weight:500;text-decoration:underline}.market-filter-search{border-bottom:1px solid var(--color-border-subtle);background:var(--color-canvas);align-items:center;padding:10px 12px;display:flex;position:relative}.market-filter-search>svg{color:var(--color-text-muted);pointer-events:none;position:absolute;left:22px}.market-filter-search input{border-radius:var(--radius-control);width:100%;min-height:38px;padding:7px 30px 7px 32px;font-size:.84375rem}.market-filter-search button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:18px}.market-filter-group{border-bottom:1px solid var(--color-border-subtle)}.market-filter-group:last-child{border-bottom:none}.market-filter-group summary{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) ease;justify-content:space-between;align-items:center;gap:8px;padding:13px 16px;font-size:.875rem;font-weight:600;list-style:none;display:flex}.market-filter-group summary::-webkit-details-marker{display:none}.market-filter-group summary:hover{background:var(--color-canvas)}.market-filter-group summary svg{color:var(--color-text-muted);transition:transform var(--duration-fast) ease;flex-shrink:0;transform:rotate(-90deg)}.market-filter-group[open] summary svg{transform:rotate(0)}.market-filter-options{border-top:1px solid var(--color-border-subtle);background:var(--color-canvas);flex-direction:column;gap:2px;padding:4px 8px 10px;display:flex}.filter-option-row{border-radius:var(--radius-control);width:100%;font-family:var(--font-body);color:var(--color-ink);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:.8125rem;display:flex}.filter-option-row:hover{background:var(--color-surface)}.filter-option-row.selected{background:var(--color-surface);border-color:var(--color-ink);font-weight:600}.filter-option-row>span{align-items:center;gap:7px;min-width:0;line-height:1.35;display:inline-flex}.filter-option-row small{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.75rem}.tiny-part-dot{border:1px solid #20242059;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.tiny-part-dot.yellow{background:var(--color-yellow)}.tiny-part-dot.pink{background:var(--color-pink)}.tiny-part-dot.mint{background:var(--color-mint)}.tiny-part-dot.cyan{background:var(--color-cyan)}.market-main{flex-direction:column;gap:16px;min-width:0;display:flex}.market-active-bar{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:.84375rem;display:flex}.market-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (min-width:720px){.market-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}@media (min-width:1200px){.market-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}}.market-video-card{border-color:var(--color-border-control)}.market-video-card .lesson-thumb{padding:0}.market-video-card .lesson-thumb .lesson-art,.market-video-card .lesson-thumb>img{border:none;border-bottom:1px solid var(--color-border-subtle);aspect-ratio:16/9;border-radius:0}.market-card-body{flex-direction:column;flex:1;gap:6px;padding:14px 14px 12px;display:flex}.market-card-body h3{font-family:var(--font-body);margin:0;padding:0;font-size:.9375rem;font-weight:600;line-height:1.4}.market-card-body h3 a{-webkit-line-clamp:2;-webkit-box-orient:vertical;text-decoration:none;display:-webkit-box;overflow:hidden}.market-card-body h3 a:hover{text-decoration:underline}.market-card-sub{color:var(--color-text-muted);align-items:center;gap:6px;margin-top:2px;font-size:.78125rem;display:flex}.market-card-sub span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.market-card-meta{color:var(--color-ink);flex-wrap:wrap;align-items:center;gap:6px;font-size:.78125rem;font-weight:500;display:flex}.market-card-meta>span{align-items:center;gap:4px;display:inline-flex}.market-card-footer{border-top:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.price-ribbon{background:var(--color-pink);color:var(--color-ink);font-variant-numeric:tabular-nums;white-space:nowrap;clip-path:polygon(0 0,100% 0,calc(100% - 7px) 50%,100% 100%,0 100%);align-items:center;padding:4px 16px 4px 10px;font-size:.8125rem;font-weight:600;line-height:1.3;display:inline-flex;position:relative}.price-ribbon.pink{background:var(--color-pink)}.price-ribbon.mint{background:var(--color-mint)}.price-ribbon.cyan{background:var(--color-cyan)}.price-ribbon.yellow{background:var(--color-yellow)}.market-card-link{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:.78125rem;font-weight:600;text-decoration:none;display:inline-flex}.market-card-link:hover{color:var(--color-ink);text-decoration:underline}.curriculum{flex-direction:column;gap:16px;display:flex}.curriculum .search-input{margin-bottom:4px}.curriculum-note{margin-top:24px}.chapter{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);overflow:hidden}.chapter summary{min-height:var(--touch-min);background:var(--color-canvas);cursor:pointer;align-items:center;gap:12px;padding:12px 16px;list-style:none;display:flex}.chapter summary::-webkit-details-marker{display:none}.chapter summary>span:nth-of-type(2){flex-direction:column;flex:1;min-width:0;display:flex}.chapter summary strong{font-weight:600}.chapter summary small{color:var(--color-text-muted);font-size:.8125rem;font-weight:400}.chapter summary>svg{transition:transform var(--duration-fast) ease;flex-shrink:0}.chapter[open] summary>svg{transform:rotate(180deg)}.chapter-number{background:var(--color-border-subtle);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8125rem;font-weight:600;display:inline-flex}.chapter-number.cyan{background:var(--color-cyan)}.chapter-number.pink{background:var(--color-pink)}.chapter-number.yellow{background:var(--color-yellow)}.chapter-number.mint{background:var(--color-mint)}.chapter>div{flex-direction:column;display:flex}.chapter:not(.compact)>div{padding:16px}@media (max-width:639px){.chapter:not(.compact)>div{padding:12px}}.lesson-row{border-bottom:1px solid var(--color-border-subtle);min-height:52px;transition:background-color var(--duration-fast) ease;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.lesson-row:last-child{border-bottom:none}.lesson-row:hover{background:#2024200a}.lesson-row.current{box-shadow:inset 3px 0 0 var(--color-brand);background:#ff996324}.lesson-row[aria-current=page] .row-content span{font-weight:600}.row-icon{width:20px;color:var(--color-text-muted);flex-shrink:0;justify-content:center;display:flex}.row-content{flex:1;min-width:0}.row-content>span{font-size:.9375rem;line-height:1.45;display:block}.row-content>small{color:var(--color-text-muted);font-size:.8125rem;line-height:1.5;display:block}.row-duration{border-radius:var(--radius-control);background:var(--color-canvas);color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;padding:4px 8px;font-size:.75rem;font-weight:500}.chapter.compact .lesson-row{gap:8px;padding:10px 12px}.chapter.compact summary{padding:10px 12px}.chapter.compact .row-duration{display:none}.course-hero{background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);padding:24px 0 36px}.course-hero h1{margin:10px 0 14px;font-size:clamp(1.85rem,1.4rem + 2.2vw,3.5rem);line-height:1.18}@media (min-width:768px){.course-hero{padding:48px 0 64px}.course-hero h1{margin:12px 0 16px}}.breadcrumbs{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;font-size:.84375rem;display:flex}.breadcrumbs a{color:var(--color-text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--color-ink);text-decoration:underline}.breadcrumbs>span:last-child{color:var(--color-ink)}.course-hero-grid{grid-template-columns:1fr;align-items:center;gap:28px;display:grid}@media (min-width:1024px){.course-hero-grid{grid-template-columns:1.1fr .9fr;gap:48px}}.course-hero-grid>div{min-width:0}.course-facts{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.course-facts span{background:var(--color-canvas);border:1px solid var(--color-border-subtle);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:500;display:inline-flex}@media (min-width:768px){.course-facts span{padding:6px 14px;font-size:.875rem}}.course-facts svg{flex-shrink:0}@media (max-width:639px){.course-hero .button-row{flex-direction:column;align-items:stretch;gap:10px}.course-hero .button-row .button{justify-content:center;width:100%}}.roadmap-overview-card{background:var(--color-canvas);border:1.5px solid var(--color-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-offset);flex-direction:column;gap:16px;padding:24px;display:flex}.roadmap-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.roadmap-card-head h2{margin:0;font-size:clamp(1.2rem,1.05rem + .5vw,1.5rem)}.roadmap-card-head .scribble{width:48px;height:48px}.roadmap-steps{flex-direction:column;gap:10px;display:flex}.roadmap-step-item{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);transition:border-color var(--duration-fast) ease, background-color var(--duration-fast) ease;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex;position:relative}.roadmap-step-item:hover{border-color:var(--color-ink);color:var(--color-ink);text-decoration:none}.roadmap-step-target{border-radius:var(--radius-control);text-align:center;border:1px solid #2024202e;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:78px;padding:6px 10px;line-height:1.2;display:inline-flex}.roadmap-step-target small{color:var(--color-ink);opacity:.8;font-size:.6875rem;font-weight:500}.roadmap-step-target strong{font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600}.roadmap-step-target.cyan{background:var(--color-cyan)}.roadmap-step-target.pink{background:var(--color-pink)}.roadmap-step-target.mint{background:var(--color-mint)}.roadmap-step-target.yellow{background:var(--color-yellow)}.roadmap-step-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.roadmap-step-info strong{font-size:.9375rem;line-height:1.35}.roadmap-step-info small{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.roadmap-step-price{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.roadmap-card-foot{border-top:1px dashed var(--color-border-subtle);color:var(--color-text-muted);align-items:flex-start;gap:8px;margin:0;padding-top:12px;font-size:.8125rem;line-height:1.5;display:flex}.roadmap-card-foot svg{color:var(--color-brand-hover);flex-shrink:0;margin-top:2px}@media (max-width:539px){.roadmap-overview-card{gap:14px;padding:16px}.roadmap-card-head .scribble{width:36px;height:36px}.roadmap-step-item{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"target info""target price";align-items:center;gap:4px 10px;padding:10px 12px;display:grid}.roadmap-step-target{grid-area:target;align-self:stretch;min-width:64px;padding:6px}.roadmap-step-info{grid-area:info}.roadmap-step-info strong{font-size:.875rem}.roadmap-step-info small{font-size:.75rem}.roadmap-step-price{border-top:1px dashed var(--color-border-subtle);grid-area:price;justify-content:space-between;margin-top:2px;padding-top:4px;font-size:.8125rem}}.course-section-bar{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.course-section-bar h2{margin-bottom:6px}.course-section-bar p{margin:0}@media (max-width:767px){.course-section-bar .filter-row{margin:4px calc(var(--gutter) * -1) 0;padding:0 var(--gutter) 4px}}@media (min-width:1024px){.course-section-bar{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}.course-section-bar .filter-row{justify-content:flex-end;margin:0}}.course-catalog-grid{grid-template-columns:1fr;gap:20px;display:grid}@media (min-width:900px){.course-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}.course-card{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-card);transition:border-color var(--duration-fast) ease;flex-direction:column;display:flex;overflow:hidden}.course-card:hover{border-color:var(--color-ink)}.course-card.featured{border:2px solid var(--color-ink);box-shadow:var(--shadow-offset)}.course-card-banner{background:var(--color-canvas);border-bottom:1px solid var(--color-ink);flex-direction:column;gap:8px;padding:24px 24px 20px;display:flex;position:relative;overflow:hidden}.course-card-banner.cyan{background:var(--color-cyan)}.course-card-banner.pink{background:var(--color-pink)}.course-card-banner.mint{background:var(--color-mint)}.course-card-banner.yellow{background:var(--color-yellow)}.course-card-banner>*{z-index:1;position:relative}.course-card-banner .scribble{z-index:0;opacity:.35;width:112px;height:112px;position:absolute;bottom:-18px;right:-12px}.course-card-badges{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.course-level-tag{border-radius:var(--radius-control);color:var(--color-ink);background:#fffefad9;border:1px solid #20242040;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.course-target-pill{background:var(--color-ink);color:var(--color-canvas);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:4px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.course-card-banner h3{margin:0;font-size:clamp(1.3rem,1.15rem + .6vw,1.65rem);line-height:1.25}.course-card-banner h3 a{color:var(--color-ink);text-decoration:none}.course-card-banner h3 a:hover{color:var(--color-ink);text-decoration:underline}.course-card-tagline{color:var(--color-ink);opacity:.88;margin:0;font-size:.9375rem;font-weight:500}.course-card-body{flex-direction:column;flex:1;gap:18px;padding:20px 24px;display:flex}.course-stats-bar{border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-muted);flex-wrap:wrap;gap:8px 16px;padding-bottom:14px;font-size:.8125rem;display:flex}.course-stats-bar span{align-items:center;gap:5px;display:inline-flex}.course-stats-bar strong{color:var(--color-ink);font-weight:600}.course-card-desc{color:var(--color-ink);max-width:none;margin:0;font-size:.9375rem;line-height:1.6}.course-box-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:10px;font-size:.75rem;font-weight:600}.course-chapters-box{background:var(--color-canvas);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);padding:14px}.course-chapters-pills{flex-direction:column;gap:8px;display:flex}.course-chapter-pill{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);align-items:center;gap:10px;padding:7px 10px;font-size:.875rem;display:flex}.chapter-badge{background:var(--color-border-subtle);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:600;display:inline-flex}.chapter-badge.cyan{background:var(--color-cyan)}.chapter-badge.pink{background:var(--color-pink)}.chapter-badge.mint{background:var(--color-mint)}.chapter-badge.yellow{background:var(--color-yellow)}.chapter-pill-name{flex:1;min-width:0;font-weight:500;line-height:1.35}.course-chapter-pill small{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.75rem}.course-outcomes-box .compact-checks{grid-template-columns:1fr;gap:8px;display:grid}@media (min-width:540px){.course-outcomes-box .compact-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}}.course-outcomes-box .compact-checks li{gap:8px;font-size:.875rem;line-height:1.45}.course-card-footer{background:var(--color-canvas);border-top:1px solid var(--color-border-subtle);flex-direction:column;gap:12px;margin-top:auto;padding:18px 24px 22px;display:flex}.course-credit-notice{background:var(--color-success-bg);border:1px solid var(--color-success);border-radius:var(--radius-control);color:var(--color-success);align-items:center;gap:8px;padding:8px 12px;font-size:.8125rem;line-height:1.4;display:flex}.course-credit-notice svg{flex-shrink:0}.course-footer-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.course-price-wrap{flex-direction:column;gap:2px;display:flex}.course-price-caption{color:var(--color-text-muted);font-size:.75rem;font-weight:500}.course-price-main{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;display:flex}.course-price-main strong{font-size:clamp(1.375rem,1.2rem + .5vw,1.625rem);font-weight:600;line-height:1.2}.course-price-main del{color:var(--color-text-muted);font-size:.875rem}.course-price-main .owned-label{color:var(--color-success);align-items:center;gap:6px;font-size:1.125rem;display:inline-flex}.course-actions-wrap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (max-width:539px){.course-card-banner{padding:18px 16px 16px}.course-card-body{gap:14px;padding:16px}.course-card-footer{padding:14px 16px 18px}.course-stats-bar{gap:6px 12px;padding-bottom:12px;font-size:.78125rem}.course-card-desc{font-size:.875rem}.course-chapters-box{padding:12px}.course-chapter-pill{align-items:flex-start;gap:8px;padding:7px 9px;font-size:.8125rem}.chapter-badge{margin-top:1px}.course-chapter-pill small{margin-top:2px}.course-outcomes-box .compact-checks li{font-size:.8125rem}.course-footer-main{flex-direction:column;align-items:stretch;gap:12px}.course-price-wrap{flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px}.course-actions-wrap{gap:8px;width:100%}.course-actions-wrap .button{white-space:nowrap;flex:calc(50% - 4px);min-height:44px;padding:10px 12px;font-size:.875rem}}.course-compare-wrap{-webkit-overflow-scrolling:touch;background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-card);overflow-x:auto}.course-compare-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.875rem}.course-compare-table th,.course-compare-table td{border-bottom:1px solid var(--color-border-subtle);text-align:left;vertical-align:middle;padding:14px 16px}.course-compare-table thead th{background:var(--color-canvas);border-bottom:1.5px solid var(--color-ink);vertical-align:top}.course-compare-table thead th:first-child{width:250px;font-weight:600}.compare-target-pill{border:1px solid #20242033;border-radius:999px;margin-bottom:6px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.compare-target-pill.cyan{background:var(--color-cyan)}.compare-target-pill.pink{background:var(--color-pink)}.compare-target-pill.mint{background:var(--color-mint)}.compare-target-pill.yellow{background:var(--color-yellow)}.compare-course-name{font-family:var(--font-display);margin-bottom:2px;font-size:1.0625rem;font-weight:500;text-decoration:none;display:block}.compare-course-name:hover{text-decoration:underline}.course-compare-table thead small{color:var(--color-text-muted);font-size:.75rem;font-weight:400;display:block}.compare-ch-label{align-items:center;gap:8px;font-weight:500;display:flex}.compare-ch-index{background:var(--color-canvas);border:1px solid var(--color-border-subtle);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:600;display:inline-flex}.compare-included{color:var(--color-success);align-items:center;gap:6px;font-weight:600;display:inline-flex}.compare-price-row th,.compare-price-row td{background:var(--color-canvas);border-bottom:none;padding-top:18px;padding-bottom:18px}.compare-cell-cta{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.compare-cell-cta strong{font-variant-numeric:tabular-nums;font-size:1.125rem}@media (max-width:767px){.course-compare-table{min-width:580px;font-size:.8125rem}.course-compare-table th,.course-compare-table td{padding:10px 12px}.course-compare-table thead th:first-child,.course-compare-table tbody th:first-child{z-index:2;background:var(--color-surface);border-right:1px solid var(--color-border-subtle);width:148px;min-width:140px;max-width:156px;position:sticky;left:0}.course-compare-table thead th:first-child,.course-compare-table .compare-price-row th:first-child{background:var(--color-canvas);z-index:3}.compare-ch-label{align-items:flex-start;gap:6px;font-size:.78125rem;line-height:1.35}.compare-ch-index{width:18px;height:18px;margin-top:1px;font-size:.6875rem}.compare-course-name{font-size:.9375rem}.compare-cell-cta strong{font-size:1rem}}.course-layout{grid-template-columns:1fr;gap:32px;display:grid}@media (min-width:1024px){.course-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:40px}}.course-layout>div{min-width:0}.course-outcomes h2{margin-bottom:16px}.outcome-grid{grid-template-columns:1fr;gap:12px;margin-bottom:32px;display:grid}@media (min-width:640px){.outcome-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.outcome-grid p{align-items:flex-start;gap:10px;margin:0;font-size:.9375rem;display:flex}.outcome-grid svg{color:var(--color-mint);flex-shrink:0;margin-top:3px}.curriculum-heading{margin:40px 0 20px}.curriculum-heading h2{margin-bottom:4px}.price-panel{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-direction:column;gap:12px;padding:20px;display:flex}@media (min-width:640px){.price-panel{padding:24px}}.price-panel h3{margin:0}.price-panel .check-list{margin:8px 0}.price-panel .button{width:100%}@media (min-width:1024px){.price-panel:not(.inline){top:calc(var(--header-height) + 24px);padding:32px;position:sticky}}.price-panel.inline{background:0 0;border:none;padding:0}.price{font-variant-numeric:tabular-nums;font-size:clamp(1.875rem,1.5rem + 1.4vw,2.25rem);font-weight:600;line-height:1.25}.credit-line{color:var(--color-success);align-items:center;gap:8px;font-size:.9375rem;font-weight:500;display:flex}.credit-line svg{flex-shrink:0}.price-foot{border-top:1px solid var(--color-border-subtle);color:var(--color-text-muted);align-items:center;gap:8px;padding-top:16px;font-size:.875rem;font-weight:500;display:flex}.price-foot svg{flex-shrink:0}.panel-note{color:var(--color-text-muted);font-size:.875rem;line-height:1.6}.panel-note a{align-items:center;gap:4px;display:inline-flex}.lesson-detail-page{padding-top:28px;padding-bottom:72px}.lesson-detail-grid{grid-template-columns:1fr;gap:28px;display:grid}@media (min-width:1024px){.lesson-detail-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:36px}}.lesson-detail-main{flex-direction:column;gap:20px;min-width:0;display:flex}.lesson-detail-header{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-card);flex-direction:column;gap:14px;padding:24px 28px;display:flex}@media (max-width:639px){.lesson-detail-header{padding:20px 18px}}.lesson-detail-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-code-pill{background:var(--color-ink);color:var(--color-canvas);font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.lesson-part-pill{background:var(--color-canvas);color:var(--color-ink);border:1px solid #20242029;border-radius:6px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.lesson-part-pill.cyan{background:var(--color-cyan)}.lesson-part-pill.pink{background:var(--color-pink)}.lesson-part-pill.mint{background:var(--color-mint)}.lesson-part-pill.yellow{background:var(--color-yellow)}.lesson-skill-pill{border:1px solid var(--color-border-subtle);background:var(--color-canvas);color:var(--color-text-muted);border-radius:6px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.lesson-detail-title{margin:0;font-size:clamp(1.45rem,1.2rem + .9vw,2rem);line-height:1.25}.lesson-detail-lead{color:var(--color-text-muted);max-width:68ch;margin:0;font-size:.96875rem;line-height:1.6}.lesson-detail-stats{border-top:1px solid var(--color-border-subtle);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:10px 20px;padding-top:14px;font-size:.84375rem;display:flex}.lesson-detail-stats>span{align-items:center;gap:6px;display:inline-flex}.lesson-detail-stats strong{color:var(--color-ink);font-weight:600}.lesson-detail-box{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-card);flex-direction:column;gap:16px;padding:22px 28px;display:flex}@media (max-width:639px){.lesson-detail-box{padding:18px}}.lesson-detail-box h2{margin:0;font-size:1.125rem;line-height:1.35}.lesson-box-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.lesson-box-head p{margin:4px 0 0;font-size:.84375rem}.lesson-box-head>span{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.lesson-takeaway-grid{grid-template-columns:1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.lesson-takeaway-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}}.lesson-takeaway-grid li{align-items:flex-start;gap:10px;font-size:.90625rem;line-height:1.5;display:flex}.lesson-takeaway-grid li svg{color:var(--color-success);flex-shrink:0;margin-top:3px}.lesson-prereq-note{background:var(--color-canvas);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);color:var(--color-text-muted);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.84375rem;line-height:1.5;display:flex}.lesson-prereq-note svg{color:var(--color-ink);flex-shrink:0;margin-top:2px}.lesson-timestamps-preview{border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);flex-direction:column;display:flex;overflow:hidden}.lesson-ts-row{border-bottom:1px solid var(--color-border-subtle);align-items:center;gap:12px;padding:10px 14px;font-size:.875rem;display:flex}.lesson-ts-row:last-child{border-bottom:none}.lesson-ts-time{background:var(--color-canvas);font-variant-numeric:tabular-nums;color:var(--color-text-muted);border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600}.lesson-course-list{flex-direction:column;gap:10px;display:flex}.lesson-course-item{background:var(--color-canvas);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);transition:border-color var(--duration-fast) ease, background-color var(--duration-fast) ease;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:flex}.lesson-course-item:hover{border-color:var(--color-ink);background:var(--color-surface);text-decoration:none}.lesson-course-target{border:1px solid #20242029;border-radius:6px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:74px;padding:6px 10px;line-height:1.15;display:inline-flex}.lesson-course-target small{opacity:.75;font-size:.625rem;font-weight:600}.lesson-course-target strong{font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}.lesson-course-target.cyan{background:var(--color-cyan)}.lesson-course-target.pink{background:var(--color-pink)}.lesson-course-target.mint{background:var(--color-mint)}.lesson-course-target.yellow{background:var(--color-yellow)}.lesson-course-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lesson-course-info strong{font-size:.90625rem;line-height:1.35}.lesson-course-info small{color:var(--color-text-muted);font-size:.8125rem}.lesson-course-action{white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;font-size:.8125rem;font-weight:600;display:inline-flex}@media (max-width:539px){.lesson-course-action{display:none}}.lesson-sibling-list{border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);flex-direction:column;display:flex;overflow:hidden}.lesson-sibling-row{border-bottom:1px solid var(--color-border-subtle);transition:background-color var(--duration-fast) ease;align-items:center;gap:12px;padding:10px 14px;font-size:.875rem;text-decoration:none;display:flex}.lesson-sibling-row:last-child{border-bottom:none}.lesson-sibling-row:hover{background:var(--color-canvas);text-decoration:none}.lesson-sibling-row.current{background:#ff99631f;font-weight:600}.sibling-num{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:46px;font-size:.75rem;font-weight:600}.sibling-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sibling-meta{color:var(--color-text-muted);flex-shrink:0;align-items:center;gap:4px;font-size:.75rem;display:inline-flex}.sibling-status{font-variant-numeric:tabular-nums;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:.75rem;font-weight:600}.sibling-status.current{background:var(--color-ink);color:var(--color-canvas)}.sibling-status.free{background:var(--color-mint);color:var(--color-ink)}.sibling-status.owned{background:var(--color-cyan);color:var(--color-ink)}.sibling-status.paid{background:var(--color-canvas);color:var(--color-text-muted);border:1px solid var(--color-border-subtle)}@media (min-width:1024px){.lesson-detail-aside{top:calc(var(--header-height) + 24px);position:sticky}}.lesson-buy-card{background:var(--color-surface);border:1.5px solid var(--color-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-offset);flex-direction:column;display:flex;overflow:hidden}.lesson-buy-thumb{aspect-ratio:16/9;border-bottom:1px solid var(--color-ink);background:var(--color-canvas);width:100%;position:relative;overflow:hidden}.lesson-buy-thumb img{object-fit:cover;width:100%;height:100%;display:block}.lesson-buy-thumb .buy-preview-duration{position:absolute;top:10px;right:10px}.lesson-buy-preview{background:var(--color-canvas);border-bottom:1px solid var(--color-ink);flex-direction:column;justify-content:space-between;height:148px;padding:14px 18px;display:flex;position:relative;overflow:hidden}.lesson-buy-preview.cyan{background:var(--color-cyan)}.lesson-buy-preview.pink{background:var(--color-pink)}.lesson-buy-preview.mint{background:var(--color-mint)}.lesson-buy-preview.yellow{background:var(--color-yellow)}.lesson-buy-preview>*{z-index:1;position:relative}.lesson-buy-preview .scribble{z-index:0;opacity:.35;width:96px;height:96px;position:absolute;bottom:-18px;right:-12px}.buy-preview-top{justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:flex}.buy-preview-part{text-transform:uppercase;letter-spacing:.04em}.buy-preview-duration{background:#fffefad9;border:1px solid #20242026;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.buy-preview-center{align-items:center;gap:10px;display:flex}.buy-preview-icon{background:var(--color-surface);border:1.5px solid var(--color-ink);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.buy-preview-center strong{font-family:var(--font-display);font-size:1.25rem;font-weight:500}.lesson-buy-body{flex-direction:column;gap:16px;padding:20px 22px 22px;display:flex}.lesson-buy-price-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.lesson-buy-label{color:var(--color-text-muted);font-size:.84375rem;font-weight:500}.lesson-buy-price{font-variant-numeric:tabular-nums;font-size:1.625rem;font-weight:700;line-height:1.15}.lesson-buy-price.owned{color:var(--color-success);font-size:1.25rem}.lesson-buy-body .button{justify-content:center;width:100%}.lesson-buy-perks{color:var(--color-ink);flex-direction:column;gap:10px;margin:0;padding:4px 0 0;font-size:.84375rem;list-style:none;display:flex}.lesson-buy-perks li{align-items:flex-start;gap:8px;line-height:1.45;display:flex}.lesson-buy-perks li svg{color:var(--color-success);flex-shrink:0;margin-top:2px}.lesson-buy-foot{border-top:1px solid var(--color-border-subtle);color:var(--color-text-muted);align-items:flex-start;gap:8px;padding-top:14px;font-size:.78125rem;line-height:1.45;display:flex}.lesson-buy-foot svg{color:var(--color-ink);flex-shrink:0;margin-top:1px}.faq-section{background:var(--color-surface);border-top:1px solid var(--color-border-subtle);margin-top:48px;padding:48px 0}@media (min-width:768px){.faq-section{margin-top:80px;padding:80px 0}}.faq-grid{grid-template-columns:1fr;gap:32px;display:grid}@media (min-width:1024px){.faq-grid{grid-template-columns:.8fr 1.2fr;gap:48px}}.faq-grid>div{min-width:0}.faq-grid .scribble{width:56px;height:56px;margin-bottom:16px}.faq-grid h2{margin-bottom:12px}.faq-list{flex-direction:column;display:flex}.faq-list details{border-bottom:1px solid var(--color-border-subtle)}.faq-list summary{min-height:var(--touch-min);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-weight:600;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:hover{color:var(--color-brand-hover)}.faq-list summary svg{transition:transform var(--duration-fast) ease;flex-shrink:0}.faq-list details[open] summary svg{transform:rotate(180deg)}.faq-list p{color:var(--color-text-muted);margin:0 0 16px}.final-cta{text-align:center;flex-direction:column;align-items:center;gap:16px;padding-top:64px;padding-bottom:64px;display:flex}.final-cta h2,.final-cta p{margin:0}@media (min-width:768px){.final-cta{padding-top:96px;padding-bottom:96px}}.login-page{grid-template-columns:1fr;align-items:center;gap:32px;padding-top:40px;padding-bottom:64px;display:grid}@media (min-width:1024px){.login-page{grid-template-columns:1.1fr .9fr;gap:64px;padding-top:64px}}.login-intro{min-width:0}.login-intro .scribble{width:72px;height:72px;margin-bottom:16px}.login-intro h1{margin-bottom:16px}.login-benefits{flex-wrap:wrap;gap:12px 24px;margin-top:24px;display:flex}.login-benefits span{align-items:center;gap:8px;font-size:.9375rem;font-weight:500;display:inline-flex}.login-benefits svg{color:var(--color-mint);flex-shrink:0}.login-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-direction:column;gap:16px;padding:24px;display:flex}@media (min-width:768px){.login-card{padding:32px}}.login-card h2,.login-card>p{margin:0}.login-form{flex-direction:column;gap:12px;display:flex}.login-form .button{align-self:flex-start}.login-terms{color:var(--color-text-muted);margin:0;font-size:.8125rem}.checkout-page{padding-top:24px;padding-bottom:64px}.checkout-heading{margin:20px 0 32px}.checkout-heading h1{margin-bottom:8px}.checkout-heading p{color:var(--color-text-muted);margin:0}.checkout-layout{grid-template-columns:1fr;gap:24px;display:grid}@media (min-width:1024px){.checkout-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px}}.checkout-layout>*{min-width:0}.order-summary{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-direction:column;gap:12px;padding:24px;display:flex}@media (min-width:768px){.order-summary{padding:32px}}.order-summary h2,.order-summary p{margin:0}.order-illustration{background:var(--color-canvas);border:1px dashed var(--color-border-subtle);border-radius:var(--radius-control);align-items:center;gap:16px;padding:16px;display:flex}.order-illustration .scribble{width:52px;height:52px}.bill{border-top:1px solid var(--color-border-subtle);flex-direction:column;gap:12px;margin:8px 0 0;padding-top:16px;display:flex}.bill>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.bill dt,.bill dd{margin:0}.bill dd{font-variant-numeric:tabular-nums;white-space:nowrap}.bill .credit{color:var(--color-success)}.bill-total{border-top:1px solid var(--color-border-subtle);margin-top:4px;padding-top:16px;font-size:1.0625rem;font-weight:600}.credit-details{font-size:.875rem}.credit-details summary{cursor:pointer;padding:8px 0;font-weight:500}.credit-details p{color:var(--color-text-muted);justify-content:space-between;gap:16px;margin:8px 0;display:flex}.credit-details strong{font-variant-numeric:tabular-nums;white-space:nowrap}.payment-panel{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-direction:column;gap:16px;padding:24px;display:flex}@media (min-width:768px){.payment-panel{padding:32px}}.payment-panel h2{margin:0;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}.payment-panel p{margin:0}.payment-panel>svg{color:var(--color-text-muted)}.payment-panel .button{width:100%}.payment-success{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.payment-success>svg{color:var(--color-success)}.payment-success .button{width:auto;min-width:200px}.payment-placeholder{text-align:center;color:var(--color-text-muted);background:var(--color-canvas);border:1px dashed var(--color-border-control);border-radius:var(--radius-card);flex-direction:column;align-items:center;gap:8px;padding:24px;display:flex}.payment-placeholder strong{color:var(--color-ink)}.payment-placeholder span{font-size:.8125rem}.payment-disclaimer{color:var(--color-text-muted);align-items:flex-start;gap:8px;font-size:.75rem;line-height:1.6;display:flex}.payment-disclaimer svg{flex-shrink:0;margin-top:2px}.account-page h1{margin:0}.account-page h2{margin:32px 0 0}.account-profile{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-wrap:wrap;align-items:center;gap:16px;margin:32px 0;padding:20px;display:flex}.account-profile>div{flex:1;min-width:180px}.account-profile strong{display:block}.account-profile p{color:var(--color-text-muted);margin:0;font-size:.875rem}.avatar{background:var(--color-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.125rem;font-weight:600;display:inline-flex}.order-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.order-item{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:16px;display:flex}.order-item>div{flex-direction:column;min-width:0;display:flex}.order-item strong{line-height:1.45}.order-item small{color:var(--color-text-muted);font-size:.75rem}.order-item>strong{font-variant-numeric:tabular-nums;margin-left:auto}@media (max-width:639px){.order-item>strong{margin-left:0}}.prose-page h1{margin-bottom:16px}.prose-page h2{margin:32px 0 12px}.prose-page p,.prose-page li{max-width:72ch}.prose-page .notice{margin:24px 0}.prose-page .button{margin-top:32px}.library-page h1{margin:0}.my-hub-page{flex-direction:column;gap:20px;padding-top:28px;padding-bottom:72px;display:flex}.my-hub-topbar{flex-direction:column;gap:12px;display:flex}@media (min-width:768px){.my-hub-topbar{flex-direction:row;justify-content:space-between;align-items:center;gap:20px}}.my-hub-title{flex-wrap:wrap;align-items:baseline;gap:8px 16px;display:flex}.my-hub-title h1{margin:0;font-size:clamp(1.5rem,1.25rem + .8vw,2rem)}.my-hub-stats{color:var(--color-text-muted);font-size:.875rem}.my-hub-stats strong{color:var(--color-ink);font-weight:600}.my-hub-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.my-resume-card{background:var(--color-surface);border:1.5px solid var(--color-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-offset);flex-direction:column;gap:16px;padding:16px 20px;display:flex}@media (min-width:768px){.my-resume-card{flex-direction:row;align-items:center;gap:22px}}.my-resume-thumb{aspect-ratio:16/9;border-radius:var(--radius-control);border:1px solid var(--color-border-control);background:var(--color-canvas);flex-shrink:0;width:100%;max-width:240px;display:block;position:relative;overflow:hidden}@media (max-width:767px){.my-resume-thumb{max-width:none}}.my-resume-thumb img,.my-resume-thumb .lesson-art{object-fit:cover;width:100%;height:100%}.my-resume-play{background:var(--color-surface);border:1.5px solid var(--color-ink);width:36px;height:36px;color:var(--color-ink);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;inset:auto 10px 10px auto}.my-resume-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.my-resume-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.my-resume-part{color:var(--color-text-muted);font-size:.78125rem;font-weight:500}.my-resume-info h2{margin:0;font-size:clamp(1.125rem,1rem + .4vw,1.35rem);line-height:1.35}.my-resume-info h2 a{text-decoration:none}.my-resume-info h2 a:hover{text-decoration:underline}.my-resume-info p{margin:0;font-size:.84375rem}.my-resume-cta{flex-shrink:0}@media (max-width:767px){.my-resume-cta .button{justify-content:center;width:100%}}.my-owned-courses-strip{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-card);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px;display:flex}.strip-label{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.84375rem;font-weight:600;display:inline-flex}.strip-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.my-lessons-toolbar{flex-direction:column;gap:12px;display:flex}@media (min-width:768px){.my-lessons-toolbar{flex-direction:row;justify-content:space-between;align-items:center;gap:16px}}.my-lessons-search{align-items:center;width:100%;max-width:280px;display:flex;position:relative}@media (max-width:767px){.my-lessons-search{max-width:none}}.my-lessons-search>svg{color:var(--color-text-muted);pointer-events:none;position:absolute;left:12px}.my-lessons-search input{border-radius:999px;width:100%;min-height:38px;padding:7px 32px 7px 36px;font-size:.875rem}.my-lessons-search button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:10px}.my-hub-upsell{background:var(--color-surface);border:1px dashed var(--color-border-control);border-radius:var(--radius-card);flex-direction:column;gap:14px;margin-top:8px;padding:18px 22px;display:flex}@media (min-width:768px){.my-hub-upsell{flex-direction:row;justify-content:space-between;align-items:center;gap:24px}}.my-hub-upsell strong{margin-bottom:2px;font-size:.9375rem;display:block}.my-hub-upsell p{margin:0;font-size:.84375rem}.progress-track{background:#20242024;border-radius:999px;width:100%;height:8px;margin:12px 0 6px;overflow:hidden}.progress-track span{background:var(--color-success);border-radius:999px;height:100%;display:block}.completion{color:var(--color-success);font-size:.875rem;font-weight:600}.learning-container{width:100%;max-width:var(--container-learning);margin:0 auto;padding-top:16px}.learning-breadcrumb{padding:0 var(--gutter);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;font-size:.875rem;display:flex}.learning-breadcrumb a{color:var(--color-text-muted);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.learning-breadcrumb a:hover{color:var(--color-ink);text-decoration:underline}.learning-breadcrumb>span:last-child{color:var(--color-ink)}.learning-layout{grid-template-columns:1fr;gap:24px;display:grid}@media (min-width:1024px){.learning-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px}}@media (min-width:1280px){.learning-layout{grid-template-columns:minmax(0,1fr) 360px}}.learning-main{min-width:0;padding:0 var(--gutter) 48px;flex-direction:column;gap:20px;display:flex}.learning-title{flex-direction:column;display:flex}.learning-title h1{font-family:var(--font-body);margin:4px 0 8px;font-size:clamp(1.375rem,1.2rem + .7vw,1.75rem);font-weight:600;line-height:1.4}.learning-title p{margin:0;font-size:.875rem}.learning-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-actions .button-row{flex:auto}.learning-tabs{border:none;border-bottom:1px solid var(--color-border-subtle);scrollbar-width:none;border-radius:0;gap:4px;padding:0;display:flex;overflow-x:auto}.learning-tabs::-webkit-scrollbar{display:none}.learning-tab-content{flex-direction:column;gap:12px;display:flex}.learning-tab-content h2{margin:0;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}.learning-tab-content h2+p{margin-top:-4px}.learning-tab-content p{color:var(--color-text-muted)}.tabs{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);scrollbar-width:none;gap:4px;width:fit-content;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{min-height:var(--touch-min);border-radius:var(--radius-control);color:var(--color-ink);font-family:var(--font-body);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:none;flex:1 0 auto;padding:8px 16px;font-size:.875rem;font-weight:500}.tabs button:hover{background:var(--color-canvas)}.tabs button[aria-selected=true]{background:var(--color-ink);color:var(--color-canvas)}.learning-tabs.tabs{border:none;border-bottom:1px solid var(--color-border-subtle);background:0 0;border-radius:0;padding:0}.learning-tabs.tabs button{border-radius:var(--radius-control) var(--radius-control) 0 0;border-bottom:2px solid #0000}.learning-tabs.tabs button[aria-selected=true]{color:var(--color-ink);border-bottom-color:var(--color-ink);background:0 0}.demo-player{border-radius:var(--radius-overlay);background:var(--color-ink);color:var(--color-canvas);flex-direction:column;display:flex;position:relative;overflow:hidden}.slide-stage{text-align:center;background:#141814;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:240px;padding:64px 20px 24px;display:flex;position:relative}.slide-brand{text-align:left;flex-direction:column;font-size:.875rem;font-weight:600;display:flex;position:absolute;top:16px;left:20px}.slide-brand span{color:#f7f4eb99;font-size:.6875rem;font-weight:400}.slide-content{flex-direction:column;align-items:center;gap:8px;display:flex}.slide-content>svg{opacity:.85;width:56px;height:56px}.slide-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand);font-size:.75rem;font-weight:600}.slide-content h2{white-space:pre-line;color:var(--color-canvas);margin:0;font-size:clamp(1.25rem,1rem + 1.6vw,1.875rem)}.sample-caption{color:#f7f4ebd9;max-width:46ch;margin:4px 0 0;font-size:.9375rem;font-style:italic}@media (min-width:768px){.demo-player{aspect-ratio:16/9}.slide-stage{flex:1;min-height:0;padding:56px 32px 24px}}.player-controls{background:#1c201c;border-top:1px solid #2f342e;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.player-range{appearance:none;cursor:pointer;background:0 0;width:100%;height:24px;margin:0}.player-range::-webkit-slider-runnable-track{background:#454b44;border-radius:999px;height:6px}.player-range::-webkit-slider-thumb{appearance:none;background:var(--color-brand);border-radius:50%;width:16px;height:16px;margin-top:-5px}.player-range::-moz-range-track{background:#454b44;border-radius:999px;height:6px}.player-range::-moz-range-thumb{background:var(--color-brand);border:none;border-radius:50%;width:16px;height:16px}.player-control-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.player-control-row>div{align-items:center;gap:4px;display:flex}.player-control-row .icon-button{color:var(--color-canvas)}.player-control-row .icon-button:hover{background:#f7f4eb24}.player-control-row span{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem}.player-control-row select{width:auto;min-height:var(--touch-min);color:var(--color-canvas);background:#1c201c;border-color:#454b44;padding:8px 10px;font-size:.875rem}.player-control-row select option{color:var(--color-ink)}.skip-control{opacity:.85}.player-message{color:var(--color-canvas);background:#2f342e;margin:0;padding:10px 16px;font-size:.8125rem}.real-player video{aspect-ratio:16/9;background:#000;width:100%;display:block}.locked-player,.player-loading{text-align:center;background:var(--color-surface);border:1px dashed var(--color-border-subtle);border-radius:var(--radius-overlay);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:260px;padding:32px 24px;display:flex}.locked-player>svg{color:var(--color-text-muted)}.locked-player h2{margin:8px 0 0}.locked-player p{color:var(--color-text-muted);margin:0}.locked-player .button-row{justify-content:center;margin-top:8px}.player-loading{color:var(--color-text-muted);border-style:solid}@media (min-width:768px){.locked-player,.player-loading{aspect-ratio:16/9;min-height:0}}.timestamp-list{flex-direction:column;gap:8px;display:flex}.timestamp-list button{text-align:left;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);width:100%;min-height:52px;font-family:var(--font-body);color:var(--color-ink);cursor:pointer;align-items:center;gap:16px;padding:12px 16px;font-size:.9375rem;display:flex}.timestamp-list button:hover:not(:disabled){border-color:var(--color-ink)}.timestamp-list button:disabled{cursor:not-allowed;color:var(--color-text-muted)}.timestamp-list button>span:first-child{font-variant-numeric:tabular-nums;width:48px;color:var(--color-brand-hover);flex-shrink:0;font-weight:600}.timestamp-list button>span:nth-child(2){flex:1;min-width:0}.resource-row{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-wrap:wrap;align-items:center;gap:16px;padding:16px;display:flex}.resource-row>svg{color:var(--color-text-muted);flex-shrink:0}.resource-row>div{flex:1;min-width:180px}.resource-row strong{display:block}.resource-row p{color:var(--color-text-muted);margin:4px 0 0;font-size:.8125rem}.learning-sidebar{min-width:0;display:none}@media (min-width:1024px){.learning-sidebar{top:var(--header-height);max-height:calc(100dvh - var(--header-height));background:var(--color-surface);border-left:1px solid var(--color-border-subtle);display:block;position:sticky;overflow-y:auto}}.sidebar-heading{background:var(--color-canvas);border-bottom:1px solid var(--color-border-subtle);padding:20px 20px 16px}.sidebar-heading h2{font-family:var(--font-body);margin:0 0 2px;font-size:1.125rem;font-weight:600}.sidebar-heading p{color:var(--color-text-muted);margin:0;font-size:.8125rem}.learning-sidebar .curriculum{gap:8px;padding:16px}.admin-container{width:100%;max-width:var(--container-library);grid-template-columns:1fr;margin:0 auto;display:grid}@media (min-width:1024px){.admin-container{grid-template-columns:260px minmax(0,1fr);align-items:start}}.admin-sidebar{padding:24px var(--gutter);background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);flex-direction:column;gap:8px;display:flex}.admin-sidebar h2{margin:0;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}.admin-sidebar nav{flex-direction:column;gap:4px;margin-top:8px;display:flex}.admin-sidebar nav a{min-height:var(--touch-min);border-radius:var(--radius-control);align-items:center;gap:12px;padding:10px 12px;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.admin-sidebar nav a:hover{background:var(--color-canvas)}.admin-sidebar nav a.active{background:var(--color-ink);color:var(--color-canvas)}.admin-sidebar-note{border-top:1px solid var(--color-border-subtle);color:var(--color-text-muted);gap:12px;margin-top:16px;padding-top:16px;font-size:.8125rem;display:flex}.admin-sidebar-note svg{flex-shrink:0}.admin-sidebar-note p{margin:0}@media (min-width:1024px){.admin-sidebar{top:var(--header-height);height:calc(100dvh - var(--header-height));border-bottom:none;border-right:1px solid var(--color-border-subtle);padding:32px 24px;position:sticky;overflow-y:auto}.admin-sidebar-note{margin-top:auto;padding-top:24px}}.admin-main{min-width:0;padding:32px var(--gutter) 64px;flex-direction:column;gap:16px;display:flex}@media (min-width:1024px){.admin-main{padding:40px 32px 80px}}.admin-main .section-heading{margin-bottom:8px}.admin-main h1{margin:0}.admin-price-panel{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);grid-template-columns:1fr;gap:24px;padding:24px;display:grid}@media (min-width:900px){.admin-price-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px}}.admin-price-panel h2{margin:12px 0 4px}.admin-price-panel p{margin:0}.admin-price-panel .form-label{margin-top:20px}.price-input-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.price-input-row input{flex:180px;min-width:0;max-width:240px}.allocation-preview{background:var(--color-canvas);border:1px dashed var(--color-border-subtle);border-radius:var(--radius-control);padding:20px}.allocation-preview>div{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;display:flex}.allocation-preview>div:last-of-type{border-bottom:none}.allocation-preview strong{font-variant-numeric:tabular-nums;white-space:nowrap}.allocation-preview p{color:var(--color-text-muted);margin:12px 0 0;font-size:.8125rem}.admin-content-heading{flex-direction:column;gap:12px;margin-top:16px;display:flex}@media (min-width:768px){.admin-content-heading{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px}.admin-content-heading .search-input{max-width:300px}}.admin-content-heading h2{margin:0;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}.admin-content-heading p{color:var(--color-text-muted);margin:0;font-size:.875rem}.admin-lesson-list{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.admin-lesson-row{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-wrap:wrap;align-items:flex-start;gap:12px 16px;padding:16px;display:flex}.admin-lesson-number{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.admin-lesson-info{flex-direction:column;flex:220px;align-items:flex-start;gap:4px;min-width:0;display:flex}.admin-lesson-info strong{line-height:1.45}.admin-lesson-info small{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.admin-row-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}@media (max-width:639px){.admin-row-actions{width:100%;margin-left:0}.admin-row-actions .button{flex:auto}}.upload-panel{background:var(--color-surface);border:1px dashed var(--color-border-subtle);border-radius:var(--radius-card);flex-wrap:wrap;align-items:center;gap:16px 24px;padding:24px;display:flex}.upload-panel>svg{color:var(--color-text-muted);flex-shrink:0}.upload-panel>div{flex:1;min-width:220px}.upload-panel h2{margin:0 0 4px;font-size:clamp(1.125rem,1rem + .6vw,1.375rem)}.upload-panel p{color:var(--color-text-muted);margin:0 0 16px;font-size:.9375rem}.upload-panel .notice{margin:12px 0 0}.upload-panel input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-label{cursor:pointer;position:relative}.file-label:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.admin-form-dialog{width:min(760px,100vw - 32px)}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-form-grid small{color:var(--color-text-muted);margin-top:6px;display:block}.admin-check{align-items:center;gap:10px;margin-top:28px;font-weight:600;display:flex}.admin-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-ink)}.admin-form-dialog progress{width:100%;height:12px;accent-color:var(--color-ink);margin:16px 0}@media (max-width:639px){.admin-form-grid{grid-template-columns:1fr}.admin-check{margin-top:0}}.styleguide h1{margin-bottom:12px}.styleguide h2{margin:40px 0 16px}.styleguide>p{color:var(--color-text-muted)}.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px;margin:24px 0 8px;display:grid}.swatch{border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);flex-direction:column;justify-content:flex-end;min-height:110px;padding:12px;font-size:.9375rem;font-weight:600;display:flex}.swatch small{color:var(--color-text-muted);font-size:.75rem;font-weight:400}.swatch.canvas{background:var(--color-canvas)}.swatch.brand{background:var(--color-brand)}.swatch.cyan{background:var(--color-cyan)}.swatch.pink{background:var(--color-pink)}.swatch.yellow{background:var(--color-yellow)}.swatch.mint{background:var(--color-mint)}.styleguide .button-row,.styleguide .filter-row{margin:16px 0}.styleguide .notice{margin:12px 0}.styleguide input{max-width:420px;margin-bottom:8px}.styleguide .form-label{margin-top:24px}.button.completed-button{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.empty-page{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.quiz-stats{flex-wrap:wrap;gap:8px;margin:12px 0 20px;display:flex}.quiz-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.quiz-questions{flex-direction:column;gap:16px;margin:20px 0;display:flex}.quiz-question{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);padding:18px}.quiz-question legend,.quiz-question>p{margin:0 0 12px;font-size:1rem;font-weight:500}.quiz-question.result.correct{border-color:var(--color-success)}.quiz-question.result.wrong{border-color:var(--color-danger)}.quiz-options{flex-direction:column;gap:8px;display:flex}.quiz-option{border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);cursor:pointer;align-items:baseline;gap:10px;padding:10px 14px;font-size:.9375rem;display:flex}.quiz-option:hover:not(.readonly){border-color:var(--color-ink)}.quiz-option.chosen{border-color:var(--color-brand-hover);background:var(--color-canvas)}.quiz-option.readonly{cursor:default}.quiz-option.is-correct{border-color:var(--color-success);background:var(--color-success-bg)}.quiz-option.is-wrong{border-color:var(--color-danger);background:var(--color-danger-bg)}.quiz-option>svg{flex-shrink:0;align-self:center;margin-left:auto}.quiz-option-key{flex-shrink:0;font-weight:600}.quiz-option input{accent-color:var(--color-ink)}.quiz-note{color:var(--color-text-muted);margin:10px 0 0;font-size:.8125rem}.quiz-score{border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);background:var(--color-surface);align-items:baseline;gap:16px;margin:16px 0;padding:20px;display:flex}.quiz-score strong{font-family:var(--font-heading);font-size:2.5rem;line-height:1}.quiz-score.good strong{color:var(--color-success)}.quiz-score.ok strong{color:var(--color-warning)}.quiz-score.bad strong{color:var(--color-danger)}.quiz-score small{color:var(--color-text-muted)}.md{font-size:.9375rem}.md p{margin:8px 0}.md-heading{margin:14px 0 6px;font-size:.9375rem}.md-list{flex-direction:column;gap:6px;margin:8px 0;padding-left:20px;display:flex}.md code,.md-math{background:var(--color-canvas);border:1px solid var(--color-border-subtle);border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:.85em}.md-formula{background:var(--color-canvas);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);margin:8px 0;padding:10px 14px;font-family:ui-monospace,monospace;font-size:.85rem;font-weight:600}.quiz-editor{max-width:720px}.quiz-source{border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);resize:vertical;width:100%;padding:12px;font-family:ui-monospace,monospace;font-size:.8125rem}.quiz-parse-result{margin-top:12px}.quiz-parse-list{flex-direction:column;gap:6px;max-height:280px;margin-top:8px;display:flex;overflow-y:auto}.quiz-parse-row{border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);align-items:center;gap:10px;padding:8px 12px;font-size:.875rem;display:flex}.quiz-parse-prompt{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-resource-list{flex-direction:column;gap:10px;margin:12px 0;display:flex}
