@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,400..700;1,400..700&family=Space+Grotesk:wght@400;500;600;700&display=swap";.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.header[data-astro-cid-ctg3m53h]{z-index:100;position:fixed;top:0;left:0;width:100%;height:var(--sl-nav-height, 3.5rem);border-bottom:1px solid rgba(255,255,255,.08);padding:0 var(--sl-nav-pad-x, 1.5rem);background-color:#0a0c10d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-sizing:border-box}.header-inner[data-astro-cid-ctg3m53h]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}.header-left[data-astro-cid-ctg3m53h]{display:flex;align-items:center;flex-shrink:0;white-space:nowrap;z-index:2}.site-title[data-astro-cid-ctg3m53h]{font-family:"Space Grotesk",var(--sl-font, sans-serif);font-size:1.05rem;font-weight:700;color:var(--pma-neon-lime, #8af868);text-decoration:none;white-space:nowrap}.site-title[data-astro-cid-ctg3m53h]:hover{text-decoration:none;color:var(--pma-neon-lime, #8af868)}.header-tagline[data-astro-cid-ctg3m53h]{display:none;font-family:"Space Grotesk",var(--sl-font-sans, sans-serif);font-size:.82rem;font-weight:500;color:var(--pma-unified-periwinkle, #8386f5);padding-left:.85rem;margin-left:.85rem;border-left:1px solid rgba(131,134,245,.35);white-space:nowrap;letter-spacing:.01em}@media(min-width:72rem){.header-tagline[data-astro-cid-ctg3m53h]{display:inline-block}}.desktop-nav[data-astro-cid-ctg3m53h]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:.25rem;height:2.15rem;white-space:nowrap;z-index:1;pointer-events:auto}.nav-link[data-astro-cid-ctg3m53h]{position:relative;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-width:4.85rem;height:100%;padding:0 .85rem;box-sizing:border-box;font-family:"Space Grotesk",var(--sl-font-sans, sans-serif);font-size:.88rem;font-weight:600;color:var(--sl-color-gray-3, #94a3b8);text-decoration:none;white-space:nowrap;user-select:none;transition:color .15s ease,opacity .1s ease}.nav-link[data-astro-cid-ctg3m53h]:active{opacity:.8}.nav-link[data-astro-cid-ctg3m53h].active{color:#fff}.desktop-nav[data-astro-cid-ctg3m53h]:not(.js-ready)[data-active-index="0"] .nav-link[data-astro-cid-ctg3m53h][data-index="0"]:after,.desktop-nav[data-astro-cid-ctg3m53h]:not(.js-ready)[data-active-index="1"] .nav-link[data-astro-cid-ctg3m53h][data-index="1"]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--pma-neon-lime, #8af868);box-shadow:0 0 10px #8af868b3;border-radius:2px}.nav-slider-bar[data-astro-cid-ctg3m53h]{position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--pma-neon-lime, #8af868);box-shadow:0 0 10px #8af868b3;border-radius:2px;pointer-events:none;opacity:0;transform:translate(0);will-change:transform,width;z-index:2}.header-right[data-astro-cid-ctg3m53h]{display:flex;align-items:center;flex-shrink:0;margin-left:auto;z-index:2}.social-icons[data-astro-cid-ctg3m53h]{display:flex;align-items:center;gap:1rem}.social-link[data-astro-cid-ctg3m53h]{padding:.5em;margin:-.5em;display:inline-flex;align-items:center;text-decoration:none;transition:transform .1s ease,opacity .1s ease}.social-link[data-astro-cid-ctg3m53h]:active{transform:scale(.92);opacity:.85}.github-social-link[data-astro-cid-ctg3m53h]{color:#e6edf3!important;filter:drop-shadow(0 0 6px rgba(230,237,243,.25))}.kofi-social-link[data-astro-cid-ctg3m53h]{color:#ff5e5b!important;filter:drop-shadow(0 0 6px rgba(255,94,91,.4))}.sr-only[data-astro-cid-ctg3m53h]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:48rem){.site-title[data-astro-cid-ctg3m53h] span[data-astro-cid-ctg3m53h]{font-size:.95rem}.desktop-nav[data-astro-cid-ctg3m53h]{position:static;transform:none;margin:0 auto}}:root,:root[data-theme=dark],:root[data-theme=light]{color-scheme:dark!important;scrollbar-gutter:stable;--side-fade: 15%;--bg-app: #050608;--p-bg: 5, 6, 8;--p-accent-1: 138, 248, 104;--p-accent-2: 131, 134, 245;--p-surface-light: 96, 101, 213;--sl-color-bg: #050608;--sl-color-bg-nav: rgba(10, 12, 16, .82);--sl-color-bg-sidebar: #0e0f12;--sl-color-bg-inline-code: #161b22;--sl-color-card: #0e0f12;--sl-color-hairline: rgba(255, 255, 255, .08);--pma-neon-lime: #8af868;--pma-unified-periwinkle: #8386f5;--pma-bright-periwinkle: #8386f5;--pma-electric-periwinkle: #6065d5;--pma-coral: #d66360;--pma-cyber-yellow: #facc15;--pma-obsidian-void: #050608;--pma-carbon-console: #0e0f12;--accent-primary: #8af868;--accent-secondary: #8386f5;--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1.5rem;--sl-nav-pad-y: .75rem;--radius-panel: 4px;--radius-sm: 2px;--radius-pill: 4px;--sl-border-radius: 4px;--sl-color-accent: #8386f5;--sl-color-accent-high: #f1f5f9;--sl-color-accent-low: rgba(131, 134, 245, .14);--sl-color-white: #f8fafc;--sl-color-gray-1: #e2e8f0;--sl-color-gray-2: #cbd5e1;--sl-color-gray-3: #94a3b8;--sl-color-gray-4: #64748b;--sl-color-gray-5: #334155;--sl-color-gray-6: #1e293b;--sl-color-black: #050608;--sl-color-text: #f1f5f9;--sl-color-text-muted: #94a3b8;--sl-font: "Space Grotesk", system-ui, -apple-system, sans-serif;--sl-font-sans: "Space Grotesk", system-ui, -apple-system, sans-serif;--sl-font-mono: "JetBrains Mono", monospace}html{background-color:#050608;color-scheme:dark}html,body{overflow-x:hidden;max-width:100%}body{margin:0;background-color:transparent!important;color:#f1f5f9;font-family:var(--sl-font-sans);position:relative;min-height:100vh;--side-fade: 5%}@media(min-width:768px){body{--side-fade: 5%}}@media(min-width:1024px){body{--side-fade: 8%}}body:after{content:"";position:fixed;inset:-100px;background-color:var(--bg-app);z-index:-2;pointer-events:none}body:before{content:"";position:fixed;top:-16px;left:0;width:100%;height:calc(100% + 16px);z-index:-1;pointer-events:none;background-image:linear-gradient(to right,var(--bg-app) 0%,rgba(5,6,8,0) 18%,rgba(5,6,8,0) 82%,var(--bg-app) 100%),linear-gradient(to bottom,#05060800,#8386f529 18%,rgba(var(--p-accent-1),.65) 85%,rgba(var(--p-accent-1),0));-webkit-mask-image:url(/media/wave_grid_inverted.svg);-webkit-mask-size:cover;-webkit-mask-position:center bottom;-webkit-mask-repeat:no-repeat;mask-image:url(/media/wave_grid_inverted.svg);mask-size:cover;mask-position:center bottom;mask-repeat:no-repeat;opacity:.88;filter:drop-shadow(0 0 10px rgba(var(--p-accent-1),.35))}@media(min-width:50rem){[data-has-hero] .main-frame{max-width:1080px!important;margin-inline:auto!important;width:100%!important;padding-inline:2rem!important}}.main-frame{background:transparent!important;border:none!important;box-shadow:none!important;padding-top:var(--sl-nav-height, 3.5rem)!important}.main-pane,.content-panel{background:transparent!important;border:none!important;box-shadow:none!important}.pagination-links,footer .pagination-links{display:none!important}[data-has-hero] h1#_top,.content-panel:has(#_top):has(+.content-panel .course-header-block),.content-panel:has(#_top):has(+.content-panel .intro-split-grid){display:none!important}.cyber-panel{position:relative!important;border:1px solid transparent!important;border-radius:var(--radius-panel, 4px)!important;background:linear-gradient(#0b0d13,#0b0d13) padding-box,linear-gradient(135deg,var(--accent-secondary, #8386f5) 0%,rgba(131,134,245,.4) 10%,rgba(255,255,255,.12) 25%,rgba(255,255,255,.06) 50%,rgba(255,255,255,.12) 75%,rgba(138,248,104,.45) 90%,var(--accent-primary, #8af868) 100%) border-box!important;box-shadow:0 10px 36px #000000bf,0 0 0 1px #ffffff0d!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;padding:2rem 2.25rem!important;margin-bottom:2rem!important;transition:box-shadow .25s ease,transform .2s ease,filter .25s ease!important}.cyber-panel>:first-child,.cyber-panel>header:first-child,.cyber-panel>h2:first-child,.cyber-panel>h3:first-child{margin-top:0!important}.cyber-panel>:last-child{margin-bottom:0!important}.cyber-panel--periwinkle{--accent-secondary: #8386f5;--accent-primary: #8386f5;background:linear-gradient(#0b0d13,#0b0d13) padding-box,linear-gradient(135deg,#8386f5,#8386f566 10%,#ffffff1f 25%,#ffffff0f,#ffffff1f 75%,#8386f573 90%,#8386f5) border-box!important}.cyber-panel--lime{--accent-secondary: #8af868;--accent-primary: #8af868;background:linear-gradient(#0b0d13,#0b0d13) padding-box,linear-gradient(135deg,#8af868,#8af86866 10%,#ffffff1f 25%,#ffffff0f,#ffffff1f 75%,#8af86873 90%,#8af868) border-box!important}.cyber-panel--yellow{--accent-secondary: #facc15;--accent-primary: #facc15;background:linear-gradient(#0b0d13,#0b0d13) padding-box,linear-gradient(135deg,#facc15,#facc1566 10%,#ffffff1f 25%,#ffffff0f,#ffffff1f 75%,#facc1573 90%,#facc15) border-box!important}.cyber-panel--coral{--accent-secondary: #d66360;--accent-primary: #d66360;background:linear-gradient(#0b0d13,#0b0d13) padding-box,linear-gradient(135deg,#d66360,#d6636066 10%,#ffffff1f 25%,#ffffff0f,#ffffff1f 75%,#d6636073 90%,#d66360) border-box!important}.cyber-card-header{margin-bottom:1.25rem}:is(.card-divider,.header-divider,.track-divider){height:1px!important;width:100%!important;margin-top:.75rem!important;margin-bottom:1.05rem!important}:is(.tagline-badge,.card-top-row,.card-badge-row,.header-badges,.card-badges,.track-badges-row){margin-bottom:1.75rem!important}:is(.card-divider,.header-divider,.track-divider)+:not(:is(.tagline-badge,.card-top-row,.card-badge-row,.header-badges,.card-badges,.track-badges-row)){margin-top:.7rem!important}.btn--lime,:is(.cyber-panel--lime,.card-lime) :is(.card-btn,.course-cta-btn,.btn-primary){background:#8af8681a!important;border:1px solid rgba(138,248,104,.45)!important;color:#f1f5f9!important}.btn--lime:active,:is(.cyber-panel--lime,.card-lime) :is(.card-btn,.course-cta-btn,.btn-primary):active{background:#8af86840!important;border-color:var(--pma-neon-lime, #8af868)!important}.btn--periwinkle,:is(.cyber-panel--periwinkle,.card-periwinkle) :is(.card-btn,.btn-secondary){background:#8386f514!important;border:1px solid rgba(131,134,245,.35)!important;color:#f1f5f9!important}.btn--periwinkle:active,:is(.cyber-panel--periwinkle,.card-periwinkle) :is(.card-btn,.btn-secondary):active{background:#8386f538!important;border-color:var(--pma-unified-periwinkle, #8386f5)!important}.divider-lime{background:linear-gradient(90deg,#8af868 0%,rgba(138,248,104,.45) 50%,rgba(138,248,104,.15) 85%,transparent 100%)!important;box-shadow:0 0 8px #8af86859!important}.divider-periwinkle{background:linear-gradient(90deg,#8386f5 0%,rgba(131,134,245,.45) 50%,rgba(131,134,245,.15) 85%,transparent 100%)!important;box-shadow:0 0 8px #8386f559!important}.cyber-card-title{font-family:var(--sl-font, sans-serif);font-size:1.6rem;font-weight:700;color:var(--sl-color-white, #f8fafc);margin:0;line-height:1.25}@media(max-width:48rem){.cyber-panel{padding:1.5rem 1.25rem!important}}.sl-markdown-content>section,.sl-markdown-content>.sl-card-panel{position:relative!important;border:1px solid transparent!important;border-radius:var(--radius-panel, 4px)!important;background:linear-gradient(#0b0d13,#0b0d13) padding-box,linear-gradient(135deg,#8386f5,#8386f573 12%,#ffffff24 28%,#ffffff0f,#ffffff24 72%,#8af86880 88%,#8af868) border-box!important;box-shadow:0 10px 36px #000000bf,0 0 0 1px #ffffff0d!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;padding:2rem 2.25rem!important;margin-bottom:2rem!important}.sl-markdown-content{color:#f1f5f9}header.header{background:#0a0c10d9!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.btn-primary,.submit-btn{background:#8af86826!important;border:1px solid #8af868!important;color:#8af868!important;box-shadow:0 0 14px #8af86859,inset 0 0 8px #8af86826!important;border-radius:var(--radius-panel, 4px)!important;font-weight:600!important;text-shadow:0 0 8px rgba(138,248,104,.4);text-decoration:none!important}.btn-primary:active,.submit-btn:active{transform:scale(.98)!important;opacity:.9!important}.btn-ghost{background:#0e1016bf!important;border:1px solid rgba(131,134,245,.35)!important;color:#f1f5f9!important;border-radius:var(--radius-panel, 4px)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;text-decoration:none!important}.btn-ghost:active{transform:scale(.98)!important;opacity:.9!important}.section-kicker{color:#8386f5!important;text-shadow:0 0 12px rgba(131,134,245,.5)!important;font-family:var(--sl-font-mono, monospace)!important;letter-spacing:.08em!important}.sl-markdown-content h2:not(.card-title,.cyber-card-title,.cyber-panel h2,.track-heading,.track-surface h2,.panel-title){color:#f8fafc;border-bottom:1px solid rgba(131,134,245,.25)!important;padding-bottom:.4rem}.sl-markdown-content :is(.cyber-panel,.intro-card,.track-surface,.track-header,.syllabus-preview-panel) h2,.sl-markdown-content h2:is(.track-heading,.panel-title,.header-title){border-bottom:none!important;padding-bottom:0!important}.sl-markdown-content h3{color:#f8fafc}.badge,.nav-link,.mobile-nav-link,.tag,.btn,button,input,select,pre,code{border-radius:4px!important}.path-pill,.engine-badge,.role-badge,.engine-tag,.tag,.engine-pill,.vote-chip{border-radius:2px!important}:not(pre)>code{font-family:"JetBrains Mono",var(--sl-font-mono, monospace)!important;font-size:.84em!important;color:var(--pma-neon-lime, #8af868)!important;background:#8af86817!important;border:1px solid rgba(138,248,104,.22)!important;padding:.15rem .42rem!important;border-radius:3px!important;white-space:nowrap}.expressive-code pre,.expressive-code .frame,pre:has(>code){border-radius:4px!important;border:1px solid rgba(255,255,255,.12)!important;background:#080a0f!important;box-shadow:0 4px 20px #00000080!important}.pma-body[data-astro-cid-37fxchfa]{min-height:100vh;display:flex;flex-direction:column;background-color:var(--pma-obsidian-void, #050608);color:var(--sl-color-text, #f1f5f9);font-family:var(--sl-font, "Space Grotesk", system-ui, sans-serif);margin:0;padding:0}.main-frame[data-astro-cid-37fxchfa]{flex:1 0 auto;width:100%;padding-top:var(--sl-nav-height, 3.5rem);box-sizing:border-box}.main-canvas[data-astro-cid-37fxchfa]{width:100%;max-width:1080px;margin:0 auto;padding:2.25rem 2rem 4rem;box-sizing:border-box}@media(max-width:48rem){.main-canvas[data-astro-cid-37fxchfa]{padding:1.5rem 1.25rem 3rem}}.site-footer[data-astro-cid-37fxchfa]{border-top:1px solid rgba(255,255,255,.06);background:#080a0ef5;padding:1.5rem 2rem;margin-top:auto}.footer-inner[data-astro-cid-37fxchfa]{max-width:1080px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-copy[data-astro-cid-37fxchfa]{font-family:var(--sl-font-mono, monospace);font-size:.75rem;color:var(--sl-color-gray-3, #94a3b8)}header.header{view-transition-name:main-site-header!important}::view-transition-group(main-site-header){animation:none!important}::view-transition-old(root){animation:astroFadeOut .12s ease-out both!important}::view-transition-new(root){animation:astroFadeIn .12s ease-in both!important}@keyframes astroFadeOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0}to{opacity:1}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
