@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&family=Space+Grotesk:wght@400;500;600;700&display=swap";.blog-post{font-family:DM Sans,system-ui,sans-serif;font-size:16px;line-height:1.8;color:var(--ink2);max-width:680px}.blog-post h2{font-size:24px;font-weight:700;color:var(--foreground);margin:40px 0 16px;letter-spacing:-.01em}.blog-post h3{font-size:20px;font-weight:600;color:var(--foreground);margin:32px 0 12px}.blog-post p{margin:0 0 16px}.blog-post strong{color:var(--foreground);font-weight:600}.blog-post a{color:var(--primary);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 var(--primary);padding:12px 20px;margin:24px 0;background:var(--card);border-radius:0 8px 8px 0;font-style:italic;color:var(--muted)}.blog-post pre{background:var(--code-bg);border:1px solid var(--border);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:var(--card);padding:2px 6px;border-radius:4px;color:var(--foreground);border:1px solid var(--border)}.blog-post img{max-width:100%;height:auto;border-radius:10px;margin:24px 0}.blog-post hr{border:none;border-top:1px solid var(--border);margin:32px 0}.blog-post table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px}.blog-post th,.blog-post td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}.blog-post th{font-weight:600;color:var(--foreground);font-size:13px;letter-spacing:.02em}.blog-post td{color:var(--ink2)}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(244, 25%, 7%);--foreground: hsl(40, 15%, 92%);--primary: hsl(244, 78%, 68%);--muted: hsl(244, 10%, 58%);--ink2: hsl(244, 10%, 72%);--border: hsla(244, 30%, 92%, .1);--card: rgba(255, 255, 255, .06);--surface2: hsl(244, 22%, 10%);--code-bg: hsl(244, 30%, 4%)}*{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}}@keyframes cy-caret{0%,55%{opacity:1}56%,to{opacity:0}}.cy-caret{animation:cy-caret 1.05s steps(1) infinite}@keyframes cy-scan{0%{transform:translateY(-110%)}to{transform:translateY(2200%)}}.cy-scanframe{position:relative;overflow:hidden}.cy-scanframe:after{content:"";position:absolute;left:0;right:0;top:0;height:6%;background:linear-gradient(180deg,transparent,rgba(33,243,224,.18),transparent);animation:cy-scan 7s linear infinite;pointer-events:none}.cy-lines:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:repeating-linear-gradient(0deg,#05060d00,#05060d00 2px,#05060d59,#05060d00 4px);mix-blend-mode:overlay;opacity:.5}@keyframes cy-flicker{0%,92%,to{opacity:1}93%{opacity:.35}95%{opacity:1}97%{opacity:.5}}.cy-live{animation:cy-flicker 3.5s linear infinite}@keyframes cy-reticle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cy-btn{position:relative;font-family:Space Grotesk,DM Sans,sans-serif;font-weight:600;letter-spacing:.01em;cursor:pointer;border-radius:8px;padding:14px 22px;font-size:15px;transition:transform .18s ease,box-shadow .25s ease,background .25s ease,color .25s ease}.cy-btn-primary{color:#05060d;border:none;background:linear-gradient(120deg,#21f3e0,#6a5cff);box-shadow:0 0 0 1px #21f3e066,0 0 22px #21f3e047}.cy-btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #21f3e099,0 0 34px #21f3e080}.cy-btn-ghost{color:#e8ecff;background:#6a5cff0f;border:1px solid rgba(106,92,255,.4)}.cy-btn-ghost:hover{transform:translateY(-2px);border-color:#21f3e0;box-shadow:0 0 22px #21f3e038;color:#21f3e0}.cy-card{position:relative;background:#10142c8c;border:1px solid rgba(106,92,255,.16);border-radius:12px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .2s ease,border-color .2s ease,box-shadow .25s ease}.cy-card:hover{transform:translateY(-3px);border-color:#21f3e073;box-shadow:0 0 30px #21f3e01f}.cy-card:before,.cy-card:after{content:"";position:absolute;width:12px;height:12px;pointer-events:none;border-color:#21f3e08c;border-style:solid}.cy-card:before{top:8px;left:8px;border-width:1px 0 0 1px}.cy-card:after{bottom:8px;right:8px;border-width:0 1px 1px 0}@keyframes cy-glitch-x{0%,to{clip-path:inset(0 0 0 0);transform:translate(0)}20%{clip-path:inset(0 0 62% 0);transform:translate(-2px)}40%{clip-path:inset(58% 0 0 0);transform:translate(2px)}60%{clip-path:inset(30% 0 30% 0);transform:translate(-1px)}80%{clip-path:inset(0 0 78% 0);transform:translate(1px)}}.cy-glitch{position:relative;display:inline-block}.cy-glitch:before,.cy-glitch:after{content:attr(data-text);position:absolute;left:0;top:0;pointer-events:none;opacity:0;-webkit-background-clip:initial;background:none;-webkit-text-fill-color:initial}.cy-glitch:hover:before{opacity:.8;color:#ff7a18;animation:cy-glitch-x .5s steps(2) 1}.cy-glitch:hover:after{opacity:.8;color:#21f3e0;animation:cy-glitch-x .5s steps(2) reverse 1}.cy-tick{color:#7a82b0}.cy-tick b{color:#21f3e0;font-weight:500}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
