@layer reset,base,components,overrides;@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Lexend-variable-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Lexend-variable-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-Regular-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-Regular-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-Medium-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-Medium-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexMono-Bold-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexMono-Bold-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Lexend", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--space-12: 6rem;--space-16: 8rem;--container-xs: 20rem;--container-sm: 36rem;--container-md: 48rem;--container-lg: 64rem;--container-xl: 80rem;--container-2xl: 90rem;--content-width: 65ch;--sidebar-width: 16rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--gray-950: #0a0a0a;--gray-900: #141414;--gray-800: #1a1a1a;--gray-700: #2a2a2a;--gray-600: #3a3a3a;--gray-500: #706f6c;--gray-400: #a1a09a;--gray-300: #d4d4d0;--gray-200: #e8e8e4;--gray-100: #f2f2f0;--gray-50: #f9f9f7;--white: #fdfdfc;--accent-400: #818cf8;--accent-500: #6366f1;--accent-600: #4f46e5;--accent-700: #4338ca;--red-500: #ef4444;--red-400: #f87171;--green-500: #22c55e;--green-400: #4ade80;--amber-500: #f59e0b;--amber-400: #fbbf24}:root{--surface-page: var(--gray-950);--surface-raised: var(--gray-800);--surface-overlay: var(--gray-700);--surface-sunken: #050505;--text-primary: var(--gray-100);--text-secondary: var(--gray-400);--text-muted: var(--gray-500);--text-inverse: var(--gray-950);--border-default: var(--gray-700);--border-subtle: var(--gray-800);--border-strong: var(--gray-600);--accent: var(--accent-400);--accent-hover: var(--accent-500);--accent-text: var(--accent-400);--accent-surface: rgb(99 102 241 / .12);--hover-surface: rgb(255 255 255 / .04);--active-surface: rgb(255 255 255 / .06);--backdrop: rgb(0 0 0 / .5);--focus-ring-color: var(--accent-400);--focus-ring: 0 0 0 2px var(--surface-page), 0 0 0 4px var(--focus-ring-color);--shadow-color: 0deg 0% 0%;--shadow-xs: 0 1px 2px hsl(var(--shadow-color) / .2);--shadow-sm: 0 1px 3px hsl(var(--shadow-color) / .25), 0 1px 2px hsl(var(--shadow-color) / .2);--shadow-md: 0 4px 6px hsl(var(--shadow-color) / .3), 0 2px 4px hsl(var(--shadow-color) / .2);--shadow-lg: 0 10px 15px hsl(var(--shadow-color) / .35), 0 4px 6px hsl(var(--shadow-color) / .2);--shadow-xl: 0 20px 25px hsl(var(--shadow-color) / .35), 0 8px 10px hsl(var(--shadow-color) / .2);--shadow-none: none;--danger: var(--red-400);--success: var(--green-400);--warning: var(--amber-400);--hl-keyword: #c792ea;--hl-type: #82aaff;--hl-property: #f9ae58;--hl-value: #c3e88d;--hl-comment: #636d83;--hl-variable: #e06c75;--theme-transition: background-color var(--duration-normal) var(--ease-default), color var(--duration-normal) var(--ease-default)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--surface-page: var(--white);--surface-raised: var(--gray-50);--surface-overlay: var(--white);--surface-sunken: var(--gray-100);--text-primary: var(--gray-950);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--text-inverse: var(--gray-100);--border-default: var(--gray-200);--border-subtle: var(--gray-100);--border-strong: var(--gray-300);--accent: var(--accent-600);--accent-hover: var(--accent-700);--accent-text: var(--accent-600);--accent-surface: rgb(99 102 241 / .08);--hover-surface: rgb(0 0 0 / .03);--active-surface: rgb(0 0 0 / .05);--backdrop: rgb(0 0 0 / .35);--focus-ring-color: var(--accent-500);--focus-ring: 0 0 0 2px var(--surface-page), 0 0 0 4px var(--focus-ring-color);--shadow-color: 220deg 3% 15%;--shadow-xs: 0 1px 2px hsl(var(--shadow-color) / .04);--shadow-sm: 0 1px 3px hsl(var(--shadow-color) / .06), 0 1px 2px hsl(var(--shadow-color) / .04);--shadow-md: 0 4px 6px hsl(var(--shadow-color) / .07), 0 2px 4px hsl(var(--shadow-color) / .04);--shadow-lg: 0 10px 15px hsl(var(--shadow-color) / .1), 0 4px 6px hsl(var(--shadow-color) / .05);--shadow-xl: 0 20px 25px hsl(var(--shadow-color) / .1), 0 8px 10px hsl(var(--shadow-color) / .04);--danger: var(--red-500);--success: var(--green-500);--warning: var(--amber-500);--hl-keyword: #7c3aed;--hl-type: #2563eb;--hl-property: #b45309;--hl-value: #16a34a;--hl-comment: #9ca3af;--hl-variable: #dc2626}}:root[data-theme=light]{--surface-page: var(--white);--surface-raised: var(--gray-50);--surface-overlay: var(--white);--surface-sunken: var(--gray-100);--text-primary: var(--gray-950);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--text-inverse: var(--gray-100);--border-default: var(--gray-200);--border-subtle: var(--gray-100);--border-strong: var(--gray-300);--accent: var(--accent-600);--accent-hover: var(--accent-700);--accent-text: var(--accent-600);--accent-surface: rgb(99 102 241 / .08);--hover-surface: rgb(0 0 0 / .03);--active-surface: rgb(0 0 0 / .05);--backdrop: rgb(0 0 0 / .35);--focus-ring-color: var(--accent-500);--focus-ring: 0 0 0 2px var(--surface-page), 0 0 0 4px var(--focus-ring-color);--shadow-color: 220deg 3% 15%;--shadow-xs: 0 1px 2px hsl(var(--shadow-color) / .04);--shadow-sm: 0 1px 3px hsl(var(--shadow-color) / .06), 0 1px 2px hsl(var(--shadow-color) / .04);--shadow-md: 0 4px 6px hsl(var(--shadow-color) / .07), 0 2px 4px hsl(var(--shadow-color) / .04);--shadow-lg: 0 10px 15px hsl(var(--shadow-color) / .1), 0 4px 6px hsl(var(--shadow-color) / .05);--shadow-xl: 0 20px 25px hsl(var(--shadow-color) / .1), 0 8px 10px hsl(var(--shadow-color) / .04);--danger: var(--red-500);--success: var(--green-500);--warning: var(--amber-500);--hl-keyword: #7c3aed;--hl-type: #2563eb;--hl-property: #b45309;--hl-value: #16a34a;--hl-comment: #9ca3af;--hl-variable: #dc2626}:root[data-theme=dark]{--surface-page: var(--gray-950);--surface-raised: var(--gray-800);--surface-overlay: var(--gray-700);--surface-sunken: #050505;--text-primary: var(--gray-100);--text-secondary: var(--gray-400);--text-muted: var(--gray-500);--text-inverse: var(--gray-950);--border-default: var(--gray-700);--border-subtle: var(--gray-800);--border-strong: var(--gray-600);--accent: var(--accent-400);--accent-hover: var(--accent-500);--accent-text: var(--accent-400);--accent-surface: rgb(99 102 241 / .12);--hover-surface: rgb(255 255 255 / .04);--active-surface: rgb(255 255 255 / .06);--backdrop: rgb(0 0 0 / .5);--focus-ring-color: var(--accent-400);--focus-ring: 0 0 0 2px var(--surface-page), 0 0 0 4px var(--focus-ring-color);--shadow-color: 0deg 0% 0%;--shadow-xs: 0 1px 2px hsl(var(--shadow-color) / .2);--shadow-sm: 0 1px 3px hsl(var(--shadow-color) / .25), 0 1px 2px hsl(var(--shadow-color) / .2);--shadow-md: 0 4px 6px hsl(var(--shadow-color) / .3), 0 2px 4px hsl(var(--shadow-color) / .2);--shadow-lg: 0 10px 15px hsl(var(--shadow-color) / .35), 0 4px 6px hsl(var(--shadow-color) / .2);--shadow-xl: 0 20px 25px hsl(var(--shadow-color) / .35), 0 8px 10px hsl(var(--shadow-color) / .2);--danger: var(--red-400);--success: var(--green-400);--warning: var(--amber-400);--hl-keyword: #c792ea;--hl-type: #82aaff;--hl-property: #f9ae58;--hl-value: #c3e88d;--hl-comment: #636d83;--hl-variable: #e06c75}@layer components{.site-header{position:sticky;inset-block-start:0;z-index:var(--z-sticky);background-color:var(--surface-page);border-block-end:1px solid var(--border-subtle);transition:var(--theme-transition),border-color var(--duration-normal) var(--ease-default)}.site-header-inner{display:flex;align-items:center;gap:var(--space-4);max-width:var(--container-xl);margin-inline:auto;padding:var(--space-3) var(--space-4)}@media(min-width:768px){.site-header-inner{padding:var(--space-3) var(--space-6)}}.site-logo{display:inline-flex;align-items:center;min-height:2.75rem;font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);text-decoration:none;letter-spacing:var(--tracking-tight);white-space:nowrap}.site-logo:hover{color:var(--accent-text)}.theme-toggle-wrapper{display:flex;align-items:center}.theme-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-width:2.75rem;min-height:2.75rem;padding:var(--space-1) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.theme-toggle:hover{color:var(--text-primary);background:var(--hover-surface);border-color:var(--border-strong)}.theme-toggle:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.theme-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.theme-label{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide)}@media not (min-width:480px){.theme-label{display:none}}.mobile-nav-links .theme-toggle-wrapper{padding-block-start:var(--space-3);margin-block-start:var(--space-2);border-block-start:1px solid var(--border-subtle)}.mobile-nav-links .theme-toggle{width:100%;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md)}@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}}@layer components{.site-nav{display:flex;align-items:center;gap:var(--space-4);margin-inline-start:auto}.site-nav a:not(.nav-cta){display:inline-flex;align-items:center;min-height:2.75rem;padding-inline:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}.site-nav a:not(.nav-cta):hover{color:var(--text-primary)}.site-nav a:not(.nav-cta)[aria-current=page]{color:var(--accent-text);font-weight:var(--font-semibold)}@media not (min-width:768px){.site-nav{display:none}}.nav-search{display:flex;align-items:center}.nav-search input[type=search]{min-height:2.75rem;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-primary);background-color:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-full);transition:border-color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default)}.nav-search input[type=search]::placeholder{color:var(--text-muted)}.nav-search input[type=search]:focus-visible{border-color:var(--accent);outline:2px solid var(--focus-ring-color);outline-offset:2px}.nav-cta{display:inline-flex;align-items:center;min-height:2.75rem;padding:var(--space-1) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-inverse);background-color:var(--accent);border-radius:var(--radius-full);text-decoration:none;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.nav-cta:hover{background-color:var(--accent-hover);color:var(--text-inverse)}.nav-cta:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.mobile-nav-toggle,.mobile-nav-close{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}:is(.mobile-nav-toggle,.mobile-nav-close):hover{color:var(--text-primary);background:var(--hover-surface);border-color:var(--border-strong)}:is(.mobile-nav-toggle,.mobile-nav-close):focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}:is(.mobile-nav-toggle,.mobile-nav-close) svg{width:1.25rem;height:1.25rem;flex-shrink:0}.mobile-nav-toggle{display:none}@media not (min-width:768px){.mobile-nav-toggle{display:inline-flex;margin-inline-start:auto}}.mobile-nav-backdrop{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--backdrop);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-default),visibility var(--duration-normal)}.mobile-nav-backdrop[data-visible]{opacity:1;visibility:visible;pointer-events:auto}.mobile-nav-drawer{position:fixed;inset-block:0;inset-inline-end:0;z-index:var(--z-modal);width:min(80vw,20rem);background-color:var(--surface-page);border-inline-start:1px solid var(--border-subtle);box-shadow:var(--shadow-xl);transform:translate(100%);visibility:hidden;pointer-events:none;transition:transform var(--duration-normal) var(--ease-default),visibility var(--duration-normal);display:flex;flex-direction:column}.mobile-nav-drawer[data-visible]{transform:translate(0);visibility:visible;pointer-events:auto}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-block-end:1px solid var(--border-subtle)}.mobile-nav-search{padding:var(--space-3) var(--space-4) 0}.mobile-nav-search input[type=search]{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-base);color:var(--text-primary);background-color:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md)}.mobile-nav-search input[type=search]::placeholder{color:var(--text-muted)}.mobile-nav-search input[type=search]:focus-visible{border-color:var(--accent);outline:2px solid var(--focus-ring-color);outline-offset:2px}.mobile-nav-links{display:flex;flex-direction:column;padding:var(--space-4);gap:var(--space-1);flex:1;overflow-y:auto}.mobile-nav-links a{display:block;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default)}.mobile-nav-links a:hover{color:var(--text-primary);background:var(--hover-surface)}.mobile-nav-links a[aria-current=page]{color:var(--accent-text);font-weight:var(--font-semibold);background:var(--accent-surface)}.mobile-nav-links a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.mobile-nav-cta{display:block;margin:var(--space-4);padding:var(--space-3);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-inverse);background-color:var(--accent);border-radius:var(--radius-md);text-decoration:none;text-align:center;transition:background-color var(--duration-fast) var(--ease-default)}.mobile-nav-cta:hover{background-color:var(--accent-hover);color:var(--text-inverse)}.mobile-nav-cta:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}@media(prefers-reduced-motion:reduce){.mobile-nav-backdrop,.mobile-nav-drawer{transition:none}}}@layer components{.site-footer{border-block-start:1px solid var(--border-subtle);padding:var(--space-6) var(--space-4);transition:var(--theme-transition),border-color var(--duration-normal) var(--ease-default)}.site-footer .footer-inner{max-width:var(--container-xl);margin-inline:auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5)}.site-footer nav a{display:inline-flex;align-items:center;min-height:2.75rem;font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}.site-footer nav a:hover{color:var(--accent-text)}.site-footer nav a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-sm)}.site-footer .footer-info{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.site-footer .location,.site-footer .copyright{margin:0;font-size:var(--text-sm);color:var(--text-muted)}@media(min-width:768px){.site-footer{padding:var(--space-6)}.site-footer .footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;text-align:start}.site-footer .footer-info{align-items:flex-end;text-align:end}}}@layer components{.cta-button{display:inline-flex;align-items:center;padding:var(--space-3) var(--space-6);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-inverse);background-color:var(--accent);border-radius:var(--radius-full);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.cta-button:hover{background-color:var(--accent-hover);color:var(--text-inverse);box-shadow:var(--shadow-md)}.cta-button:active{background-color:var(--accent)}.cta-button:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;box-shadow:var(--focus-ring)}}@layer components{.hero{padding-block:var(--space-16) var(--space-8);text-align:center}@media(min-width:768px){.hero{padding-block:var(--space-16) var(--space-10);text-align:start}}.hero-content{max-width:var(--container-md)}@media(min-width:768px){.hero-content{max-width:var(--container-lg)}}.hero-content h1{margin-block:0 var(--space-5)}.hero-content p{font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--text-secondary);max-width:var(--content-width);margin-block:0 var(--space-8)}@media(min-width:768px){.hero-content p{font-size:var(--text-xl)}}}@layer components{.services-overview{padding-block:var(--space-8)}@media(min-width:768px){.services-overview{padding-block:var(--space-10)}}.services-overview h2{margin-block:0 var(--space-6)}@media(min-width:768px){.services-overview h2{margin-block-end:var(--space-8)}}.services-grid{display:grid;gap:var(--space-5)}@media(min-width:768px){.services-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-6)}}.service-card{position:relative;display:flex;flex-direction:column;padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;background-color:var(--surface-raised);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),background-color var(--duration-normal) var(--ease-default)}.service-card h2,.service-card h3{margin-block:0 var(--space-3);color:var(--text-primary)}.service-card p{margin-block:0;color:var(--text-secondary);line-height:var(--leading-normal)}.service-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.service-card-link{text-decoration:none;color:inherit}.service-card-link:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}.service-card-link:focus-visible{outline:none}.service-card-link:focus-visible:after{outline:2px solid var(--focus-ring-color);outline-offset:2px}.service-card-cta{display:block;margin-block-start:auto;padding-block-start:var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--accent-text);text-align:end;transition:color var(--duration-fast) var(--ease-default)}.service-card:hover .service-card-cta{color:var(--accent-hover)}.service-card-bullets{margin-block:var(--space-3) 0;padding-inline-start:var(--space-5);color:var(--text-secondary);line-height:var(--leading-normal)}.service-card-bullets li{margin-block-end:var(--space-1)}.service-card-bullets li:last-child{margin-block-end:0}}@layer components{.services-hub{padding-block:var(--space-10)}@media(min-width:768px){.services-hub{padding-block:var(--space-12)}}.services-hub h1{margin-block:0 var(--space-4)}.services-hub>p{margin-block:0 var(--space-6);color:var(--text-secondary);font-size:var(--text-lg)}@media(min-width:768px){.services-hub>p{margin-block-end:var(--space-8)}}}@layer components{.service-detail{padding-block:var(--space-10)}@media(min-width:768px){.service-detail{padding-block:var(--space-12)}}.service-detail-header{margin-block-end:var(--space-8)}@media(min-width:768px){.service-detail-header{margin-block-end:var(--space-10)}}.service-detail-header h1{margin-block:0 var(--space-3)}.service-detail-tagline{margin-block:0;color:var(--text-secondary);font-size:var(--text-xl)}.service-detail section{margin-block-end:var(--space-8)}@media(min-width:768px){.service-detail section{margin-block-end:var(--space-10)}}.service-detail section h2{margin-block:0 var(--space-4)}.service-detail section p{margin-block:0 var(--space-4);color:var(--text-secondary);line-height:var(--leading-normal)}.service-detail section p:last-child{margin-block-end:0}.service-highlights{list-style:none;padding:0;margin-block:var(--space-5) 0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.service-highlights li{font-size:var(--text-sm);color:var(--text-secondary);padding:var(--space-1) var(--space-3);background:var(--surface-raised);border-radius:var(--radius-full);border:1px solid var(--border-subtle)}.related-services h2{margin-block:0 var(--space-5)}.related-services-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:768px){.related-services-grid{grid-template-columns:repeat(2,1fr)}}}@layer components{.blog-preview{padding-block:var(--space-8)}@media(min-width:768px){.blog-preview{padding-block:var(--space-10)}}.blog-preview h2{margin-block:0 var(--space-6)}.blog-empty{padding:var(--space-6) var(--space-5);border:1px dashed var(--border-default);border-radius:var(--radius-lg);background-color:var(--surface-raised);text-align:center;transition:background-color var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default)}.blog-empty p{margin-block:0;color:var(--text-muted);font-size:var(--text-lg);font-style:italic}.blog-view-all{display:inline-flex;align-items:center;min-height:2.75rem;margin-block-start:var(--space-5);font-weight:var(--font-medium);color:var(--accent-text)}.blog-view-all:hover{color:var(--accent-hover)}}@layer components{.blog-index{padding-block:var(--space-10)}@media(min-width:768px){.blog-index{padding-block:var(--space-12)}}.blog-index h1{margin-block:0 var(--space-6)}@media(min-width:768px){.blog-index h1{margin-block-end:var(--space-8)}}.blog-card-list{display:grid;gap:var(--space-5)}.blog-card{position:relative;border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--surface-raised);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.blog-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.blog-card-content{padding:var(--space-5)}.blog-card-content h2,.blog-card-content h3{margin-block:0 var(--space-2);font-size:var(--text-2xl);color:var(--text-primary)}.blog-card-content time{display:block;margin-block-end:var(--space-3);font-size:var(--text-sm);color:var(--text-muted)}.blog-card-content p{margin-block:0;color:var(--text-secondary);line-height:var(--leading-normal)}.blog-card-link{text-decoration:none;color:inherit}.blog-card-link:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}.blog-card-link:focus-visible{outline:none}.blog-card-link:focus-visible:after{outline:2px solid var(--focus-ring-color);outline-offset:2px}.blog-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin-block:var(--space-3) 0;padding:0}.blog-card-tags li{font-size:var(--text-xs);color:var(--accent-text);background-color:var(--accent-surface);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.blog-empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-muted)}}@layer components{.blog-post{padding-block:var(--space-10)}@media(min-width:768px){.blog-post{padding-block:var(--space-12)}}.blog-post-header{margin-block-end:var(--space-8)}.blog-post-header h1{margin-block:0 var(--space-3)}.blog-post-header .blog-post-author{display:block;font-size:var(--text-sm);color:var(--text-secondary)}.blog-post-header time{display:block;font-size:var(--text-sm);color:var(--text-muted);margin-block-end:var(--space-3)}.blog-post-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin-block:0 var(--space-4);padding:0}.blog-post-tags li{font-size:var(--text-xs);color:var(--accent-text);background-color:var(--accent-surface);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.blog-post-actions{display:flex;gap:var(--space-4);font-size:var(--text-sm)}.blog-post-actions a{color:var(--text-secondary)}.blog-post-actions a:hover{color:var(--accent-text)}.markdown-content{line-height:var(--leading-relaxed);color:var(--text-primary)}.markdown-content>*:first-child{margin-block-start:0}.markdown-content>*:last-child{margin-block-end:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-block:var(--space-8) var(--space-4)}.markdown-content h1{font-size:var(--text-4xl)}.markdown-content h2{font-size:var(--text-3xl)}.markdown-content h3{font-size:var(--text-2xl)}.markdown-content h4{font-size:var(--text-xl)}.markdown-content p{margin-block:0 var(--space-4)}.markdown-content ul,.markdown-content ol{margin-block:0 var(--space-4);padding-inline-start:var(--space-5)}.markdown-content li{margin-block-end:var(--space-2)}.markdown-content blockquote{margin-block:0 var(--space-4);margin-inline:0;padding-inline-start:var(--space-4);border-inline-start:3px solid var(--border-strong);color:var(--text-secondary);font-style:italic}.markdown-content img{border-radius:var(--radius-md);margin-block:var(--space-4)}.markdown-content hr{border:none;border-block-start:1px solid var(--border-default);margin-block:var(--space-8)}.markdown-content table{width:100%;border-collapse:collapse;margin-block:0 var(--space-4);font-size:var(--text-sm)}.markdown-content table th,.markdown-content table td{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);text-align:start}.markdown-content table th{background-color:var(--surface-raised);font-weight:var(--font-semibold)}.markdown-content a{color:var(--accent-text)}.markdown-content a:hover{color:var(--accent-hover)}.markdown-content .mermaid-diagram{margin-block:0 var(--space-4);padding:var(--space-4);background-color:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow-x:auto;text-align:center}.markdown-content .mermaid-diagram svg{max-width:100%;height:auto}}@layer components{.hl-keyword{color:var(--hl-keyword)}.hl-type{color:var(--hl-type)}.hl-property{color:var(--hl-property)}.hl-value{color:var(--hl-value)}.hl-comment{color:var(--hl-comment);font-style:italic}.hl-variable{color:var(--hl-variable)}.hl-injection{color:var(--hl-type)}.hl-addition{color:var(--hl-value);background-color:rgb(from var(--hl-value) r g b / .1)}.hl-deletion{color:var(--hl-variable);background-color:rgb(from var(--hl-variable) r g b / .1)}.hl-blur{opacity:.4}pre[data-lang]{position:relative}pre[data-lang]:after{content:attr(data-lang);position:absolute;inset-block-start:var(--space-2);inset-inline-end:var(--space-3);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);pointer-events:none}}@layer components{.closing-cta{padding-block:var(--space-10);text-align:center}@media(min-width:768px){.closing-cta{padding-block:var(--space-12)}}.closing-cta p{max-width:var(--content-width);margin-inline:auto;margin-block:0 var(--space-6);font-size:var(--text-xl);line-height:var(--leading-normal);color:var(--text-secondary);text-wrap:balance}@media(min-width:768px){.closing-cta p{font-size:var(--text-2xl)}}}@layer components{.about-intro{padding-block:var(--space-10) var(--space-8)}@media(min-width:768px){.about-intro{padding-block:var(--space-12) var(--space-10)}}.about-intro h1{margin-block:0 var(--space-6)}.about-philosophy,.about-founder{padding-block:var(--space-8);border-block-start:1px solid var(--border-subtle)}@media(min-width:768px){.about-philosophy,.about-founder{padding-block:var(--space-10)}}:is(.about-philosophy,.about-founder) h2{margin-block:0 var(--space-6)}.about-prose p{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--text-secondary);margin-block:0 var(--space-4)}.about-prose p:last-child{margin-block-end:0}@media(min-width:768px){.about-prose p{font-size:var(--text-xl)}}.about-prose strong{color:var(--text-primary);font-weight:var(--font-semibold)}.about-prose em{color:var(--text-muted);font-style:italic}}@layer components{.contact-page{padding-block:var(--space-10) var(--space-16)}@media(min-width:768px){.contact-page{padding-block:var(--space-12) var(--space-16)}}.contact-page h1{margin-block:0 var(--space-4)}.contact-intro{font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--text-secondary);margin-block:0 var(--space-8)}@media(min-width:768px){.contact-intro{font-size:var(--text-xl)}}.contact-success{background-color:var(--accent-surface);border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);margin-block:var(--space-4) 0}.contact-success p{margin:0;font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-primary)}.contact-form{display:flex;flex-direction:column;gap:var(--space-5);max-width:var(--container-sm);margin-inline:auto}.form-required-note{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);letter-spacing:var(--tracking-wide);text-transform:uppercase}.form-field input,.form-field textarea{padding:var(--space-3) var(--space-4);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}:is(.form-field input,.form-field textarea)::placeholder{color:var(--text-muted)}:is(.form-field input,.form-field textarea):focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-surface)}:is(.form-field input,.form-field textarea)[aria-invalid=true]{border-color:var(--danger)}:is(.form-field input,.form-field textarea)[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 15%,transparent)}.form-field textarea{resize:vertical;min-height:8rem}.form-error{margin:0;font-size:var(--text-sm);color:var(--danger)}.contact-response-time{margin-block:var(--space-2) 0;font-size:var(--text-sm);color:var(--text-muted);text-align:center}}@layer components{.search-results{padding-block:var(--space-10)}@media(min-width:768px){.search-results{padding-block:var(--space-12)}}.search-results h1{font-size:var(--text-4xl);margin-block-end:var(--space-5)}.search-form{display:flex;gap:var(--space-3);margin-block-end:var(--space-5)}.search-form input[type=search]{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--text-base);background-color:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-default)}.search-form input[type=search]:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.search-form button{padding:var(--space-2) var(--space-5);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-inverse);background-color:var(--accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default)}.search-form button:hover{background-color:var(--accent-hover)}.search-form button:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.search-count{color:var(--text-secondary);font-size:var(--text-sm);margin-block-end:var(--space-5)}.search-result-list{display:flex;flex-direction:column;gap:var(--space-4)}.search-result{border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.search-result:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.search-result-link{display:block;padding:var(--space-4);text-decoration:none;color:inherit}.search-result-link h2{font-size:var(--text-xl);margin-block-end:var(--space-1);color:var(--text-primary)}.search-result-link time{display:block;font-size:var(--text-sm);color:var(--text-muted);margin-block-end:var(--space-2)}.search-result-link p{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.search-result-link mark{background-color:var(--accent-surface);color:var(--accent-text);padding-inline:.15em;border-radius:var(--radius-sm)}.search-result-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:var(--space-2) 0 0}.search-result-tags li{font-size:var(--text-xs);color:var(--text-muted);background-color:var(--surface-raised);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);border:1px solid var(--border-subtle)}.search-empty{padding:var(--space-8) 0;text-align:center;color:var(--text-secondary)}.search-empty a{color:var(--accent-text)}.nav-search,.mobile-nav-search{position:relative}.search-dropdown{position:absolute;inset-block-start:100%;inset-inline:0;min-width:var(--container-xs);background-color:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);margin-block-start:var(--space-1);overflow:hidden}.search-dropdown-item{display:block;padding:var(--space-2) var(--space-3);text-decoration:none;color:var(--text-primary);transition:background-color var(--duration-fast) var(--ease-default)}.search-dropdown-item:hover,.search-dropdown-item.active{background-color:var(--hover-surface)}.search-dropdown-title{display:block;font-size:var(--text-sm);font-weight:var(--font-medium)}.search-dropdown-date{display:block;font-size:var(--text-xs);color:var(--text-muted)}.search-dropdown-all{display:block;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--accent-text);text-align:center;text-decoration:none;border-block-start:1px solid var(--border-subtle)}.search-dropdown-all:hover{background-color:var(--hover-surface)}}@layer components{.pagination{margin-block-start:var(--space-8);display:flex;justify-content:center}.pagination ul{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-1);list-style:none;margin:0;padding:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);background-color:var(--surface-raised);box-shadow:var(--shadow-xs)}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;height:2.75rem;padding-inline:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-none);border-radius:var(--radius-lg);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.pagination a{color:var(--text-secondary)}.pagination a:hover{background-color:var(--hover-surface);color:var(--text-primary)}.pagination a:active{background-color:var(--active-surface)}.pagination a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px;box-shadow:none}.pagination [aria-disabled=true] span{color:var(--text-muted);cursor:default}.pagination-page[aria-current=page] span{background-color:var(--accent-surface);color:var(--accent-text);font-weight:var(--font-semibold)}.pagination-ellipsis span{color:var(--text-muted);min-width:auto;padding-inline:var(--space-1);letter-spacing:.1em}:is(.pagination-prev,.pagination-next) a,:is(.pagination-prev,.pagination-next) span{padding-inline:var(--space-3);gap:var(--space-1);font-weight:var(--font-medium)}.pagination-prev{margin-inline-end:var(--space-1)}.pagination-prev a,.pagination-prev span{padding-inline-start:var(--space-2)}.pagination-next{margin-inline-start:var(--space-1)}.pagination-next a,.pagination-next span{padding-inline-end:var(--space-2)}@media not (min-width:480px){.pagination ul{gap:0}.pagination a,.pagination span{min-width:2.5rem;height:2.5rem;padding-inline:var(--space-1);font-size:var(--text-xs)}.pagination-prev a,.pagination-prev span,.pagination-next a,.pagination-next span{padding-inline:var(--space-2)}}}@layer components{.training-catalog{padding-block:var(--space-10) var(--space-16)}@media(min-width:768px){.training-catalog{padding-block:var(--space-12) var(--space-16)}}.training-catalog h1{margin-block:0 var(--space-6)}@media(min-width:768px){.training-catalog h1{margin-block-end:var(--space-8)}}.course-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:640px){.course-grid{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:var(--space-5)}}.course-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--surface-raised);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),background-color var(--duration-normal) var(--ease-default)}.course-card h2{margin:0;font-size:var(--text-2xl)}.course-card h2 a{text-decoration:none;color:inherit}.course-card h2 a:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}.course-card h2 a:focus-visible{outline:none}.course-card h2 a:focus-visible:after{outline:2px solid var(--focus-ring-color);outline-offset:2px}.course-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.course-tagline{margin:0;color:var(--text-secondary);line-height:var(--leading-normal)}.course-format{display:inline-block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-muted);padding:var(--space-1) var(--space-3);background-color:var(--surface-sunken);border-radius:var(--radius-full);border:1px solid var(--border-subtle);line-height:var(--leading-normal)}.course-format[data-format=cohort]{color:var(--accent-text);background-color:var(--accent-surface);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.course-format[data-format=self_paced]{color:var(--warning);background-color:color-mix(in srgb,var(--warning) 10%,transparent);border-color:color-mix(in srgb,var(--warning) 25%,transparent)}.training-empty{margin:0;padding:var(--space-8) var(--space-5);text-align:center;color:var(--text-muted);font-size:var(--text-lg);border:2px dashed var(--border-default);border-radius:var(--radius-lg)}}@layer components{.course-detail{padding-block:var(--space-10) var(--space-16)}@media(min-width:768px){.course-detail{padding-block:var(--space-12) var(--space-16)}}.course-detail h1{margin-block:var(--space-4) var(--space-3)}.back-link{display:inline-block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}.back-link:hover{color:var(--accent-hover)}.back-link:active{color:var(--accent)}.back-link:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.course-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-block:var(--space-4) var(--space-8)}.course-price{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.course-dates{font-size:var(--text-sm);color:var(--text-secondary)}.course-description{max-width:var(--content-width);margin-block-end:var(--space-8);color:var(--text-secondary);line-height:var(--leading-normal)}.course-description p{margin-block:0 var(--space-4)}.course-description p:last-child{margin-block-end:0}.course-description h2,.course-description h3,.course-description h4{margin-block:var(--space-6) var(--space-3);color:var(--text-primary)}.course-description ul,.course-description ol{margin-block:var(--space-3) var(--space-4);padding-inline-start:var(--space-5)}.course-description li{margin-block-end:var(--space-2)}.course-outline{margin-block-end:var(--space-8)}.course-outline h2{margin-block:0 var(--space-4)}.lesson-list{margin:0;padding-inline-start:var(--space-5);color:var(--text-secondary);line-height:var(--leading-normal)}.lesson-list li{margin-block-end:var(--space-2);padding-inline-start:var(--space-2)}.lesson-list li:last-child{margin-block-end:0}.lesson-list-date{font-size:var(--text-xs);color:var(--text-muted);margin-inline-start:var(--space-2)}.course-enrolled-cta{margin-block-start:var(--space-8)}.course-guest-cta{margin-block-start:var(--space-8);padding:var(--space-6);border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--surface-raised);text-align:center}.course-guest-cta h2{margin-block:0 var(--space-3)}.course-guest-cta p{margin-block:0 var(--space-4);color:var(--text-secondary)}.course-guest-login{margin-block-start:var(--space-4);font-size:var(--text-sm);color:var(--text-muted)}.course-guest-login a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}}@layer components{.inquiry-success{background-color:color-mix(in srgb,var(--success) 10%,transparent);border:1px solid var(--success);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);margin-block-start:var(--space-8)}.inquiry-success p{margin:0;font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-primary)}.inquiry-form{display:flex;flex-direction:column;gap:var(--space-5);max-width:var(--container-sm);margin-block-start:var(--space-8);padding-block-start:var(--space-8);border-block-start:1px solid var(--border-default)}.inquiry-form h2{margin:0;font-size:var(--text-2xl)}.form-optional{font-weight:var(--font-normal);text-transform:none;letter-spacing:var(--tracking-normal);color:var(--text-muted)}}@layer components{.student-auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100dvh - 4rem);padding:var(--space-4)}.student-auth-card{width:100%;max-width:28rem;background-color:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:background-color var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default)}.student-auth-card h1{font-size:var(--text-2xl);margin-block:0 var(--space-5);text-align:center}.student-auth-card form{display:flex;flex-direction:column;gap:var(--space-5)}.student-alert{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-block-end:var(--space-4);font-size:var(--text-sm)}.student-alert p{margin:0}.student-alert p+p{margin-block-start:var(--space-1)}.student-alert-error{background-color:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid var(--danger);color:var(--danger)}.student-field{display:flex;flex-direction:column;gap:var(--space-2)}.student-field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.student-field input[type=text],.student-field input[type=email],.student-field input[type=password]{padding:var(--space-3) var(--space-4);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--surface-page);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}:is(.student-field input[type=text],.student-field input[type=email],.student-field input[type=password])::placeholder{color:var(--text-muted)}:is(.student-field input[type=text],.student-field input[type=email],.student-field input[type=password]):focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-surface)}.student-field-error{margin:0;font-size:var(--text-sm);color:var(--danger)}.student-field input[aria-invalid=true]{border-color:var(--danger)}.student-field-checkbox{flex-direction:row}.student-field-checkbox label{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--text-secondary)}.student-field-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.student-field-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.student-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:var(--space-3) var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--surface-raised);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.student-btn:hover{background-color:var(--hover-surface)}.student-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;box-shadow:var(--focus-ring)}.student-btn-primary{width:100%;background-color:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.student-btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.student-auth-link{margin-block:var(--space-5) 0;font-size:var(--text-sm);color:var(--text-muted);text-align:center}.student-auth-link a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}@media not (min-width:480px){.student-auth-card{padding:var(--space-4);border-radius:var(--radius-md)}}}@layer components{.student-header-auth{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.student-header-name{color:var(--text-secondary);font-weight:var(--font-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:10rem}.student-header-link{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--text-secondary);text-decoration:none;font-weight:var(--font-medium);transition:color var(--duration-fast) var(--ease-default)}.student-header-link:hover{color:var(--accent-text)}.student-header-link:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.student-header-logout button{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;min-height:2.75rem;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.student-header-logout button:hover{color:var(--text-primary);border-color:var(--border-strong)}.student-header-logout button:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.mobile-student-auth{flex-direction:column;align-items:stretch;gap:var(--space-2);padding-block-start:var(--space-3);margin-block-start:var(--space-2);border-block-start:1px solid var(--border-subtle)}.mobile-student-auth .student-header-name{display:block;padding:var(--space-3) var(--space-4);font-size:var(--text-base);max-width:none;overflow:visible;white-space:normal}.mobile-student-auth a{display:block;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);min-height:2.75rem}.mobile-student-auth a:hover{color:var(--text-primary);background:var(--hover-surface)}.mobile-student-auth a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.mobile-student-auth button{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);text-align:start;border:none;border-radius:var(--radius-md);background:none;color:var(--text-secondary);cursor:pointer;min-height:2.75rem}.mobile-student-auth button:hover{color:var(--text-primary);background:var(--hover-surface)}.mobile-student-auth button:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}@media not (min-width:768px){.site-nav .student-header-auth{display:none}}}@layer components{.student-dashboard{padding-block:var(--space-10) var(--space-16)}@media(min-width:768px){.student-dashboard{padding-block:var(--space-12) var(--space-16)}}.student-dashboard h1{margin-block:0 var(--space-2)}.student-dashboard-welcome{margin-block:0 var(--space-6);color:var(--text-secondary)}@media(min-width:768px){.student-dashboard-welcome{margin-block-end:var(--space-8)}}.enrollment-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:640px){.enrollment-grid{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:var(--space-5)}}.enrollment-card{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--surface-raised);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),background-color var(--duration-normal) var(--ease-default)}.enrollment-card h2{margin:0;font-size:var(--text-2xl)}.enrollment-card h2 a{text-decoration:none;color:inherit}.enrollment-card h2 a:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}.enrollment-card h2 a:focus-visible{outline:none}.enrollment-card h2 a:focus-visible:after{outline:2px solid var(--focus-ring-color);outline-offset:2px}.enrollment-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.enrollment-status{display:inline-flex;align-self:flex-start;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);line-height:var(--leading-normal);color:var(--text-muted);background-color:var(--surface-sunken);border:1px solid var(--border-subtle)}.enrollment-status[data-status=active]{color:var(--success);background-color:color-mix(in srgb,var(--success) 10%,transparent);border-color:color-mix(in srgb,var(--success) 25%,transparent)}.enrollment-status[data-status=completed]{color:var(--accent-text);background-color:var(--accent-surface);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.enrollment-status[data-status=expired]{color:var(--danger);background-color:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.enrollment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.enrollment-continue{position:relative;z-index:1;margin-block-start:auto;width:100%;text-align:center;text-decoration:none;font-size:var(--text-sm)}.enrollment-continue:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;box-shadow:var(--focus-ring)}.enrollment-progress{display:flex;flex-direction:column;gap:var(--space-2)}.progress-bar{height:.5rem;background-color:var(--surface-sunken);border-radius:var(--radius-full);border:1px solid var(--border-subtle);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-full);background-color:var(--accent);transition:width var(--duration-normal) var(--ease-default)}@media(prefers-reduced-motion:reduce){.progress-bar-fill{transition:none}}.progress-label{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--text-muted)}.enrollment-empty{margin:0;padding:var(--space-8) var(--space-5);text-align:center;color:var(--text-muted);font-size:var(--text-lg);border:2px dashed var(--border-default);border-radius:var(--radius-lg)}.enrollment-empty a{font-weight:var(--font-medium)}.enrollment-empty a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}}@layer components{.admin-body{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100dvh;margin:0}.admin-sidebar{background-color:var(--surface-raised);border-right:1px solid var(--border-default);display:flex;flex-direction:column;padding:var(--space-4);position:sticky;top:0;height:100dvh}.admin-sidebar-header{padding-block-end:var(--space-4);border-block-end:1px solid var(--border-subtle);margin-block-end:var(--space-4)}.admin-sidebar-footer{border-block-start:1px solid var(--border-subtle);padding-block-start:var(--space-4)}.admin-logo{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);text-decoration:none}.admin-logo:hover{color:var(--accent-text)}.admin-nav{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.admin-nav a{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.admin-nav a:hover{background-color:var(--hover-surface);color:var(--text-primary)}.admin-nav a[aria-current=page]{background-color:var(--accent-surface);color:var(--accent-text)}.admin-nav-heading{display:block;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:var(--space-2) var(--space-3) var(--space-1);margin-block-start:var(--space-2)}.admin-logout-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);width:100%;text-align:left;border-radius:var(--radius-md)}.admin-logout-btn:hover{background-color:var(--hover-surface);color:var(--danger)}.admin-main{padding:var(--space-6);max-width:var(--container-lg)}.admin-page-header{display:flex;align-items:center;justify-content:space-between;margin-block-end:var(--space-6);gap:var(--space-4)}.admin-page-header h1{font-size:var(--text-2xl);margin:0}.admin-page-actions{display:flex;align-items:center;gap:var(--space-2)}.admin-alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-block-end:var(--space-4);font-size:var(--text-sm)}.admin-alert ul{margin:0;padding-inline-start:var(--space-4)}.admin-alert-success{background-color:color-mix(in srgb,var(--success) 10%,transparent);border:1px solid var(--success);color:var(--success)}.admin-alert-error{background-color:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid var(--danger);color:var(--danger)}.admin-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--surface-raised);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default)}.admin-btn:hover{background-color:var(--hover-surface);color:var(--text-primary)}.admin-btn-primary{background-color:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.admin-btn-primary:hover{background-color:var(--accent-hover);color:var(--text-inverse)}.admin-btn-danger{color:var(--danger);border-color:var(--danger)}.admin-btn-danger:hover{background-color:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.admin-btn-small{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-table th,.admin-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-subtle)}.admin-table th{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.admin-table tbody tr:hover{background-color:var(--hover-surface)}.admin-actions{display:flex;gap:var(--space-2);align-items:center}.admin-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.admin-badge-published{background-color:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.admin-badge-draft{background-color:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.admin-badge-scheduled{background-color:var(--accent-surface);color:var(--accent-text)}.admin-badge-active{background-color:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.admin-badge-expired{background-color:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.admin-badge-format-cohort{background-color:var(--accent-surface);color:var(--accent-text)}.admin-badge-format-self_paced{background-color:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.admin-table-secondary{font-size:var(--text-xs);color:var(--text-muted)}.admin-tag{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);background-color:var(--tag-color, var(--accent));color:var(--text-inverse);margin-inline-end:var(--space-1)}.admin-color-swatch{display:inline-block;width:1em;height:1em;border-radius:var(--radius-sm);vertical-align:middle;border:1px solid var(--border-default)}.admin-form{max-width:var(--container-md)}.admin-form-actions{display:flex;gap:var(--space-3);margin-block-start:var(--space-6);padding-block-start:var(--space-4);border-block-start:1px solid var(--border-subtle)}.admin-field{margin-block-end:var(--space-4)}.admin-field label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-block-end:var(--space-1)}.admin-field input[type=text],.admin-field input[type=email],.admin-field input[type=password],.admin-field input[type=number],.admin-field input[type=date],.admin-field input[type=datetime-local],.admin-field input[type=url],.admin-field textarea,.admin-field select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--surface-page);color:var(--text-primary);font-size:var(--text-sm);font-family:inherit}:is(.admin-field input[type=text],.admin-field input[type=email],.admin-field input[type=password],.admin-field input[type=number],.admin-field input[type=date],.admin-field input[type=datetime-local],.admin-field input[type=url],.admin-field textarea,.admin-field select):focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:1px;border-color:var(--accent)}.admin-field textarea{resize:vertical;font-family:var(--font-mono)}.admin-field select[multiple]{min-height:6rem}.admin-field input[type=color]{width:3rem;height:2rem;padding:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer}.admin-field-checkbox label{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.admin-field-checkbox input[type=checkbox]{width:auto}.admin-field-hint{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--font-normal)}.admin-field-hint.admin-field-hint-spaced{margin-block-end:var(--space-3)}.admin-field-error{font-size:var(--text-xs);color:var(--danger);margin-block-start:var(--space-1);margin-block-end:0}.admin-fieldset{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);margin-block-end:var(--space-4)}.admin-fieldset legend{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);padding-inline:var(--space-2)}.admin-fieldset .admin-field:last-child{margin-block-end:0}.admin-materials-list{display:flex;flex-direction:column;gap:var(--space-3);margin-block-end:var(--space-3)}.admin-materials-row{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-3);align-items:end;padding:var(--space-3);background-color:var(--surface-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.admin-materials-row .admin-field{margin-block-end:0}@media not (min-width:768px){.admin-materials-row{grid-template-columns:1fr}}.admin-materials-remove{align-self:end;margin-block-end:var(--space-1)}@media not (min-width:768px){.admin-materials-remove{justify-self:start;margin-block-end:0}}.admin-editor{border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.admin-editor textarea{border:none;border-radius:0}.admin-editor textarea:focus-visible{outline:none}.admin-editor-toolbar{padding:var(--space-2) var(--space-3);background-color:var(--surface-raised);border-bottom:1px solid var(--border-subtle)}.admin-preview{padding:var(--space-4);min-height:10rem;font-family:var(--font-sans)}.admin-detail-card{background-color:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5)}.admin-detail-list{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-3) var(--space-5)}.admin-detail-list dt{font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-secondary)}.admin-detail-list dd{margin:0;font-size:var(--text-sm)}.admin-detail-message{white-space:pre-wrap}.admin-stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--space-4);margin-block-end:var(--space-6)}.admin-stat-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-5);background-color:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-decoration:none;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.admin-stat-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.admin-stat-value{font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:1;color:var(--text-primary)}.admin-stat-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.admin-dashboard-links{display:flex;flex-direction:column;gap:var(--space-6)}.admin-link-group h2{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-block:0 var(--space-3)}.admin-link-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--space-3)}.admin-link-card{display:flex;align-items:center;padding:var(--space-3) var(--space-4);background-color:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.admin-link-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);color:var(--accent-text)}.admin-login-page{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:var(--space-4)}.admin-login-card{width:100%;max-width:var(--container-sm);background-color:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6)}.admin-login-card h1{font-size:var(--text-xl);margin-block:0 var(--space-5);text-align:center}@media not (min-width:768px){.admin-body{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3)}.admin-sidebar-header{border-block-end:none;margin-block-end:0;padding-block-end:0}.admin-nav{flex-direction:row;flex:initial}.admin-nav-heading{display:none}.admin-sidebar-footer{border-block-start:none;padding-block-start:0;margin-inline-start:auto}.admin-main{padding:var(--space-4)}.admin-table{display:block;overflow-x:auto}}}@layer components{.lesson-view{padding-block:var(--space-8) var(--space-16)}@media(min-width:768px){.lesson-view{padding-block:var(--space-10) var(--space-16)}}.lesson-layout{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:1024px){.lesson-layout{grid-template-columns:1fr var(--sidebar-width);gap:var(--space-8);align-items:start}}.lesson-main{min-width:0}.lesson-main h1{margin-block:0 var(--space-2)}.lesson-header{margin-block-end:var(--space-6)}.lesson-course-title{display:inline-flex;align-items:center;min-height:2.75rem;margin-block-end:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-muted)}.lesson-video{margin-block-end:var(--space-6);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--surface-sunken);border:1px solid var(--border-subtle)}.lesson-video iframe{display:block;width:100%;aspect-ratio:16 / 9;border:none}.lesson-content{max-width:var(--content-width);color:var(--text-secondary);line-height:var(--leading-normal)}.lesson-content p{margin-block:0 var(--space-4)}.lesson-content p:last-child{margin-block-end:0}.lesson-content h2,.lesson-content h3,.lesson-content h4{margin-block:var(--space-6) var(--space-3);color:var(--text-primary)}.lesson-content ul,.lesson-content ol{margin-block:var(--space-3) var(--space-4);padding-inline-start:var(--space-5)}.lesson-content li{margin-block-end:var(--space-2)}.lesson-content img{border-radius:var(--radius-md);margin-block:var(--space-4)}.lesson-content blockquote{margin-block:var(--space-4);margin-inline:0;padding-inline-start:var(--space-4);border-inline-start:3px solid var(--accent);color:var(--text-muted);font-style:italic}.lesson-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-block-start:var(--space-8);padding-block-start:var(--space-6);border-block-start:1px solid var(--border-default)}.lesson-complete-btn,.lesson-status-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);min-height:2.75rem;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-inverse);border-radius:var(--radius-lg)}.lesson-complete-btn{background-color:var(--accent);border:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.lesson-complete-btn:hover{background-color:var(--accent-hover);box-shadow:var(--shadow-sm)}.lesson-complete-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;box-shadow:var(--focus-ring)}.lesson-complete-btn[aria-pressed=true]{background-color:var(--success);cursor:default}.lesson-status-badge{background-color:var(--success)}.lesson-nav{display:flex;gap:var(--space-3)}.lesson-nav-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-decoration:none;border:1px solid var(--border-default);border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default)}.lesson-nav-link:hover{color:var(--accent-text);border-color:var(--accent);background-color:var(--accent-surface)}.lesson-nav-link:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;box-shadow:var(--focus-ring)}.lesson-nav-link[aria-disabled=true]{color:var(--text-muted);border-color:var(--border-subtle);background-color:transparent;pointer-events:none;opacity:.5}.lesson-sidebar{display:flex;flex-direction:column;gap:var(--space-5)}@media(min-width:1024px){.lesson-sidebar{position:sticky;inset-block-start:var(--space-6)}}.lesson-sidebar-panel{padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--surface-raised);transition:background-color var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default)}.lesson-sidebar-panel h2{margin-block:0 var(--space-3);font-size:var(--text-lg);font-weight:var(--font-semibold)}.lesson-outline{list-style:none;margin:0;padding:0}.lesson-outline-item{border-radius:var(--radius-md)}.lesson-outline-item a{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default);min-height:2.75rem}.lesson-outline-item a:hover{color:var(--accent-text);background-color:var(--hover-surface)}.lesson-outline-item a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.lesson-outline-item[aria-current=page] a{color:var(--accent-text);font-weight:var(--font-medium);background-color:var(--accent-surface)}.lesson-outline-status{flex-shrink:0;width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--text-xs);border:1.5px solid var(--border-default);color:transparent;background-color:transparent;transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.lesson-outline-status[data-completed]{background-color:var(--success);border-color:var(--success);color:var(--text-inverse)}.lesson-materials{list-style:none;margin:0;padding:0}.lesson-materials li{border-block-end:1px solid var(--border-subtle)}.lesson-materials li:last-child{border-block-end:none}.lesson-materials a{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);min-height:2.75rem;transition:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default)}.lesson-materials a:hover{color:var(--accent-text);background-color:var(--hover-surface)}.lesson-materials a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.lesson-material-icon{flex-shrink:0;width:1rem;height:1rem;color:var(--text-muted)}.lesson-locked-notice{padding:var(--space-6);border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--surface-raised);margin-block-end:var(--space-6)}.lesson-locked-heading{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-block:0 var(--space-2)}.lesson-locked-notice p{margin-block:0 var(--space-2);color:var(--text-secondary)}.lesson-locked-notice p:last-child{margin-block-end:0}.lesson-locked-meet a{color:var(--accent-text);word-break:break-all}.lesson-meet-link{margin-block-end:var(--space-4);font-size:var(--text-sm)}.lesson-meet-link a{color:var(--accent-text);font-weight:var(--font-medium);text-decoration:none}.lesson-meet-link a:hover{text-decoration:underline}.lesson-meet-link a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.lesson-outline-locked{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-muted);cursor:default;min-height:2.75rem}.lesson-outline-date{margin-inline-start:auto;font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.lesson-outline-item[data-locked]{opacity:.6}}@layer reset{*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{flex:1}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}}@layer base{body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);background-color:var(--surface-page);color:var(--text-primary);transition:var(--theme-transition)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl);font-weight:var(--font-semibold)}h6{font-size:var(--text-lg);font-weight:var(--font-semibold);letter-spacing:var(--tracking-normal)}a{color:var(--accent-text);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.15em;transition:color var(--duration-fast) var(--ease-default),text-decoration-color var(--duration-fast) var(--ease-default)}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}a:active{color:var(--accent)}code,kbd,samp{font-family:var(--font-mono);font-size:.875em;background-color:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.1em .35em}kbd{border-color:var(--border-default);box-shadow:inset 0 -1px 0 var(--border-default)}pre{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed);background-color:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);overflow-x:auto}pre code{background:none;border:none;border-radius:0;padding:0;font-size:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;inset-block-start:-100%;inset-inline-start:var(--space-4);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-inverse);background-color:var(--accent);border-radius:var(--radius-md);text-decoration:none}.skip-link:focus-visible{inset-block-start:var(--space-2)}:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;box-shadow:var(--focus-ring)}:focus:not(:focus-visible){outline:none;box-shadow:none}.page-section{max-width:var(--container-xl);margin-inline:auto;padding-inline:var(--space-4)}@media(min-width:768px){.page-section{padding-inline:var(--space-6)}}[x-cloak]{display:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}
