@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-50:#fff7ed;--color-orange-100:#ffedd5;--color-amber-50:#fffbeb;--color-amber-100:#fef3c6;--color-yellow-50:#fefce8;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-stone-50:#fafaf9;--color-stone-100:#f5f5f4;--color-stone-200:#e7e5e4;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-bold:700;--tracking-widest:.1em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-orange-50:lab(97.7008% 1.53735 5.90649);--color-orange-100:lab(94.7127% 3.58394 14.3151);--color-amber-50:lab(98.6252% -.635922 8.42309);--color-amber-100:lab(95.916% -1.21653 23.111);--color-yellow-50:lab(98.6846% -1.79055 9.7766);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-stone-50:lab(98.2686% -.0991821 .364304);--color-stone-100:lab(96.5286% -.0991821 .364268);--color-stone-200:lab(91.055% .663072 .865579)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.\!visible{visibility:visible!important}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.right-4{right:calc(var(--spacing)*4)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-4{margin-inline:calc(var(--spacing)*4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.size-full{width:100%;height:100%}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-20{height:calc(var(--spacing)*20)}.h-screen{height:100vh}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-24{width:calc(var(--spacing)*24)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing)*4)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-\[\#f5f0e6\],.bg-\[rgb\(245_240_230\)\]{background-color:#f5f0e6}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-stone-50{background-color:var(--color-stone-50)}.bg-stone-100{background-color:var(--color-stone-100)}.bg-stone-200{background-color:var(--color-stone-200)}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-6{padding:calc(var(--spacing)*6)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow,.shadow\/elevation,.shadow\/glow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}}@media (min-width:40rem){.sm\:inline{display:inline}}@media (min-width:64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}}}:root{--background:#fff;--foreground:#1e293b;--primary-50:#eefaff;--primary-100:#d8f3ff;--primary-200:#ace7ff;--primary-300:#73d7ff;--primary-400:#2fc2ff;--primary-500:#02abff;--primary-600:#0089d6;--primary-700:#006dab;--primary-800:#075b8d;--primary-900:#0b4c75;--primary-gradient:linear-gradient(135deg,#00abff 0%,var(--primary-600)100%);--primary-gradient-hover:linear-gradient(135deg,#00abff 0%,var(--primary-600)48%,var(--primary-700)100%);--primary-gradient-deep:linear-gradient(135deg,#00abff 0%,var(--primary-600)48%,var(--primary-800)100%);--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--focus-ring:0 0 0 3px #02abff4d;--font-display:var(--font-ibm-plex-sans-thai),var(--font-inter),sans-serif;--font-body:var(--font-ibm-plex-sans-thai),var(--font-inter),sans-serif;--font-code:"Fira Code","JetBrains Mono","Cascadia Code",monospace;--text-caption:.75rem;--text-body-sm:.875rem;--text-body:1rem;--text-body-lg:1.125rem;--text-h3:1.375rem;--text-h2:1.75rem;--text-h1:2.25rem;--text-display-lg:2.75rem;--text-display-xl:3.5rem;--leading-tight:1.25;--leading-heading:1.32;--leading-body:1.65;--leading-thai:1.75;--measure-prose:68ch;--font-ui:var(--font-ibm-plex-sans-thai),var(--font-inter),sans-serif;--brand-blue:#02abff;--brand-blue-strong:#0089d6;--brand-blue-deep:#006dab;--brand-blue-soft:#eaf8ff;--editorial-red:#d9573f;--developer-lime:#a9e768;--developer-cyan:#63d7d0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #1020330f;--shadow-md:0 8px 24px #10203314}[data-theme=light]{--canvas:#fff;--surface:#f7f9fb;--surface-raised:#fff;--surface-subtle:#eef4f8;--ink:#111b27;--ink-soft:#34475a;--ink-muted:#64778a;--ink-subtle:#8798a8;--line:#d9e3ea;--line-strong:#b7c8d5;--accent:var(--brand-blue);--accent-strong:var(--brand-blue-strong);--accent-soft:var(--brand-blue-soft);--code-bg:#101a29;--code-panel:#172235;--code-text:#dcecf7;--code-line:#2a3d56}[data-theme=dark]{--canvas:#0b1220;--surface:#101a29;--surface-raised:#172235;--surface-subtle:#1c2a3d;--ink:#edf6fb;--ink-soft:#c8d9e5;--ink-muted:#9eb2c2;--ink-subtle:#71889a;--line:#2a3d52;--line-strong:#40576c;--accent:#63d7ff;--accent-strong:#a4e9ff;--accent-soft:#173b51;--code-bg:#070d16;--code-panel:#101a29;--code-text:#e4f4fb;--code-line:#263c53}.theme-surface{background:var(--canvas);min-height:100%;color:var(--ink)}.learning-surface{background:var(--canvas);min-height:100vh;color:var(--ink)}.nav-learning-shell{background:var(--canvas);min-height:56px;color:var(--ink);border-bottom:1px solid var(--line)}.nav-learning-rail{grid-template-columns:auto minmax(180px,1fr) minmax(160px,.7fr) auto;align-items:center;gap:16px;min-height:56px;padding:0 24px;display:grid}.nav-learning-exit,.nav-learning-theme-toggle,.nav-learning-rail-toggle{color:var(--ink-muted);justify-content:center;align-items:center;text-decoration:none;transition:color .16s,background-color .16s,box-shadow .16s;display:inline-flex}.nav-learning-exit{gap:7px;min-height:44px;padding:0 8px;font-size:.8rem;font-weight:600}.nav-learning-context{flex-direction:column;gap:2px;min-width:0;display:flex}.nav-learning-course{color:var(--ink-subtle);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.68rem;font-weight:700;overflow:hidden}.nav-learning-lesson{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.nav-learning-progress{align-items:center;gap:10px;min-width:0;display:flex}.nav-learning-progress-track{background:var(--line);border-radius:999px;flex:1;height:4px;overflow:hidden}.nav-learning-progress-track span{background:var(--accent);border-radius:inherit;height:100%;transition:width .22s;display:block}.nav-learning-progress-label{min-width:42px;color:var(--ink-muted);text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.nav-learning-controls{justify-content:flex-end;align-items:center;gap:4px;display:flex}.nav-learning-shell__control{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:0}.nav-learning-shell__control:hover,.nav-learning-exit:hover{background:var(--accent-soft);color:var(--accent-strong)}.nav-learning-theme-toggle{font-size:1.1rem}.nav-learning-rail-toggle.hidden{display:none}@media (min-width:1024px){.nav-learning-rail-toggle.hidden{display:inline-flex}.nav-learning-rail-toggle.inline-flex{display:none}}@media (max-width:639px){.nav-learning-rail{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:0 12px}.nav-learning-exit span,.nav-learning-progress{display:none}.nav-learning-lesson{max-width:14rem}}@media (prefers-reduced-motion:reduce){.nav-learning-shell *{transition:none!important}}*{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:no-preference){html:not(:has(.no-smooth-scroll)){scroll-behavior:smooth}}html{overflow-x:clip}body{background:var(--background);color:var(--foreground);font-family:var(--font-body);line-height:var(--leading-thai);font-size:var(--text-body);letter-spacing:0;font-kerning:normal;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:0;text-wrap:balance}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.gradient-text{color:var(--primary-600)}.btn{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .18s,background-position .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:var(--accent,var(--primary-500));color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-strong,var(--primary-600));box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{color:var(--primary-600);border:1px solid var(--primary-200);box-shadow:none;background:#fff}.btn-secondary:hover{background:var(--primary-50);border-color:var(--primary-400);transform:translateY(-1px)}.card{border:1px solid var(--gray-100);background:#fff;border-radius:.75rem;transition:border-color .2s,box-shadow .2s,transform .2s;overflow:hidden;box-shadow:0 1px 2px #1020330f}.card:hover{border-color:var(--primary-200);transform:translateY(-2px);box-shadow:0 8px 24px #10203314}.course-card{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.course-card:hover{border-color:var(--primary-200);transform:translateY(-2px);box-shadow:0 4px 8px #10203314}.course-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.course-card__content{flex-direction:column;flex:1;padding:24px;display:flex}.course-card__tags{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.course-tag-badge{color:#2563eb;background:#eff6ff;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:500}.course-card__tag-more{color:var(--gray-400);font-size:.75rem}.course-card__title{color:var(--gray-800);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:1.125rem;font-weight:700;line-height:1.45;transition:color .2s;display:-webkit-box;overflow:hidden}.course-card:hover .course-card__title{color:var(--primary-700)}.course-card__description{color:var(--gray-600);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:16px;font-size:.9375rem;line-height:1.6;display:-webkit-box;overflow:hidden}.course-card__meta{color:var(--gray-400);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;font-size:.875rem;display:flex}.course-card__lessons{align-items:center;gap:8px;min-width:0;display:inline-flex}.course-card__lessons svg{flex-shrink:0;width:18px;height:18px}.course-card__instructor{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.section{padding:6rem 0}.hero-title{font-size:var(--text-display-xl);letter-spacing:0;color:var(--gray-900);text-wrap:balance;width:max-content;max-width:100%;margin:0 0 1.25rem;font-weight:800;line-height:1.22}.hero-title .highlight{color:var(--primary-600);font-weight:inherit;display:inline}.section-title{font-size:var(--text-h2);color:var(--gray-900);text-wrap:balance;font-weight:700;line-height:1.28}.home-lede,.section-copy{color:var(--gray-600);font-size:var(--text-body-lg);line-height:var(--leading-thai);max-width:var(--measure-prose);text-wrap:pretty}.feature-icon{background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-radius:1rem;justify-content:center;align-items:center;width:4rem;height:4rem;margin:0 auto 1.25rem;display:flex}.feature-icon svg{width:2rem;height:2rem;color:var(--primary-600)}.course-thumbnail{aspect-ratio:16/9;background:linear-gradient(135deg,var(--primary-400),var(--primary-600));position:relative;overflow:hidden}.course-thumbnail__inner{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.course-card__image{object-fit:cover;width:100%;height:100%;transition:transform .24s;position:absolute;inset:0}.course-card:hover .course-card__image{transform:scale(1.025)}.course-thumbnail__placeholder{color:#ffffff9e;width:48px;height:48px}.course-thumbnail:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle at 30% 70%,#fff3 0%,#0000 50%);position:absolute;inset:0}.course-tag-badge:hover{background:#ffffff40!important}.price-badge{z-index:2;border-radius:2rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;position:absolute;top:1rem;right:1rem;box-shadow:0 3px 8px #10203329}.price-badge.paid{color:var(--primary-600);background:#fff}.price-badge.free{background:var(--success);color:#fff}.price-badge.promo{color:#fff;background:#f59e0b;align-items:center;gap:6px;display:flex}.price-badge__was{opacity:.72;font-size:.75rem;text-decoration:line-through}.course-discount-badge{z-index:2;color:#fff;background:#f5a524;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:700;position:absolute;top:12px;left:12px}.stat-item{text-align:center;padding:0 1.5rem}.stat-value{color:var(--primary-600);font-size:2rem;font-weight:800;line-height:1.2}.stat-label{color:var(--gray-500);margin-top:.25rem;font-size:.875rem}.cta-section{background:var(--primary-gradient-deep);position:relative;overflow:hidden}.cta-section:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 60%);width:60%;height:200%;position:absolute;top:-50%;right:-20%}.home-final-cta{background:var(--accent);padding:clamp(40px,5vw,64px) 0}.home-final-cta:before{display:none}.home-final-cta__inner{z-index:1;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:clamp(32px,4vw,48px);padding-block:clamp(40px,5vw,64px);display:grid;position:relative}.home-final-cta__content{grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.home-final-cta__meta{color:#ffffffb8;font-family:var(--font-code);letter-spacing:.06em;grid-column:1/-1;justify-content:space-between;gap:16px;margin:0 0 clamp(40px,5vw,64px);font-size:.6875rem;font-weight:700;display:flex}.home-final-cta__meta span:last-child{color:#fff}.home-final-cta__title{color:#fff;letter-spacing:-.035em;text-wrap:balance;grid-column:1/-1;max-width:15ch;margin:0;padding-right:0;font-size:clamp(2.25rem,5vw,4.75rem);font-weight:760;line-height:1.08}.home-final-cta__copy{color:#ffffffdb;max-width:52ch;font-size:var(--text-body-lg);line-height:var(--leading-thai);text-wrap:pretty;grid-column:1/-1;margin:20px 0 0}.home-final-actions{flex-wrap:wrap;grid-column:1/-1;gap:12px;padding-top:24px;display:flex}.home-final-action{justify-content:space-between;align-items:center;gap:12px;width:min(100%,280px);min-height:56px;font-size:1rem;font-weight:700;text-decoration:none;transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out;display:inline-flex}.home-final-action:focus-visible{outline:none;box-shadow:0 0 0 3px #10203347}.home-final-action--primary{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:6px;padding:0 20px}.home-final-action--primary:hover{color:#fff;background:#17324f;border-color:#17324f}.home-final-action--primary svg{transition:transform .16s ease-out}.home-final-action--primary:hover svg{transform:translate(3px)}.home-final-action--secondary{color:#fff;border:1px solid #ffffffb8;border-radius:6px;padding:0 20px}.home-final-action--secondary:hover{color:#fff;background:#ffffff1f;border-color:#fff}@media (max-width:800px){.home-final-cta__inner{row-gap:32px}.home-final-cta__content{grid-template-columns:1fr}.home-final-cta__meta,.home-final-cta__title,.home-final-cta__copy{grid-column:1}.home-final-cta__title{padding-right:0}.home-final-cta__copy{margin-top:20px}}@media (max-width:640px){.home-final-cta{padding:32px 0}.home-final-cta__inner{row-gap:28px;padding-block:36px}.home-final-cta__meta{margin-bottom:36px}.home-final-cta__title{font-size:clamp(2.125rem,11vw,3.25rem)}.home-final-actions{flex-direction:column}.home-final-action{width:100%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.6s ease-out forwards fadeInUp}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:3s ease-in-out infinite float}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:.2s ease-out fadeIn}@media (min-width:1024px){.learn-page-grid{grid-template-columns:1fr 350px!important}}@media (max-width:1023px){.learn-sidebar{z-index:100!important;width:100%!important;max-width:350px!important;height:100vh!important;transition:right .3s!important;position:fixed!important;top:0!important;right:-100%!important;box-shadow:-4px 0 20px #0000004d!important}.learn-sidebar.open{right:0!important}.sidebar-overlay{z-index:99;opacity:0;visibility:hidden;background:#00000080;transition:all .3s;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;visibility:visible}}.rich-content h1,.rich-content h2,.rich-content h3,.rich-content h4{color:#1e293b!important;font-weight:700!important}.rich-content h1{margin:2rem 0 1rem!important;font-size:1.875rem!important;line-height:1.3!important}.rich-content h2{border-bottom:2px solid #e2e8f0!important;margin:1.75rem 0 .75rem!important;padding-bottom:.5rem!important;font-size:1.5rem!important;line-height:1.35!important}.rich-content h3{color:#334155!important;margin:1.75rem 0 .5rem!important;font-size:1.25rem!important;font-weight:600!important;line-height:1.4!important}.rich-content p{margin:0 0 1.25rem!important;line-height:1.8!important}.rich-content strong,.rich-content b{color:#1e293b!important;font-weight:600!important}.rich-content a{color:#2563eb!important;text-underline-offset:2px!important;text-decoration:underline!important}.rich-content a:hover{color:#1d4ed8!important}.rich-content li{margin-bottom:.5rem!important;line-height:1.7!important;display:list-item!important}.rich-content li::marker{color:#2563eb!important}.rich-content blockquote{color:#475569!important;background:#f8fafc!important;border:1px solid #dbe8f2!important;border-radius:8px!important;margin:1.5rem 0!important;padding:1rem 1.5rem!important;font-style:italic!important}.rich-content pre{color:#e2e8f0!important;white-space:pre!important;word-break:normal!important;background:#1e293b!important;border-radius:12px!important;max-width:100%!important;margin:1.5rem 0!important;padding:1.25rem!important;font-size:.875rem!important;line-height:1.7!important;overflow-x:auto!important}.rich-content code{font-family:Fira Code,JetBrains Mono,monospace!important;font-size:.875em!important}.rich-content :not(pre)>code{color:#e11d48!important;background:#f1f5f9!important;border-radius:4px!important;padding:.15em .4em!important;font-size:.85em!important}.rich-content img{border-radius:12px!important;max-width:100%!important;height:auto!important;margin:1.5rem 0!important}.rich-content>:first-child{margin-top:0!important}.rich-content>:last-child{margin-bottom:0!important}.hero-section{background:var(--canvas);border-bottom:1px solid var(--line);padding:clamp(48px,6vw,88px) 0 clamp(64px,8vw,112px)}.hero-container{max-width:1320px}.hero-rail{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;max-width:1240px;margin:0 auto;display:grid}.hero-text{text-align:left;grid-column:1/span 5;min-width:0;padding:clamp(32px,4vw,56px) clamp(24px,3.5vw,48px) clamp(32px,4vw,56px) 0}.hero-title{width:auto;max-width:none;color:var(--ink);letter-spacing:-.035em;text-wrap:balance;margin:0 0 28px;font-size:clamp(2.5rem,4.2vw,3.75rem);font-weight:780;line-height:1.08}.hero-title .hero-title__line{white-space:nowrap;display:block}.hero-title .highlight{color:var(--accent-strong,var(--primary-700))}.hero-text .home-lede{max-width:44ch;color:var(--ink-soft,var(--gray-700));line-height:var(--leading-thai);text-wrap:pretty;margin:0 0 32px}.home-lede__line{display:block}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;margin:0 0 40px;display:flex}.hero-actions .btn{border-radius:6px;min-height:48px;padding-inline:20px}.hero-secondary-action{border-bottom:1px solid var(--line-strong,var(--gray-300));min-height:44px;color:var(--ink);align-items:center;gap:8px;font-weight:700;text-decoration:none;transition:border-color .16s ease-out,color .16s ease-out;display:inline-flex}.hero-secondary-action:hover{border-color:var(--accent);color:var(--accent-strong)}.hero-secondary-action:focus-visible{box-shadow:var(--focus-ring);border-radius:4px;outline:none}.hero-process{border-top:1px solid var(--line);color:var(--ink-soft,var(--gray-700));font-family:var(--font-code);letter-spacing:.06em;grid-template-columns:repeat(3,minmax(0,1fr));font-size:.6875rem;font-weight:700;display:grid}.hero-process span{gap:8px;padding:14px 10px 0 0;display:grid}.hero-process span+span{border-left:1px solid var(--line);padding-left:12px}.hero-process b{color:var(--accent-strong,var(--primary-700));font-size:.625rem}.hero-ide{grid-column:6/span 7;align-items:center;min-width:0;padding:clamp(24px,3vw,40px) 0 clamp(24px,3vw,40px) clamp(24px,3.5vw,48px);display:flex}.home-course-strip{border-bottom:1px solid var(--gray-100);background:#fff;padding:28px 0}.home-course-strip__inner{grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr) auto;align-items:center;gap:24px;display:grid}.home-course-strip__copy h2{color:var(--gray-900);font-size:var(--text-h3);margin-top:4px;font-weight:750;line-height:1.35}.home-course-strip__eyebrow{color:var(--primary-600);font-size:.8125rem;font-weight:700}.home-course-strip__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-course-strip__card{border:1px solid var(--gray-100);background:linear-gradient(180deg,#fff 0%,var(--primary-50)100%);min-height:104px;color:inherit;border-radius:12px;padding:14px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s}.home-course-strip__card:hover{border-color:var(--primary-200);transform:translateY(-2px);box-shadow:0 12px 28px #10203314}.home-course-strip__card span,.home-course-strip__card small{color:var(--gray-500);font-size:.8125rem;font-weight:600;display:block}.home-course-strip__card strong{color:var(--gray-900);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0;font-size:.9375rem;font-weight:700;line-height:1.45;display:-webkit-box;overflow:hidden}.home-course-strip__card small{color:var(--primary-700)}.home-course-strip__link{color:var(--primary-700);white-space:nowrap;align-items:center;gap:8px;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex}@media (max-width:1023px){.hero-text{grid-column:1/span 6}.hero-ide{grid-column:7/span 6}.hero-title{font-size:clamp(2.35rem,5vw,3.35rem)}}@media (max-width:860px){.hero-rail{grid-template-columns:1fr}.hero-text,.hero-ide{grid-column:1}.hero-text{text-align:center;padding:40px 0 48px}.hero-title,.hero-text .home-lede{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-ide{justify-content:flex-start;padding:40px 0 0}.hero-section{padding:48px 0 72px}.home-course-strip__inner,.home-course-strip__grid{grid-template-columns:1fr}.home-course-strip__link{justify-content:center}}@media (max-width:640px){.hero-section{padding:32px 0 56px}.hero-text{padding:28px 0 36px}.hero-title{font-size:clamp(1.875rem,10vw,2.75rem)}.hero-actions{flex-direction:column;align-items:stretch;gap:12px;width:100%}.hero-actions .btn{width:100%}.hero-secondary-action{justify-content:center;width:100%}.hero-process{font-size:.625rem}.hero-process span{padding-right:6px}.hero-process span+span{padding-left:8px}.hero-ide{padding-top:28px}}.rich-content pre{color:#e2e8f0;background:#1e293b;border-radius:10px;max-width:100%;margin:1.25em 0;padding:20px;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.9rem;line-height:1.65;position:relative;overflow-x:auto}.rich-content pre code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0;font-family:inherit}.rich-content code{color:#e11d48;background:#f1f5f9;border-radius:4px;padding:2px 7px;font-family:Fira Code,Consolas,monospace;font-size:.875em}.rich-content pre .hljs-keyword,.rich-content pre .hljs-selector-tag{color:#c792ea}.rich-content pre .hljs-string,.rich-content pre .hljs-template-string,.rich-content pre .hljs-template-variable{color:#c3e88d}.rich-content pre .hljs-number,.rich-content pre .hljs-literal{color:#f78c6c}.rich-content pre .hljs-comment{color:#546e7a;font-style:italic}.rich-content pre .hljs-title,.rich-content pre .hljs-function,.rich-content pre .hljs-title.function_{color:#82aaff}.rich-content pre .hljs-variable,.rich-content pre .hljs-params{color:#e2e8f0}.rich-content pre .hljs-attr,.rich-content pre .hljs-attribute{color:#f07178}.rich-content pre .hljs-built_in,.rich-content pre .hljs-type{color:#ffcb6b}.rich-content pre .hljs-tag{color:#f07178}.rich-content pre .hljs-name{color:#c792ea}.rich-content pre .hljs-operator,.rich-content pre .hljs-punctuation{color:#89ddff}.rich-content pre .hljs-property{color:#f07178}.rich-content pre .hljs-meta{color:#ffcb6b}.rich-content pre .hljs-symbol{color:#f78c6c}.rich-content pre .code-copy-btn{color:#94a3b8;cursor:pointer;opacity:0;background:#334155;border:1px solid #475569;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-family:system-ui,sans-serif;font-size:.75rem;font-weight:500;line-height:1;transition:opacity .15s,background .15s,color .15s;display:flex;position:absolute;top:10px;right:10px}.rich-content pre:hover .code-copy-btn{opacity:1}.rich-content pre .code-copy-btn:hover{color:#e2e8f0;background:#475569}.rich-content pre .code-copy-btn.copied{color:#4ade80;opacity:1;background:#166534;border-color:#16a34a}.rich-content pre[data-language]:before{content:attr(data-language);text-align:right;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-family:system-ui,sans-serif;font-size:.7rem;font-weight:600;display:block}.rich-content h2{color:#1e293b;margin:1.5em 0 .5em;font-size:1.5rem;font-weight:700}.rich-content h3{color:#1e293b;margin:1.25em 0 .4em;font-size:1.2rem;font-weight:600}.rich-content p{margin:.75em 0}.rich-content ul,.rich-content ol{margin:.75em 0;padding-left:1.5em}.rich-content ul{list-style-type:disc}.rich-content ol{list-style-type:decimal}.rich-content li{margin:.3em 0}.rich-content blockquote{color:#64748b;border:1px solid #dbe8f2;border-radius:8px;margin:1em 0;padding:16px;font-style:italic}.rich-content a{color:#2563eb;text-decoration:underline}.rich-content hr{border:none;border-top:1px solid #e2e8f0;margin:1.5em 0}.lesson-content p{margin:.6em 0}.lesson-content h2{color:#f1f5f9;margin:1.2em 0 .5em;font-size:1.35rem;font-weight:600}.lesson-content h3{color:#e2e8f0;margin:1em 0 .4em;font-size:1.1rem;font-weight:600}.lesson-content ul{margin:.5em 0;padding-left:1.5em;list-style-type:disc}.lesson-content ol{margin:.5em 0;padding-left:1.5em;list-style-type:decimal}.lesson-content li{margin:.3em 0;display:list-item}.lesson-content a{color:#60a5fa;text-decoration:underline}.lesson-content a:hover{color:#93bbfd}.lesson-content code{color:#f472b6;background:#334155;border-radius:4px;padding:2px 6px;font-family:Fira Code,Consolas,monospace;font-size:.9em}.lesson-content pre{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:8px;margin:.75em 0;padding:16px;font-family:Fira Code,Consolas,monospace;font-size:.9em;line-height:1.6;overflow-x:auto}.lesson-content pre code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}.lesson-content blockquote{color:#94a3b8;border:1px solid #334155;border-radius:8px;margin:.75em 0;padding:12px 16px;font-style:italic}.lesson-content hr{border:none;border-top:1px solid #334155;margin:1.2em 0}.lesson-content strong{color:#f1f5f9;font-weight:600}.lesson-content em{color:#cbd5e1}@media (max-width:1024px){.blog-toc-layout{grid-template-columns:1fr!important;gap:0!important}.blog-toc-sidebar{display:none!important}}@media (max-width:640px){.blog-toc-layout{padding-left:16px!important;padding-right:16px!important}}@keyframes ph-blob-drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(15px,-20px)scale(1.05)}66%{transform:translate(-10px,10px)scale(.97)}}@keyframes ph-pulse-dot{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 6px #3b82f600}}@keyframes ph-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-header-section{background:linear-gradient(135deg,#eff6ff 0%,#fff 50%,#eff6ff 100%);padding:80px 0 90px;position:relative;overflow:hidden}.page-header-blob{pointer-events:none;border-radius:50%;position:absolute}.page-header-blob--1{background:radial-gradient(circle,#3b82f61f 0%,#0000 70%);width:500px;height:500px;animation:12s ease-in-out infinite ph-blob-drift;top:-120px;right:-120px}.page-header-blob--2{background:radial-gradient(circle,#8b5cf61a 0%,#0000 70%);width:380px;height:380px;animation:16s ease-in-out infinite reverse ph-blob-drift;bottom:-140px;left:-80px}.page-header-badge{color:#2563eb;cursor:default;background:linear-gradient(135deg,#dbeafe,#eff6ff);border:1px solid #bfdbfe;border-radius:50px;align-items:center;gap:8px;margin-bottom:20px;padding:8px 18px;font-size:.875rem;font-weight:600;transition:transform .2s,box-shadow .2s;animation:.5s both ph-fade-up;display:inline-flex}.page-header-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.page-header-badge-dot{background:#3b82f6;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite ph-pulse-dot}.page-header-title{color:#1e293b;letter-spacing:-.03em;margin-bottom:16px;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.2;animation:.5s .1s both ph-fade-up}.page-header-desc{color:#64748b;max-width:600px;margin:0 auto;font-size:1.125rem;line-height:1.7;animation:.5s .2s both ph-fade-up}.page-header-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:32px;animation:.5s .3s both ph-fade-up;display:flex}@media (max-width:640px){.page-header-section{padding:56px 0 64px}.page-header-blob--1{width:300px;height:300px}.page-header-blob--2{width:240px;height:240px}}.hover-lift{transition:transform .2s,box-shadow .2s}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0000001a}@media (max-width:768px){:root{--text-display-xl:2.125rem;--text-display-lg:2rem;--text-h2:1.625rem;--text-h3:1.25rem;--text-body-lg:1rem}.section{padding:4rem 0}.container{padding:0 1rem}.btn{padding:.75rem 1.5rem;font-size:.9375rem}}.reveal-enabled [data-reveal]{opacity:1;transition:opacity .55s,transform .55s;transform:translateY(0)}.reveal-enabled [data-reveal].revealed,[data-reveal]{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal-enabled [data-reveal],[data-reveal]{opacity:1;transition:none;transform:none}}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-fade-in{0%{opacity:0}to{opacity:1}}.hero-badge-anim,.hero-title-anim,.hero-desc-anim,.hero-cta-anim{animation:.5s both hero-fade-up}.hero-title-anim{animation-delay:.1s}.hero-desc-anim{animation-delay:.2s}.hero-cta-anim{animation-delay:.3s}.hero-ide-anim{animation:.7s .25s both hero-fade-in}@media (prefers-reduced-motion:reduce){.hero-badge-anim,.hero-title-anim,.hero-desc-anim,.hero-cta-anim,.hero-ide-anim{animation:none}}#featured-courses{scroll-margin-top:96px}.featured-courses-section{background:#f8fafc}.featured-courses-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px;display:flex}.featured-courses-head .section-title{margin-bottom:8px}.featured-courses-head .section-copy{margin:0}.featured-courses-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch;gap:20px;display:grid}.course-card--featured .course-card__content{padding:20px}.course-card--featured .course-card__title{font-size:1.0625rem;line-height:1.42}.course-card--featured .price-badge{border-radius:10px;padding:6px 10px;font-size:.8125rem;top:12px;right:12px}.course-card--featured .price-badge.promo{background:var(--primary-800);color:#fff;box-shadow:0 3px 8px #075b8d2e}.course-card--featured .price-badge__was{display:none}.course-card--featured .course-discount-badge{color:#9a5a00;box-shadow:none;background:#fff4d8;border:1px solid #ffd58a;padding:4px 8px}.cc-outcomes{flex-direction:column;gap:7px;margin:0 0 16px;padding:0;list-style:none;display:flex}.cc-outcomes li{color:var(--gray-600);align-items:flex-start;gap:8px;font-size:.9rem;line-height:1.5;display:flex}.cc-outcomes li svg{width:16px;height:16px;color:var(--primary-500);flex-shrink:0;margin-top:3px}.course-card--featured .cc-outcomes{min-height:86px}.cc-cta{border:1px solid var(--primary-200);background:var(--primary-50);width:100%;color:var(--primary-700);border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:18px;padding:11px 16px;font-size:.9375rem;font-weight:700;transition:background .2s,border-color .2s,box-shadow .2s,color .2s;display:flex}.cc-cta svg{transition:transform .2s}.card:hover .cc-cta{background:var(--primary-gradient);border-color:var(--primary-600);color:#fff;box-shadow:0 6px 12px #0289d629}.card:hover .cc-cta svg{transform:translate(3px)}.course-card--featured .cc-cta{margin-top:16px;padding:10px 14px}.bundle-savings{color:#fbbf24;background:#f5a52429;border:1px solid #f5a5244d;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:.8125rem;font-weight:700;display:inline-flex}.bundle-fit{color:#ffffffe6;background:#73d7ff1a;border:1px solid #73d7ff33;border-radius:12px;align-items:flex-start;gap:8px;max-width:560px;margin:0 auto 8px;padding:12px 18px;font-size:.9375rem;line-height:1.6;display:flex}.bundle-fit svg{color:#73d7ff;flex-shrink:0;width:18px;height:18px;margin-top:2px}@media (max-width:900px){.featured-courses-head{align-items:flex-start}.featured-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.featured-courses-head{flex-direction:column;margin-bottom:28px}.featured-courses-head .btn{justify-content:center;width:100%}.featured-courses-grid{grid-template-columns:1fr;gap:16px}.course-card--featured .cc-outcomes{min-height:0}.course-card--featured .course-card__content{padding:18px}}.featured-courses-section{background:var(--canvas);border-bottom:1px solid var(--line)}.featured-courses-section .container{display:block}.featured-courses-section .featured-courses-head{justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 36px;padding:0;display:flex}.featured-courses-section .featured-courses-head .section-title{text-wrap:balance;margin-bottom:12px}.featured-courses-section .featured-courses-head .section-copy{max-width:42ch;margin:0 0 24px}.featured-courses-all{border-bottom:1px solid var(--line-strong);min-height:44px;color:var(--ink);align-items:center;gap:8px;font-weight:700;text-decoration:none;transition:border-color .16s ease-out,color .16s ease-out;display:inline-flex}.featured-courses-all:hover{border-color:var(--accent);color:var(--accent-strong)}.featured-courses-all:focus-visible{box-shadow:var(--focus-ring);border-radius:4px;outline:none}.featured-courses-section .featured-courses-grid{border-left:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0;display:grid}.featured-courses-section .course-card--featured{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:none;border-radius:0;transition:background-color .16s,color .16s}.featured-courses-section .course-card--featured:hover{border-color:var(--line);background:var(--accent-soft);box-shadow:none;transform:none}.featured-courses-section .course-card--featured:focus-visible{box-shadow:var(--focus-ring);outline:none}.featured-courses-section .course-card--featured .course-thumbnail{border-bottom:1px solid var(--line);border-radius:0}.featured-courses-section .course-card--featured .course-card__content{min-width:0;padding:16px}.featured-courses-section .course-card--featured .course-card__title{font-size:1rem;line-height:1.45}.featured-courses-section .course-card--featured .cc-outcomes{gap:6px;min-height:82px}.featured-courses-section .course-card--featured .cc-outcomes li{gap:7px;font-size:.8125rem;line-height:1.55}.featured-courses-section .course-card--featured .cc-cta{color:var(--accent-strong);box-shadow:none;background:0 0;border:0;justify-content:flex-start;margin-top:18px;padding:0}.featured-courses-section .course-card--featured:hover .cc-cta{color:var(--accent-strong);box-shadow:none;background:0 0;border:0}@media (max-width:1199px){.featured-courses-section .featured-courses-head{align-items:flex-start}.featured-courses-section .featured-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.featured-courses-section .featured-courses-head{flex-direction:column;align-items:stretch;gap:16px}.featured-courses-section .featured-courses-all{justify-content:space-between;width:100%}.featured-courses-section .featured-courses-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.featured-courses-section .course-card--featured{transition:none}}.courses-page{background:var(--canvas);color:var(--ink)}.courses-hero{border-bottom:1px solid var(--line);padding:72px 0 64px}.courses-hero__grid{display:block}.courses-hero__index{color:var(--ink-muted);font:600 .75rem/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.06em;margin:0 0 20px}.courses-hero h1{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2.5rem,5vw,4.75rem);line-height:1.13}.courses-hero__lede{max-width:68ch;color:var(--ink-soft);text-wrap:pretty;margin:24px 0 0;font-size:1rem;line-height:1.8}.courses-bundles{border-bottom:1px solid var(--line);background:var(--surface);padding:64px 0}.courses-section-head,.courses-catalog__head{justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px;display:flex}.courses-section-head h2,.courses-catalog__head h2{margin:0;font-size:1.75rem;line-height:1.3}.courses-section-head p,.courses-catalog__head p{max-width:48ch;color:var(--ink-muted);margin:0;line-height:1.7}.courses-bundles__list{border-top:1px solid var(--line)}.courses-bundle{border-bottom:1px solid var(--line);min-height:148px;color:inherit;grid-template-columns:1.2fr 2.4fr 2fr 1.4fr auto;align-items:center;gap:24px;padding:24px 0;text-decoration:none;transition:background-color .16s ease-out;display:grid}.courses-bundle:hover{background:var(--accent-soft)}.courses-bundle:focus-visible{box-shadow:var(--focus-ring);outline:none}.courses-bundle__meta{font:600 .75rem/1.5 var(--font-code);color:var(--accent-strong);text-transform:uppercase}.courses-bundle__content h3{margin:0 0 8px;font-size:1.25rem;line-height:1.4}.courses-bundle__content p{color:var(--ink-muted);margin:0;line-height:1.7}.courses-bundle__courses{color:var(--ink-soft);flex-direction:column;gap:5px;font-size:.875rem;line-height:1.55;display:flex}.courses-bundle__price{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.courses-bundle__price>span{font-size:1.375rem;font-weight:700}.courses-bundle__price s{color:var(--ink-muted);font-size:.8125rem}.courses-bundle__price small{width:100%;color:var(--success);font-weight:700}.courses-bundle__action{color:var(--accent-strong);white-space:nowrap;gap:10px;font-weight:700;display:flex}.courses-catalog{padding:72px 0 96px}.courses-catalog__head{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:20px}.courses-filter{border-bottom:1px solid var(--line);grid-template-columns:minmax(260px,2fr) repeat(3,minmax(140px,1fr)) auto;align-items:end;gap:16px;margin-bottom:48px;padding:20px 0 24px;display:grid}.courses-filter label{color:var(--ink-soft);margin-bottom:7px;font-size:.8125rem;font-weight:700;display:block}.courses-filter input,.courses-filter select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;min-height:44px;color:var(--ink);font:inherit;padding:9px 12px}.courses-filter input:focus-visible,.courses-filter select:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.courses-filter__actions{gap:8px;display:flex}.courses-filter__actions button,.courses-filter__actions a{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;min-height:44px;padding:9px 16px;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.courses-filter__actions button{border:1px solid var(--accent-strong);background:var(--accent);color:#062438;cursor:pointer}.courses-filter__actions a{border:1px solid var(--line-strong);color:var(--ink-soft)}.courses-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.courses-grid .course-card{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;box-shadow:none;border-radius:0}.courses-grid .course-card:hover{background:var(--accent-soft);border-color:var(--line);box-shadow:none;transform:none}.courses-grid .course-thumbnail{border-bottom:1px solid var(--line);border-radius:0}.courses-grid .course-card__content{padding:20px}.courses-grid .cc-cta{box-shadow:none;color:var(--accent-strong);background:0 0;border:0;justify-content:flex-start;padding:0}.courses-grid .course-card:hover .cc-cta{box-shadow:none;color:var(--accent-strong);background:0 0;border:0}.courses-empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:72px 24px}.courses-empty__code{text-transform:uppercase;color:var(--accent-strong)!important;font:600 .75rem/1.5 var(--font-code)!important}.courses-empty h3{margin:8px 0;font-size:1.5rem}.courses-empty p{color:var(--ink-muted);margin:0 0 20px;line-height:1.7}.courses-empty a{color:var(--accent-strong);font-weight:700}.courses-pagination{justify-content:center;align-items:center;gap:16px;margin-top:48px;display:flex}.courses-pagination a{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--ink-soft);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.courses-pagination__pages{display:flex}.courses-pagination__pages a+.courses-pagination__pages a{margin-left:-1px}.courses-pagination__pages .is-active{border-color:var(--accent);background:var(--accent);color:#062438;font-weight:700;position:relative}.courses-pagination__direction{padding:0 16px}.courses-pagination a:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (max-width:1023px){.courses-hero__index{grid-column:1/4}.courses-hero h1{grid-column:4/13}.courses-hero__lede{grid-column:4/11;margin-top:8px}.courses-bundle{grid-template-columns:1fr 2.2fr 1.5fr auto}.courses-bundle__courses{display:none}.courses-filter{grid-template-columns:2fr repeat(3,1fr)}.courses-filter__actions{grid-column:1/-1}.courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.courses-hero{padding:48px 0}.courses-hero__grid{display:block}.courses-hero__index{margin:0 0 24px}.courses-hero h1{font-size:2.5rem}.courses-hero__lede{margin-top:24px}.courses-bundles{padding:48px 0}.courses-section-head,.courses-catalog__head{display:block}.courses-section-head p{margin-top:8px}.courses-bundle{grid-template-columns:1fr auto;gap:16px}.courses-bundle__meta,.courses-bundle__content{grid-column:1/-1}.courses-bundle__price{grid-column:1}.courses-catalog{padding:48px 0 72px}.courses-filter{grid-template-columns:1fr}.courses-filter__actions{flex-direction:column;grid-column:auto}.courses-filter__actions a,.courses-filter__actions button{width:100%}.courses-grid{grid-template-columns:1fr}.courses-pagination{flex-wrap:wrap;gap:8px}.courses-pagination__direction{order:2}}@media (prefers-reduced-motion:reduce){.courses-bundle,.courses-grid .course-card{transition:none}}.blog-index{background:var(--canvas);color:var(--ink)}.blog-index__hero{border-bottom:1px solid var(--line);padding:72px 0 68px}.blog-index__hero .container{display:block}.blog-index__meta{color:var(--accent-strong);font:600 .75rem/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.06em;margin:0 0 20px}.blog-index__hero h1{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2.75rem,5.4vw,5rem);line-height:1.1}.blog-index__hero>div>p:last-child{max-width:68ch;color:var(--ink-soft);text-wrap:pretty;margin:24px 0 0;font-size:1rem;line-height:1.8}.blog-index__catalog{padding:64px 0 96px}.blog-index__toolbar-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;padding-bottom:18px;display:flex}.blog-index__toolbar-head h2{margin:0;font-size:1.75rem}.blog-index__toolbar-head span{color:var(--ink-muted);font-size:.875rem}.blog-filter{border-bottom:1px solid var(--line);grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:10px;padding:20px 0;display:grid}.blog-filter label{color:var(--ink-soft);margin-bottom:7px;font-size:.8125rem;font-weight:700;display:block}.blog-filter input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;min-height:44px;color:var(--ink);font:inherit;padding:9px 12px}.blog-filter button,.blog-filter>a{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;min-height:44px;padding:9px 18px;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.blog-filter button{border:1px solid var(--accent-strong);background:var(--accent);color:#062438;cursor:pointer}.blog-filter>a{border:1px solid var(--line-strong);color:var(--ink-soft)}.blog-filter input:focus-visible,.blog-filter button:focus-visible,.blog-filter>a:focus-visible{box-shadow:var(--focus-ring);outline:none}.blog-topics{border-bottom:1px solid var(--line);scrollbar-width:thin;gap:0;padding:0 0 32px;display:flex;overflow-x:auto}.blog-topics a{min-height:44px;color:var(--ink-soft);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:0 16px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.blog-topics a:hover{color:var(--accent-strong)}.blog-topics a.is-active{border-color:var(--accent);color:var(--accent-strong)}.blog-topics a:focus-visible{box-shadow:var(--focus-ring);outline:none}.blog-feature{color:inherit;text-decoration:none;display:block}.blog-feature article{border-bottom:1px solid var(--line);grid-template-columns:7fr 5fr;min-height:460px;display:grid}.blog-feature__image{background:var(--code-bg);min-height:420px;overflow:hidden}.blog-feature__image img,.blog-article-row__image img{object-fit:cover;width:100%;height:100%;transition:transform .24s cubic-bezier(.16,1,.3,1)}.blog-feature__content{flex-direction:column;padding:40px 0 32px 40px;display:flex}.blog-feature__content h2{letter-spacing:-.025em;text-wrap:balance;margin:14px 0 16px;font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.25}.blog-feature__excerpt{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:1rem;line-height:1.8}.blog-article__tags{flex-wrap:wrap;gap:6px;display:flex}.blog-article__tags span{color:var(--accent-strong);font-size:.75rem;font-weight:700}.blog-article__tags span+span:before{content:"/";color:var(--line-strong);margin-right:6px}.blog-article__date{color:var(--ink-muted);font:500 .75rem/1.5 var(--font-code);margin:10px 0 0}.blog-article__footer{color:var(--ink-muted);justify-content:space-between;align-items:center;gap:20px;margin-top:auto;padding-top:24px;font-size:.8125rem;display:flex}.blog-article__footer strong{color:var(--accent-strong);gap:8px;font-size:.875rem;display:flex}.blog-feature:hover img,.blog-article-row:hover img{transform:scale(1.025)}.blog-feature:focus-visible,.blog-article-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.blog-image-fallback{background:var(--code-bg);width:100%;height:100%;min-height:180px;color:var(--code-text);font:700 2rem/1 var(--font-code);justify-content:center;align-items:center;gap:10px;display:flex}.blog-image-fallback small{color:var(--ink-subtle);font-size:.75rem;font-weight:500}.blog-article-list{border-top:1px solid var(--line)}.blog-article-row{color:inherit;text-decoration:none;display:block}.blog-article-row article{border-bottom:1px solid var(--line);grid-template-columns:64px 280px minmax(0,1fr);gap:28px;min-height:240px;padding:28px 0;display:grid}.blog-article-row__index{color:var(--ink-muted);font:500 .75rem/1.5 var(--font-code);padding-top:3px}.blog-article-row__image{background:var(--code-bg);height:184px;overflow:hidden}.blog-article-row__content{flex-direction:column;min-width:0;display:flex}.blog-article-row__content h2{text-wrap:balance;margin:10px 0 8px;font-size:1.45rem;line-height:1.35}.blog-article-row__content>p{max-width:70ch;color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.9375rem;line-height:1.75;display:-webkit-box;overflow:hidden}.blog-empty{border-bottom:1px solid var(--line);text-align:center;padding:72px 24px}.blog-empty__meta{text-transform:uppercase;color:var(--accent-strong)!important;font:600 .75rem/1.5 var(--font-code)!important}.blog-empty h3{margin:8px 0;font-size:1.5rem}.blog-empty>p:not(.blog-empty__meta){color:var(--ink-muted);margin:0 0 20px}.blog-empty a{color:var(--accent-strong);font-weight:700}.blog-pagination{justify-content:center;align-items:center;gap:16px;margin-top:48px;display:flex}.blog-pagination>div{display:flex}.blog-pagination a,.blog-pagination span{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--ink-soft);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.blog-pagination>div>*+*{margin-left:-1px}.blog-pagination>a{padding:0 16px}.blog-pagination a.is-active{border-color:var(--accent);background:var(--accent);color:#062438;font-weight:700;position:relative}.blog-pagination a:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (max-width:900px){.blog-index__meta{grid-column:1/4}.blog-index__hero h1{grid-column:4/13}.blog-index__hero>div>p:last-child{grid-column:4/11;margin-top:8px}.blog-feature article{grid-template-columns:1fr}.blog-feature__image{min-height:380px}.blog-feature__content{padding:28px 0}.blog-article-row article{grid-template-columns:48px 220px minmax(0,1fr);gap:20px}.blog-article-row__image{height:160px}}@media (max-width:640px){.blog-index__hero{padding:48px 0}.blog-index__hero .container{display:block}.blog-index__meta{margin:0 0 22px}.blog-index__hero h1{font-size:2.55rem}.blog-index__hero>div>p:last-child{margin-top:22px}.blog-index__catalog{padding:44px 0 72px}.blog-filter{grid-template-columns:1fr}.blog-filter button,.blog-filter>a{width:100%}.blog-feature article{min-height:0}.blog-feature__image{min-height:240px}.blog-feature__content{padding:24px 0 28px}.blog-article-row article{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:24px 0}.blog-article-row__image{aspect-ratio:16/9;grid-column:2;height:auto}.blog-article-row__content{grid-column:2}.blog-article__footer{flex-direction:column;align-items:flex-start;gap:10px}.blog-pagination{flex-wrap:wrap;gap:8px}.blog-pagination>a{order:2}}@media (prefers-reduced-motion:reduce){.blog-feature__image img,.blog-article-row__image img{transition:none}}.about-studio{background:var(--canvas);color:var(--ink)}.about-studio__hero{border-bottom:1px solid var(--line);padding:72px 0 68px}.about-studio__meta{color:var(--accent-strong);font:600 .75rem/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.06em;margin:0 0 20px}.about-studio__hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:950px;margin:0;font-size:clamp(2.8rem,5.6vw,5.25rem);line-height:1.08}.about-studio__lede{max-width:68ch;color:var(--ink-soft);text-wrap:pretty;margin:26px 0 0;font-size:1.0625rem;line-height:1.8}.about-manifesto{background:var(--surface);border-bottom:1px solid var(--line);padding:clamp(64px,8vw,108px) 0}.about-manifesto__grid{grid-template-columns:5fr 7fr;align-items:center;gap:clamp(48px,8vw,112px);display:grid}.about-manifesto__mark{background:#1e1e1e;border:1px solid #3c3c3c;justify-content:center;align-items:center;min-height:430px;display:flex;position:relative;overflow:hidden}.about-manifesto__mark img{width:min(52%,280px);height:auto}.about-manifesto__mark span{color:var(--code-text);font:500 .6875rem/1.5 var(--font-code);letter-spacing:.08em;position:absolute;bottom:18px;right:20px}.about-section-label{color:var(--accent-strong);font:600 .75rem/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.06em;margin:0 0 18px}.about-manifesto__content h2{letter-spacing:-.03em;text-wrap:balance;margin:0 0 28px;font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.2}.about-manifesto__content>p:not(.about-section-label){max-width:64ch;color:var(--ink-soft);text-wrap:pretty;margin:0 0 18px;font-size:1.0625rem;line-height:1.85}.about-method{border-bottom:1px solid var(--line);padding:clamp(64px,8vw,104px) 0}.about-section-head{grid-template-columns:7fr 5fr;align-items:end;gap:48px;margin-bottom:40px;display:grid}.about-section-head h2{letter-spacing:-.025em;margin:0;font-size:clamp(2rem,3vw,2.75rem);line-height:1.25}.about-section-head p{max-width:48ch;color:var(--ink-soft);margin:0;line-height:1.8}.about-method__list{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.about-method__list li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:310px;padding:26px}.about-method__list li>span{color:var(--accent-strong);font:600 .75rem/1.5 var(--font-code)}.about-method__list h3{margin:72px 0 14px;font-size:1.5rem;line-height:1.35}.about-method__list p{color:var(--ink-soft);margin:0;line-height:1.8}.about-principles{background:var(--surface);border-bottom:1px solid var(--line);padding:clamp(64px,8vw,104px) 0}.about-principles__grid{grid-template-columns:5fr 7fr;gap:clamp(48px,8vw,112px);display:grid}.about-principles__intro{align-self:start;position:sticky;top:104px}.about-principles__intro h2{letter-spacing:-.03em;text-wrap:balance;max-width:10ch;margin:0;font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.2}.about-principles dl{border-top:1px solid var(--line);margin:0}.about-principles dl>div{border-bottom:1px solid var(--line);grid-template-columns:2fr 3fr;gap:28px;padding:28px 0;display:grid}.about-principles dt{font-size:1.125rem;font-weight:700}.about-principles dd{color:var(--ink-soft);margin:0;line-height:1.8}.about-proof{color:var(--code-text);background:#1e1e1e;padding:clamp(64px,8vw,104px) 0}.about-section-head--light p{color:#b8c8d5}.about-proof__images{background:#3c3c3c;border:1px solid #3c3c3c;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.about-proof figure{background:#1e1e1e;margin:0}.about-proof figure img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.85);width:100%;height:auto;transition:filter .18s ease-out;display:block}.about-proof figure:hover img{filter:saturate()}.about-proof figcaption{color:#9eb2c2;font:500 .6875rem/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.06em;padding:12px 14px}.about-cta{background:var(--accent);color:#062438;padding:clamp(64px,8vw,104px) 0}.about-cta__grid{grid-template-columns:7fr 5fr;gap:24px;display:grid}.about-cta h2{color:#fff;letter-spacing:-.035em;text-wrap:balance;grid-column:1/-1;max-width:17ch;margin:0;font-size:clamp(2.5rem,5vw,4.75rem);line-height:1.1}.about-cta p{color:#fff;align-self:end;max-width:45ch;margin:28px 0 0;font-size:1rem;line-height:1.75}.about-cta__actions{justify-content:flex-end;align-items:end;gap:12px;display:flex}.about-cta__actions a{color:#062438;border:1px solid #062438;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-flex}.about-cta__actions a:first-child{color:#fff;background:#062438}.about-cta__actions a:last-child{color:#fff;border-color:#fff}.about-cta__actions a:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffffbf}@media (max-width:900px){.about-manifesto__grid,.about-principles__grid{grid-template-columns:1fr}.about-manifesto__mark{min-height:360px}.about-principles__intro{position:static}.about-principles__intro h2{max-width:16ch}.about-section-head{grid-template-columns:1fr;gap:16px}.about-method__list{grid-template-columns:1fr}.about-method__list li{min-height:0}.about-method__list h3{margin-top:32px}.about-cta__grid{grid-template-columns:1fr}.about-cta__actions{justify-content:flex-start}}@media (max-width:640px){.about-studio__hero{padding:48px 0}.about-studio__hero h1{font-size:2.55rem}.about-manifesto__mark{min-height:280px}.about-manifesto__content h2{font-size:2rem}.about-principles dl>div{grid-template-columns:1fr;gap:8px}.about-proof__images{grid-template-columns:1fr}.about-cta h2{font-size:2.55rem}.about-cta__actions{flex-direction:column;align-items:stretch}.about-cta__actions a{width:100%}}@media (prefers-reduced-motion:reduce){.about-proof figure img{transition:none}}.contact-desk{background:var(--canvas);min-height:100vh;color:var(--ink)}.contact-desk__hero{border-bottom:1px solid var(--line);padding:72px 0 68px}.contact-desk__meta{color:var(--accent-strong);font:600 .75rem/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.06em;margin:0 0 20px}.contact-desk__hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:920px;margin:0;font-size:clamp(2.8rem,5.6vw,5.25rem);line-height:1.08}.contact-desk__hero>div>p:last-child{max-width:68ch;color:var(--ink-soft);text-wrap:pretty;margin:26px 0 0;font-size:1.0625rem;line-height:1.8}.contact-desk__body{background:var(--surface);padding:clamp(64px,8vw,104px) 0}.contact-desk__grid{grid-template-columns:4fr 8fr;align-items:start;gap:clamp(48px,8vw,112px);display:grid}.contact-desk__info{position:sticky;top:104px}.contact-desk__section-label{color:var(--accent-strong);font:600 .75rem/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px}.contact-desk__info h2,.contact-form-panel__head h2{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.3}.contact-desk__info dl{border-top:1px solid var(--line);margin:36px 0 0}.contact-desk__info dl>div{border-bottom:1px solid var(--line);padding:20px 0}.contact-desk__info dt{color:var(--ink-muted);margin-bottom:6px;font-size:.75rem;font-weight:700}.contact-desk__info dd{color:var(--ink-soft);margin:0;line-height:1.75}.contact-desk__info dd a{color:var(--accent-strong);text-underline-offset:4px;font-weight:700;text-decoration-thickness:1px}.contact-desk__note{color:var(--ink-muted);margin:24px 0 0;font-size:.8125rem;line-height:1.7}.contact-form-panel{border-top:3px solid var(--accent);background:var(--surface-raised)}.contact-form-panel__head{border-bottom:1px solid var(--line);padding:28px 32px 30px}.contact-form-panel__head>p:last-child{max-width:62ch;color:var(--ink-soft);margin:14px 0 0;line-height:1.75}.contact-form{padding:32px;position:relative}.contact-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-form__error{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger);margin-bottom:24px;padding:14px 16px;font-size:.875rem;line-height:1.6}.contact-form__row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact-field{margin-bottom:22px}.contact-field label{color:var(--ink);margin-bottom:8px;font-size:.875rem;font-weight:700;display:block}.contact-field__label{justify-content:space-between;align-items:center;gap:16px;display:flex}.contact-field__label span{color:var(--ink-muted);margin-bottom:8px;font-size:.75rem}.contact-field input,.contact-field textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--canvas);width:100%;color:var(--ink);font:inherit}.contact-field input{min-height:48px;padding:10px 13px}.contact-field textarea{resize:vertical;min-height:180px;padding:12px 13px;line-height:1.7}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#586d80;opacity:1}.contact-field input:focus-visible,.contact-field textarea:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.contact-form__submit{justify-content:space-between;align-items:center;gap:28px;padding-top:8px;display:flex}.contact-form__submit p{max-width:42ch;color:var(--ink-muted);margin:0;font-size:.75rem;line-height:1.65}.contact-form__submit button,.contact-success button{border:1px solid var(--accent-strong);border-radius:var(--radius-sm);background:var(--accent);color:#062438;min-height:48px;font:700 .9375rem/1.4 var(--font-ui);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:10px 20px;display:inline-flex}.contact-form__submit button:hover,.contact-success button:hover{background:var(--accent-strong);color:#fff}.contact-form__submit button:focus-visible,.contact-success button:focus-visible{box-shadow:var(--focus-ring);outline:none}.contact-form__submit button:disabled{cursor:wait;opacity:.62}.contact-success{flex-direction:column;justify-content:center;align-items:flex-start;min-height:460px;padding:64px 32px;display:flex}.contact-success>span{background:var(--success-soft);width:48px;height:48px;color:var(--success);justify-content:center;align-items:center;margin-bottom:28px;font-size:1.5rem;font-weight:800;display:inline-flex}.contact-success h3{margin:0 0 10px;font-size:1.75rem}.contact-success p{max-width:50ch;color:var(--ink-soft);margin:0 0 28px;line-height:1.75}@media (max-width:900px){.contact-desk__grid{grid-template-columns:1fr}.contact-desk__info{position:static}.contact-desk__info dl{border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.contact-desk__info dl>div{border-right:1px solid var(--line);padding:18px}}@media (max-width:640px){.contact-desk__hero{padding:48px 0}.contact-desk__hero h1{font-size:2.55rem}.contact-desk__body{padding:48px 0 72px}.contact-desk__info dl{grid-template-columns:1fr}.contact-form-panel__head,.contact-form{padding:24px 18px}.contact-form__row{grid-template-columns:1fr;gap:0}.contact-field__label{flex-direction:column;align-items:flex-start;gap:0}.contact-form__submit{flex-direction:column;align-items:stretch}.contact-form__submit button{width:100%}.contact-success{min-height:380px;padding:48px 18px}}.login-shell{background:var(--surface);min-height:calc(100vh - 72px);color:var(--ink);padding:clamp(48px,7vw,88px) 0}.login-shell__grid{grid-template-columns:7fr 5fr;min-height:680px;padding:0;display:grid}.login-context{background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-line);flex-direction:column;padding:48px;display:flex}.login-context__brand{border-bottom:1px solid var(--code-line);align-items:center;gap:12px;padding-bottom:22px;font-weight:700;display:flex}.login-context__brand img{width:38px;height:38px}.login-context__copy{margin:auto 0;padding:60px 0}.login-context__meta,.login-panel__meta{color:var(--accent);font:600 .75rem/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.06em;margin:0 0 16px}.login-context__copy h2{letter-spacing:-.035em;text-wrap:balance;max-width:11ch;margin:0 0 22px;font-size:clamp(2.4rem,4.2vw,4.25rem);line-height:1.12}.login-context__copy>p:last-child{color:#b8c8d5;text-wrap:pretty;max-width:54ch;margin:0;font-size:1rem;line-height:1.8}.login-context__steps{border-top:1px solid var(--code-line);border-left:1px solid var(--code-line);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.login-context__steps li{border-right:1px solid var(--code-line);border-bottom:1px solid var(--code-line);min-height:116px;padding:14px}.login-context__steps span{color:var(--accent);font:600 .6875rem/1.5 var(--font-code)}.login-context__steps p{color:#c8d9e5;margin:28px 0 0;font-size:.8125rem;line-height:1.55}.login-panel{border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--canvas);flex-direction:column;justify-content:center;padding:clamp(36px,5vw,64px);display:flex}.login-panel__meta{color:var(--accent-strong)}.login-panel__head h1{letter-spacing:-.025em;margin:0;font-size:2.5rem;line-height:1.2}.login-panel__head>p:last-child{color:var(--ink-soft);margin:10px 0 0;line-height:1.7}.login-error{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger);margin-top:24px;padding:13px 15px;font-size:.875rem;line-height:1.65}.login-form{margin-top:28px}.login-field{margin-bottom:20px}.login-field label{color:var(--ink);margin-bottom:8px;font-size:.875rem;font-weight:700;display:block}.login-field__label{justify-content:space-between;align-items:center;gap:16px;display:flex}.login-field__label a{color:var(--accent-strong);margin-bottom:8px;font-size:.8125rem;font-weight:700;text-decoration:none}.login-field input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;min-height:48px;color:var(--ink);font:inherit;padding:10px 13px}.login-field input::placeholder{color:#586d80;opacity:1}.login-field input:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.login-password{position:relative}.login-password input{padding-right:52px}.login-password button{width:40px;height:40px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-password button:focus-visible{box-shadow:var(--focus-ring);outline:none}.login-submit,.login-google{border-radius:var(--radius-sm);width:100%;min-height:48px;font:700 .9375rem/1.4 var(--font-ui);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:10px 16px;display:flex}.login-submit{border:1px solid var(--accent-strong);background:var(--accent);color:#062438}.login-submit:hover{background:var(--accent-strong);color:#fff}.login-submit:disabled{cursor:wait;opacity:.62}.login-submit:focus-visible,.login-google:focus-visible{box-shadow:var(--focus-ring);outline:none}.login-divider{color:var(--ink-muted);align-items:center;gap:14px;margin:26px 0;font-size:.75rem;display:flex}.login-divider:before,.login-divider:after{background:var(--line);content:"";flex:1;height:1px}.login-google{border:1px solid var(--line-strong);background:var(--canvas);color:var(--ink)}.login-google:hover{background:var(--surface)}.login-register{text-align:center;color:var(--ink-soft);margin:26px 0 0;font-size:.875rem}.login-register a{color:var(--accent-strong);font-weight:700;text-decoration:none}.login-privacy{border-top:1px solid var(--line);color:var(--ink-muted);text-align:center;margin:22px 0 0;padding-top:18px;font-size:.6875rem;line-height:1.65}@media (max-width:960px){.login-shell__grid{grid-template-columns:1fr;max-width:720px}.login-context{min-height:480px}.login-context__copy{padding:52px 0}.login-panel{border-top:0;border-left:1px solid var(--line)}}@media (max-width:640px){.login-shell{padding:0}.login-shell__grid{display:block}.login-context{border-left:0;border-right:0;min-height:0;padding:32px 24px}.login-context__copy{padding:44px 0}.login-context__copy h2{font-size:2.5rem}.login-context__steps{grid-template-columns:1fr}.login-context__steps li{grid-template-columns:36px 1fr;align-items:center;min-height:0;padding:12px;display:grid}.login-context__steps p{margin:0}.login-panel{border-left:0;border-right:0;padding:40px 24px}.login-panel__head h1{font-size:2.125rem}}.register-shell .login-shell__grid{grid-template-columns:5fr 7fr;min-height:760px}.register-context{padding:44px}.register-context .login-context__copy h2{font-size:clamp(2.25rem,3.8vw,3.75rem)}.register-context__list{border-top:1px solid var(--code-line);margin:0;padding:0;list-style:none}.register-context__list li{border-bottom:1px solid var(--code-line);grid-template-columns:1.1fr 1.6fr;gap:20px;padding:16px 0;display:grid}.register-context__list span{color:var(--accent);font:600 .6875rem/1.5 var(--font-code);text-transform:uppercase}.register-context__list p{color:#c8d9e5;margin:0;font-size:.8125rem;line-height:1.6}.register-panel{padding:clamp(36px,4vw,56px)}.register-form{margin-top:28px}.register-form__row,.register-password-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.register-confirm.has-error input{border-color:var(--danger)}.register-confirm__status{min-height:18px;color:var(--danger);margin-top:5px;font-size:.75rem}.register-confirm__status.is-valid{color:var(--success)}.register-strength{border:1px solid var(--line);background:var(--surface);margin:0 0 24px;padding:16px}.register-strength__head{color:var(--ink-muted);justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;font-size:.75rem;display:flex}.register-strength__head strong{color:var(--ink-soft)}.register-strength__track{background:var(--line);height:4px;overflow:hidden}.register-strength__track span{background:var(--danger);height:100%;transition:width .18s ease-out;display:block}.register-strength--2 .register-strength__track span,.register-strength--3 .register-strength__track span{background:var(--warning)}.register-strength--4 .register-strength__track span,.register-strength--5 .register-strength__track span{background:var(--success)}.register-strength ul{grid-template-columns:repeat(2,1fr);gap:7px 14px;margin:14px 0 0;padding:0;list-style:none;display:grid}.register-strength li{color:var(--ink-muted);padding-left:18px;font-size:.75rem;line-height:1.5;position:relative}.register-strength li:before{content:"○";position:absolute;left:0}.register-strength li.is-valid{color:var(--success)}.register-strength li.is-valid:before{content:"✓";font-weight:800}@media (max-width:960px){.register-shell .login-shell__grid{grid-template-columns:1fr}.register-context{min-height:520px}}@media (max-width:640px){.register-context{min-height:0;padding:32px 24px}.register-context__list li{grid-template-columns:1fr;gap:5px}.register-panel{padding:40px 24px}.register-form__row,.register-password-grid{grid-template-columns:1fr;gap:0}.register-strength ul{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.register-strength__track span{transition:none}}.courses-hero h1,.blog-index__hero h1,.about-studio__hero h1,.contact-desk__hero h1{color:#111b27;white-space:nowrap;max-width:none;font-size:clamp(2.5rem,4.4vw,4rem)}@media (max-width:900px){.courses-hero h1,.blog-index__hero h1,.about-studio__hero h1,.contact-desk__hero h1{white-space:normal}}.courses-hero__index,.blog-index__meta,.about-studio__meta,.contact-desk__meta{color:#0089d6}.login-context{background:#1e1e1e;border-color:#3c3c3c}.login-context__brand,.login-context__steps,.login-context__steps li,.register-context__list,.register-context__list li{border-color:#3c3c3c}.login-submit{color:#fff}.learner-dashboard{background:var(--surface);min-height:100vh;color:var(--ink);padding:48px 0 88px}.learner-dashboard__header{border-bottom:1px solid var(--line);grid-template-columns:8fr 4fr;align-items:end;gap:48px;padding-bottom:28px;display:grid}.learner-dashboard__meta,.dashboard-section-head p{color:var(--accent-strong);font:600 .75rem/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.learner-dashboard__header h1{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,4vw,3.5rem);line-height:1.18}.learner-dashboard__header>div>p:last-child{max-width:62ch;color:var(--ink-soft);margin:12px 0 0;line-height:1.75}.learner-dashboard__nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 18px;display:flex}.learner-dashboard__nav a{min-height:40px;color:var(--ink-soft);align-items:center;gap:7px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex}.learner-dashboard__nav a:hover{color:var(--accent-strong)}.learner-dashboard__nav a:focus-visible{box-shadow:var(--focus-ring);outline:none}.learner-dashboard__nav span{background:var(--accent-soft);min-width:22px;height:22px;color:var(--accent-strong);justify-content:center;align-items:center;font-size:.6875rem;display:inline-flex}.learner-dashboard__stats{border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-bottom:64px;display:grid}.learner-dashboard__stats>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--canvas);justify-content:space-between;align-items:baseline;gap:16px;padding:18px 20px;display:flex}.learner-dashboard__stats span{color:var(--ink-muted);font-size:.75rem}.learner-dashboard__stats strong{color:var(--ink);font-size:1.5rem;line-height:1}.dashboard-continue{margin-bottom:72px}.dashboard-section-head{justify-content:space-between;align-items:end;gap:28px;margin-bottom:22px;display:flex}.dashboard-section-head h2{letter-spacing:-.02em;margin:0;font-size:1.75rem;line-height:1.3}.dashboard-section-head>span,.dashboard-section-head>a{color:var(--ink-muted);font-size:.8125rem}.dashboard-section-head>a{color:var(--accent-strong);font-weight:700;text-decoration:none}.dashboard-continue__course{border:1px solid var(--line);background:var(--canvas);min-height:360px;color:inherit;grid-template-columns:7fr 5fr;text-decoration:none;display:grid}.dashboard-continue__course:focus-visible,.dashboard-course-row:focus-visible,.dashboard-empty>a:focus-visible{box-shadow:var(--focus-ring);outline:none}.dashboard-continue__image{background:#1e1e1e;min-height:360px;position:relative;overflow:hidden}.dashboard-continue__image img{object-fit:cover;transition:transform .2s cubic-bezier(.16,1,.3,1)}.dashboard-continue__course:hover img{transform:scale(1.025)}.dashboard-course-fallback{color:#fff;width:100%;height:100%;font:700 2.5rem/1 var(--font-code);background:#1e1e1e;justify-content:center;align-items:center;gap:10px;display:flex}.dashboard-course-fallback small{color:#a9bac8;font-size:.75rem;font-weight:500}.dashboard-continue__content{flex-direction:column;min-width:0;padding:36px;display:flex}.dashboard-course-status{color:var(--accent-strong);font:600 .75rem/1.5 var(--font-code)}.dashboard-continue__content h3{letter-spacing:-.025em;text-wrap:balance;margin:18px 0 28px;font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.3}.dashboard-progress{background:var(--line);height:5px;overflow:hidden}.dashboard-progress span{background:var(--accent);height:100%;display:block}.dashboard-continue__action{color:var(--accent-strong);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:28px;font-weight:700;display:flex}.dashboard-course-list{border-top:1px solid var(--line)}.dashboard-course-row{border-bottom:1px solid var(--line);min-height:94px;color:inherit;grid-template-columns:52px minmax(220px,2fr) minmax(140px,1fr) 100px 92px;align-items:center;gap:24px;padding:16px 0;text-decoration:none;display:grid}.dashboard-course-row__index{color:var(--ink-muted);font:500 .75rem/1.5 var(--font-code)}.dashboard-course-row__title{flex-direction:column;gap:5px;min-width:0;display:flex}.dashboard-course-row__title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-course-row__title span{color:var(--ink-muted);font-size:.75rem}.dashboard-course-row__status{color:var(--accent-strong);font-size:.75rem;font-weight:700}.dashboard-course-row__status.is-complete{color:var(--success)}.dashboard-course-row__action{color:var(--ink-soft);text-align:right;font-size:.8125rem;font-weight:700}.dashboard-course-row:hover .dashboard-course-row__action{color:var(--accent-strong)}.dashboard-course-list__empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-muted);margin:0;padding:28px 0;font-size:.875rem}.dashboard-empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:72px 0}.dashboard-empty h2{letter-spacing:-.03em;text-wrap:balance;max-width:22ch;margin:0;font-size:clamp(2rem,4vw,3.75rem);line-height:1.2}.dashboard-empty>p:not(.learner-dashboard__meta){max-width:60ch;color:var(--ink-soft);margin:20px 0 28px;line-height:1.75}.dashboard-empty>a{border:1px solid var(--accent-strong);background:var(--accent);color:#fff;align-items:center;gap:12px;min-height:48px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-flex}@media (max-width:900px){.learner-dashboard__header{grid-template-columns:1fr}.learner-dashboard__nav{justify-content:flex-start}.learner-dashboard__stats{grid-template-columns:repeat(2,1fr)}.dashboard-continue__course{grid-template-columns:1fr}.dashboard-continue__image{min-height:320px}.dashboard-course-row{grid-template-columns:40px minmax(0,1fr) 82px}.dashboard-course-row>.dashboard-progress{grid-column:2}.dashboard-course-row__status{grid-area:1/3}.dashboard-course-row__action{grid-area:2/3}.dashboard-course-row__title{grid-area:1/2}}@media (max-width:640px){.learner-dashboard{padding:36px 0 64px}.learner-dashboard__header{gap:24px}.learner-dashboard__header h1{font-size:2.25rem}.learner-dashboard__nav{flex-direction:column;align-items:stretch;gap:0}.learner-dashboard__nav a{border-bottom:1px solid var(--line)}.learner-dashboard__stats{grid-template-columns:1fr;margin-bottom:48px}.dashboard-section-head{flex-direction:column;align-items:flex-start;gap:8px}.dashboard-continue{margin-bottom:52px}.dashboard-continue__image{min-height:220px}.dashboard-continue__content{padding:24px}.dashboard-course-row{grid-template-columns:32px minmax(0,1fr);gap:10px 12px;padding:18px 0}.dashboard-course-row__title,.dashboard-course-row>.dashboard-progress{grid-column:2}.dashboard-course-row__status{grid-area:3/2}.dashboard-course-row__action{text-align:left;grid-area:4/2}}@media (prefers-reduced-motion:reduce){.dashboard-continue__image img{transition:none}}.course-detail-page{background:var(--surface);color:var(--ink)}.course-detail-hero{border-bottom:1px solid var(--line);background:var(--canvas);padding:52px 0 0}.course-detail-hero__grid{grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.course-detail-hero__content{grid-column:1/10;min-width:0}.course-detail-breadcrumb{color:var(--ink-muted);margin:0 0 24px;font-size:.8125rem;line-height:1.6}.course-detail-breadcrumb a{color:var(--accent-strong);text-decoration:none}.course-detail-breadcrumb a:hover{text-decoration:underline}.course-detail-breadcrumb a:focus-visible{box-shadow:var(--focus-ring);outline:none}.course-detail-tags{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.course-detail-tag{border:1px solid var(--line-strong);align-items:center;min-height:30px;display:inline-flex;background:var(--surface)!important;color:var(--ink-soft)!important;border-radius:999px!important;padding:4px 10px!important;font-size:.75rem!important;font-weight:700!important;text-decoration:none!important}.course-detail-tag:hover{border-color:var(--accent);color:var(--accent-strong)!important}.course-detail-tag:focus-visible{box-shadow:var(--focus-ring);outline:none}.course-detail-hero h1{max-width:20ch;color:var(--ink);letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-size:clamp(2.35rem,5vw,4.5rem);line-height:1.14}.course-detail-hero__lede{max-width:68ch;color:var(--ink-soft);text-wrap:pretty;margin:20px 0 32px;font-size:1.125rem;line-height:1.8}.course-detail-facts{border-left:1px solid var(--line);flex-wrap:wrap;align-items:stretch;gap:0;margin:0;display:flex}.course-detail-facts>div{border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;min-width:180px;padding:16px 20px;display:flex}.course-detail-facts>div:first-child{min-width:260px}.course-detail-facts>div>div:last-child>div:first-child,.course-detail-facts>div:not(:first-child)>div:first-child{color:var(--ink-muted)!important;font:600 .6875rem/1.5 var(--font-code)!important}.course-detail-facts>div>div:last-child>div:last-child,.course-detail-facts>div:not(:first-child)>div:last-child{color:var(--ink)!important;font-weight:700!important}.course-detail-body{padding:64px 0 96px}.course-detail-grid{flex-direction:column;align-items:start;gap:48px;display:flex}.course-detail-main{order:2;width:100%;min-width:0}.course-detail-sidebar{order:1;width:100%}.course-detail-section h2,.course-detail-section-title{letter-spacing:-.02em;text-wrap:balance;color:var(--ink)!important;margin:0 0 22px!important;font-size:1.75rem!important;line-height:1.3!important}.course-description-content h2,.course-description-content h3,.course-description-content strong{color:var(--ink)!important}.course-description-content a{color:var(--accent-strong)!important}.course-description-content blockquote{border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--ink-soft)!important;margin:1.25rem 0!important;padding:16px!important;font-style:normal!important}.course-description-content pre{border-radius:var(--radius-sm);background:var(--code-bg);color:var(--code-text);font:400 .9rem/1.65 var(--font-code);margin:1rem 0;padding:16px;overflow-x:auto}.course-description-content code{background:var(--surface);color:var(--danger);font-family:var(--font-code);border-radius:4px;padding:2px 6px}.course-description-content pre code{color:inherit;background:0 0;padding:0}.course-enroll-panel{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--canvas);position:relative;overflow:hidden}.course-enroll-panel__media{background:var(--code-bg);padding-top:56.25%;position:relative}.course-enroll-panel__media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.course-enroll-panel__promo{background:var(--info);color:#fff;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:.8125rem;font-weight:700;display:flex}.course-enroll-panel__price>div,.course-enroll-panel__price>div>div{align-items:baseline!important;gap:10px!important;display:flex!important}.course-enroll-panel__price span:first-child{color:var(--ink)!important}.course-enroll-panel__price>div:not(:has(div)){color:var(--ink)!important}.course-enroll-panel__price span:first-child{font-size:1.75rem!important}.course-enroll-panel__price span:last-child{color:var(--ink-muted)!important}.course-enroll-panel__benefits{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.course-enroll-panel__benefits>div{color:var(--ink-soft)!important}.course-detail-check{width:20px;height:20px;color:var(--success);flex:none}.course-enroll-panel #enroll-button-slot button,.course-enroll-panel #enroll-button-slot a{min-height:48px;border-radius:var(--radius-sm)!important;box-shadow:none!important}.course-lessons__list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.course-lessons__list li{border-bottom:1px solid var(--line);margin:0}.course-lesson-row{width:100%;min-height:76px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 4px;transition:background-color .16s cubic-bezier(.2,.8,.2,1),color .16s cubic-bezier(.2,.8,.2,1);display:grid}.course-lesson-row:hover{background:var(--surface)}.course-lesson-row:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.course-lesson-row:active{background:var(--accent-soft)}.course-lesson-row.is-locked{color:var(--ink-muted)}.course-lesson-row__index{font:600 .75rem/1.5 var(--font-code);color:var(--ink-muted);text-align:center}.course-lesson-row__content{flex-direction:column;gap:4px;min-width:0;display:flex}.course-lesson-row__content strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;overflow:hidden}.course-lesson-row__content>span{color:var(--ink-muted);font-size:.75rem}.course-lesson-row__status{min-height:28px;color:var(--accent-strong);white-space:nowrap;align-items:center;gap:5px;padding:4px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.course-lesson-row__status.is-preview{background:var(--success-soft);color:var(--success)}.course-lesson-row__status.is-locked{color:var(--ink-muted)}.course-lesson-row__status svg{width:15px;height:15px}.course-lessons__toggle{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--canvas);width:100%;min-height:44px;color:var(--accent-strong);font:700 .875rem/1.4 var(--font-ui);cursor:pointer;margin-top:16px}.course-lessons__toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.course-lessons-empty{border-block:1px solid var(--line);color:var(--ink-muted);text-align:center;padding:32px 20px}.course-reviews{border-top:1px solid var(--line);margin-top:56px;padding-top:44px}.course-reviews>h2{color:var(--ink)!important;margin:0 0 22px!important;font-size:1.75rem!important}.course-reviews select{border-color:var(--line-strong)!important;border-radius:var(--radius-sm)!important;background:var(--canvas)!important;min-height:44px!important;color:var(--ink)!important}.course-reviews button:focus-visible,.course-reviews select:focus-visible,.course-reviews textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.course-reviews textarea{border-color:var(--line-strong)!important;border-radius:var(--radius-sm)!important;color:var(--ink)!important}.course-reviews>div:last-of-type{border-radius:var(--radius-sm)!important}.course-detail-skeleton{background:var(--line);border-radius:4px;display:block;position:relative;overflow:hidden}.course-detail-skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffbf,#0000);animation:1.4s infinite course-skeleton;position:absolute;inset:0;transform:translate(-100%)}.course-detail-loading__hero{min-height:360px}.course-detail-loading__hero .is-breadcrumb{width:220px;height:14px;margin-bottom:28px}.course-detail-loading__tags{gap:8px;margin-bottom:20px;display:flex}.course-detail-loading__tags span{border-radius:999px;width:74px;height:28px}.course-detail-loading__hero .is-title{width:min(680px,90%);height:62px;margin-bottom:20px}.course-detail-loading__hero .is-lede{width:min(620px,85%);height:22px;margin-bottom:32px}.course-detail-loading__facts{display:flex}.course-detail-loading__facts span{border:1px solid var(--canvas);border-radius:0;width:190px;height:72px}.course-detail-loading__grid{grid-template-columns:minmax(0,1fr) 360px;gap:48px;display:grid}.course-detail-loading__main .is-section-title{width:180px;height:28px;margin-bottom:24px}.course-detail-loading__main .is-copy{width:90%;height:18px;margin-bottom:12px}.course-detail-loading__main .is-short{width:62%;margin-bottom:52px}.course-detail-loading__main .is-lesson{border-radius:0;width:100%;height:76px;margin-bottom:1px}.course-detail-loading__panel{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--canvas);overflow:hidden}.course-detail-loading__panel .is-media{border-radius:0;height:0;padding-top:56.25%}.course-detail-loading__panel>div{padding:24px}.course-detail-loading__panel .is-price{width:120px;height:32px;margin-bottom:20px}.course-detail-loading__panel .is-button{width:100%;height:48px;margin-bottom:24px}.course-detail-loading__panel .is-copy{width:80%;height:16px}@keyframes course-skeleton{to{transform:translate(100%)}}@media (min-width:1024px){.course-detail-grid{grid-template-columns:minmax(0,1fr) 360px;display:grid}.course-detail-main{order:1}.course-detail-sidebar{order:2}.course-enroll-panel{position:sticky;top:96px}}@media (max-width:1023px){.course-detail-hero__content{grid-column:1/-1}.course-detail-loading__grid{grid-template-columns:1fr}.course-detail-loading__panel{grid-row:1}}@media (max-width:640px){.course-detail-hero{padding-top:36px}.course-detail-hero h1{font-size:2.45rem}.course-detail-hero__lede{font-size:1rem}.course-detail-facts{grid-template-columns:1fr 1fr;display:grid}.course-detail-facts>div,.course-detail-facts>div:first-child{min-width:0;padding:14px}.course-detail-facts>div:first-child{grid-column:1/-1}.course-detail-body{padding:44px 0 72px}.course-detail-section{margin-bottom:40px}.course-detail-section h2,.course-detail-section-title,.course-reviews>h2{font-size:1.5rem!important}.course-enroll-panel__content{padding:20px}.course-lesson-row{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:82px}.course-lesson-row__status{grid-column:2;padding-left:0}.course-detail-loading__facts span{width:33.333%}.course-detail-loading__hero .is-title{height:48px}.course-detail-loading__panel>div{padding:20px}}@media (prefers-reduced-motion:reduce){.course-detail-page *{scroll-behavior:auto!important;transition-duration:.01ms!important}.course-detail-skeleton:after{animation:none}}.learning-surface[data-surface=learning]{--canvas:#1e1e1e;--surface:#252526;--surface-raised:#2d2d30;--surface-subtle:#2a2d2e;--ink:#f0f0f0;--ink-soft:#ccc;--ink-muted:#a9a9a9;--ink-subtle:#858585;--line:#3c3c3c;--line-strong:#565656;--accent:#007acc;--accent-strong:#4fc1ff;--accent-soft:#094771;--code-bg:#181818;--code-panel:#1e1e1e;--code-text:#d4d4d4;--code-line:#3c3c3c;--success:#89d185;--success-soft:#233423;min-height:100vh;color:var(--ink);background:#1e1e1e}.learning-surface[data-theme=light]{--canvas:#1e1e1e;--surface:#252526;--surface-raised:#2d2d30;--surface-subtle:#2a2d2e;--ink:#f0f0f0;--ink-soft:#ccc;--ink-muted:#a9a9a9;--ink-subtle:#858585;--line:#3c3c3c;--line-strong:#565656;--accent:#007acc;--accent-strong:#4fc1ff;--accent-soft:#094771}.learning-surface .nav-learning-shell{background:#181818;border-color:#3c3c3c}.learning-surface .nav-learning-rail{min-height:52px}.learning-surface .nav-learning-course{color:#9cdcfe;font-family:var(--font-code);font-size:.6875rem}.learning-surface .nav-learning-lesson{color:#f0f0f0}.learning-surface .nav-learning-shell__control,.learning-surface .nav-learning-exit{border-radius:4px}.learning-surface .nav-learning-progress-track{background:#3c3c3c}.learning-content-layout,.learning-main{background:#1e1e1e}.learning-video{border-bottom:1px solid #3c3c3c;padding:12px;background:#181818!important}.learning-video>*{border:1px solid #3c3c3c;border-radius:4px;overflow:hidden}.learning-lesson{background:#1e1e1e!important;padding:32px clamp(24px,5vw,72px) 48px!important}.learning-lesson>*{width:min(100%,760px);margin-inline:auto}.learning-lesson__heading{margin-bottom:8px!important}.learning-lesson__heading h1{text-wrap:balance;color:#f0f0f0!important;font-size:1.5rem!important;line-height:1.45!important}.learning-lesson__meta,.learning-lesson__meta>div{color:#a9a9a9!important}.learning-lesson .lesson-content{border-top:1px solid #3c3c3c;max-width:72ch;color:#ccc!important;background:0 0!important;border-radius:0!important;padding:24px 0!important}.learning-lesson .lesson-content h2,.learning-lesson .lesson-content h3,.learning-lesson .lesson-content strong{color:#f0f0f0!important}.learning-lesson .lesson-content a{color:#4fc1ff!important}.learning-lesson .lesson-content code{color:#ce9178;background:#2d2d30}.learning-lesson .lesson-content pre{background:#181818;border:1px solid #3c3c3c;border-radius:4px}.learning-complete{color:#ccc!important;background:#2d2d30!important;border-color:#565656!important;border-radius:4px!important}.learning-complete:hover{background:#37373d!important}.learning-lesson__navigation{border-color:#3c3c3c!important}.learning-lesson__navigation a,.learning-lesson__navigation button{border-radius:4px!important}.learn-sidebar{background:#252526!important;border-color:#3c3c3c!important;width:340px!important;min-width:340px!important}.learn-sidebar__mobile-header,.learn-sidebar>div:nth-of-type(2){background:#252526!important;border-color:#3c3c3c!important}.learn-sidebar__search{min-height:34px;color:#f0f0f0!important;background:#1e1e1e!important;border:1px solid #3c3c3c!important;border-radius:2px!important;padding:7px 10px!important}.learn-sidebar__search::placeholder{color:#a9a9a9}.learn-sidebar__search:focus-visible{outline-offset:-1px;border-color:#007acc!important;outline:1px solid #007acc!important}.learn-sidebar__list{padding:6px 0!important}.lesson-list__item{min-height:46px;color:#ccc!important;border:0!important;border-radius:0!important;margin:0!important;padding:7px 12px!important}.lesson-list__item:hover{background:#2a2d2e!important}.lesson-list__item[style*=\#334155]{box-shadow:inset 2px 0 #007acc;color:#fff!important;background:#37373d!important}.lesson-list__item:focus-visible{outline-offset:-1px;outline:1px solid #007acc}.lesson-list__marker{color:#ccc;font-family:var(--font-code);background:#3c3c3c!important;border-radius:3px!important;width:22px!important;height:22px!important}.lesson-list__item[style*=\#334155] .lesson-list__marker{color:#fff;background:#007acc!important}.lesson-list__item.is-locked{color:#858585!important}.learning-surface .sidebar-overlay{background:#000000b8!important}@media (max-width:1023px){.learn-sidebar{width:min(88vw,360px)!important;min-width:0!important}.learning-video{border-bottom:1px solid #3c3c3c;padding:0}.learning-video>*{border:0;border-radius:0}}@media (max-width:640px){.learning-lesson{padding:24px 18px 40px!important}.learning-lesson__heading{flex-direction:column;align-items:stretch!important}.learning-complete{align-self:flex-start}}@media (prefers-reduced-motion:reduce){.learning-surface *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.learning-surface .nav-learning-theme-toggle{display:none}.learn-sidebar.is-collapsed{border-left:0!important;width:0!important;min-width:0!important}@media (max-width:1023px){.learn-sidebar.is-collapsed{width:min(88vw,360px)!important}}.course-detail-hero{background:var(--canvas);padding:56px 0 48px}.course-detail-hero__grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(28px,4vw,56px)}.course-detail-hero__content{grid-column:1/9;padding-top:4px}.course-detail-hero .course-detail-sidebar{grid-column:9/-1;width:auto;min-width:0}.course-detail-breadcrumb{margin-bottom:28px}.course-detail-hero h1{max-width:17ch;font-size:clamp(3rem,5.2vw,4.75rem)}.course-detail-hero__lede{max-width:62ch;color:var(--ink-soft);margin:24px 0 36px;font-size:1.125rem;line-height:1.75}.course-detail-facts{border-left:0;border-block:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:620px;display:grid}.course-detail-facts>div,.course-detail-facts>div:first-child{border:0;border-right:1px solid var(--line);background:0 0;min-width:0;padding:16px 18px}.course-detail-facts>div:last-child{border-right:0}.course-enroll-panel{border-color:var(--line-strong);border-radius:var(--radius-lg);background:var(--canvas)}.course-enroll-panel__media{padding-top:58%}.course-enroll-panel__content{padding:26px}.course-enroll-panel__price{margin-bottom:18px}.course-enroll-panel__price span:first-child{letter-spacing:-.025em;font-size:2rem!important}.course-enroll-panel__price>div:not(:has(div)){letter-spacing:-.025em;font-size:2rem!important}.course-enroll-panel #enroll-button-slot button,.course-enroll-panel #enroll-button-slot>a{min-height:52px;border-radius:var(--radius-sm)!important;background:var(--accent)!important;color:#fff!important;box-shadow:none!important}.course-enroll-panel #enroll-button-slot button:hover,.course-enroll-panel #enroll-button-slot>a:hover{background:var(--accent-strong)!important}.course-enroll-panel__benefits{margin-top:22px;padding-top:18px}.course-enroll-panel__benefits>div{gap:10px!important;font-size:.875rem!important}.course-detail-body{background:var(--surface);padding:72px 0 112px}.course-detail-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:0;display:grid}.course-detail-main{order:initial;grid-column:1/10;width:100%;min-width:0}.course-detail-section{margin-bottom:68px}.course-detail-section h2,.course-detail-main>h2,.course-reviews>h2{letter-spacing:-.025em;margin-bottom:28px!important;font-size:2rem!important}.course-description-content{max-width:72ch;font-size:1.0625rem;line-height:1.85;color:var(--ink-soft)!important}.course-description-content h2,.course-description-content h3{margin-top:2rem!important}.course-description-content hr{border-color:var(--line)!important;margin:1.75rem 0!important}.course-lessons{margin-bottom:76px}.course-lessons__list{border-top-color:var(--line-strong)}.course-lesson-row{grid-template-columns:52px minmax(0,1fr) auto;gap:18px;min-height:82px;padding:14px 10px}.course-lesson-row__index{font-size:.8125rem}.course-lesson-row__content{gap:6px}.course-lesson-row__content strong{font-size:1rem}.course-lesson-row__content>span{font-size:.8125rem}.course-lesson-row__status{min-height:32px;padding:5px 10px}.course-lessons__toggle{border-color:var(--accent);background:var(--canvas);min-height:48px;margin-top:20px}.course-lessons__toggle:hover{background:var(--accent-soft)}.course-reviews{margin-top:72px;padding-top:56px}.course-reviews__summary{border-block:1px solid var(--line);grid-template-columns:180px minmax(0,1fr);background:0 0!important;border-radius:0!important;gap:36px!important;margin-bottom:32px!important;padding:28px 0!important;display:grid!important}.course-reviews__summary>div:first-child{flex-direction:column;align-items:flex-start;display:flex;text-align:left!important}.course-reviews__actions{border-bottom:1px solid var(--line);padding-bottom:20px}.course-reviews__list{gap:0!important}.course-review-row{border:0!important;border-bottom:1px solid var(--line)!important;background:0 0!important;border-radius:0!important;padding:24px 0!important}.course-review-row>div:first-child>div:first-child>div:first-child{background:var(--accent)!important}.course-review-row p{max-width:70ch;color:var(--ink-soft)!important;font-size:1rem!important;line-height:1.8!important}@media (min-width:1024px){.course-detail-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.course-enroll-panel{position:relative;top:auto}}@media (max-width:1023px){.course-detail-hero{padding-bottom:0}.course-detail-hero__grid{grid-template-columns:1fr;gap:40px}.course-detail-hero__content,.course-detail-hero .course-detail-sidebar{grid-column:1}.course-detail-hero .course-detail-sidebar{max-width:680px;margin-bottom:-1px}.course-detail-grid{grid-template-columns:1fr}.course-detail-main{grid-column:1}}@media (max-width:640px){.course-detail-hero{padding-top:34px}.course-detail-hero h1{font-size:2.65rem}.course-detail-facts{grid-template-columns:1fr 1fr}.course-detail-facts>div:first-child{border-right:1px solid var(--line);border-bottom:0;grid-column:auto}.course-detail-facts>div:last-child{border-right:0}.course-detail-body{padding:52px 0 80px}.course-detail-section{margin-bottom:52px}.course-detail-section h2,.course-detail-main>h2,.course-reviews>h2{font-size:1.625rem!important}.course-lesson-row{grid-template-columns:38px minmax(0,1fr);gap:8px 12px;padding:14px 4px}.course-lesson-row__status{grid-column:2}.course-reviews__summary{grid-template-columns:1fr;gap:24px!important}.course-reviews__actions{flex-direction:column;align-items:stretch!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
