@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400;1,9..40,500&display=swap";.blog-post{font-family:DM Sans,system-ui,sans-serif;font-size:16px;line-height:1.8;color:#3b3a50;max-width:680px}.blog-post h2{font-size:24px;font-weight:700;color:#0f0e1b;margin:40px 0 16px;letter-spacing:-.01em}.blog-post h3{font-size:20px;font-weight:600;color:#0f0e1b;margin:32px 0 12px}.blog-post p{margin:0 0 16px}.blog-post strong{color:#0f0e1b;font-weight:600}.blog-post a{color:#584ee9;text-decoration:underline;text-underline-offset:2px}.blog-post ul,.blog-post ol{margin:0 0 16px;padding-left:24px}.blog-post li{margin-bottom:6px}.blog-post blockquote{border-left:3px solid hsl(244,78%,61%);padding:12px 20px;margin:24px 0;background:#ffffff80;border-radius:0 8px 8px 0;font-style:italic;color:#5b5973}.blog-post pre{background:#0f0e1b;border-radius:10px;padding:20px 24px;overflow-x:auto;margin:24px 0;font-size:14px;line-height:1.6;position:relative}.blog-post pre .copy-btn{position:absolute;top:8px;right:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#999;font-family:DM Mono,monospace;font-size:11px;padding:4px 10px;border-radius:6px;cursor:pointer;opacity:0;transition:opacity .2s ease,background .2s ease}.blog-post pre:hover .copy-btn{opacity:1}.blog-post pre .copy-btn:hover{background:#fff3;color:#fff}.blog-post code{font-family:DM Mono,monospace;font-size:.9em}.blog-post :not(pre)>code{background:#0000000f;padding:2px 6px;border-radius:4px;color:#0f0e1b}.blog-post img{max-width:100%;height:auto;border-radius:10px;margin:24px 0}.blog-post hr{border:none;border-top:1px solid hsla(244,30%,8%,.1);margin:32px 0}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--background: hsl(40, 15%, 90%);--foreground: hsl(244, 30%, 8%);--primary: hsl(244, 78%, 61%)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);font-family:DM Sans,system-ui,sans-serif;color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}::selection{background:#584ee92e}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:#0f0e1b1f;border-radius:3px}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}button:active{transform:scale(.98)}.card-hover{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f;border-color:#0f0e1b1f}.dark-card-hover{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dark-card-hover:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0000004d;border-color:#ffffff1f}.footer-link{transition:color .2s ease}.footer-link:hover{color:#fff!important}.nav-link{transition:font-variation-settings .15s ease,border-color .2s ease;font-variation-settings:"wght" 500}.nav-link:hover{font-variation-settings:"wght" 700}.btn-primary{transition:transform .2s ease,box-shadow .2s ease}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0f0e1b40}.btn-outline{transition:transform .2s ease,background .2s ease,border-color .2s ease}.btn-outline:hover{transform:translateY(-1px);background:#0f0e1b0a}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}70%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}.timeline-dot{position:relative}.timeline-dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:inherit;animation:pulse-ring 2.5s ease-out infinite}@keyframes blink{50%{opacity:0}}.gradient-glow{transition:filter .3s ease}.gradient-glow:hover{filter:brightness(1.15) drop-shadow(0 0 8px hsla(244,78%,61%,.3))}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.logo-gradient{background-size:200% 200%;animation:gradient-shift 6s ease infinite}@keyframes rotate-gradient{0%{--angle: 0deg}to{--angle: 360deg}}@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.rotating-border{position:relative;overflow:hidden}.rotating-border:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:conic-gradient(from var(--angle),hsl(244,78%,61%),hsl(174,100%,37%),hsl(21,86%,57%),hsl(244,78%,61%));animation:rotate-gradient 4s linear infinite;z-index:-1}@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.shimmer-border{background-size:200% 200%;transition:transform .2s ease,box-shadow .2s ease}.shimmer-border:hover{animation:shimmer 3s ease infinite;transform:translateY(-2px);box-shadow:0 12px 32px #0000004d}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-track:hover{animation-play-state:paused}.highlight-draw{background:linear-gradient(90deg,#584ee926,#00bdaa26);background-size:0% 40%;background-repeat:no-repeat;background-position:0 90%;transition:background-size .6s ease}.highlight-draw.is-visible{background-size:100% 40%}@media(pointer:coarse){.cursor-glow{display:none!important}}.nav-progress{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(90deg,#584ee9,#00bdaa);transition:width .1s linear}@keyframes hint-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.deliverables-hint{animation:hint-bounce 1.5s ease-in-out infinite;display:inline-block}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
