@keyframes BlogArticle-module-scss-module__wZPGua__cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes BlogArticle-module-scss-module__wZPGua__fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.BlogArticle-module-scss-module__wZPGua__article{padding-inline:clamp(1rem,5vw,2rem);width:100%;max-width:720px;margin-inline:auto;padding-top:140px;padding-bottom:6rem}.BlogArticle-module-scss-module__wZPGua__backLink{color:#6a6a6a;align-items:center;gap:.5rem;margin-bottom:2rem;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:clamp(.875rem,.8rem + .35vw,1rem);text-decoration:none;transition:color .15s;animation:.6s both BlogArticle-module-scss-module__wZPGua__fade-in;display:inline-flex}.BlogArticle-module-scss-module__wZPGua__backLink:hover{color:#a78bfa}.BlogArticle-module-scss-module__wZPGua__header{border-bottom:1px solid #2a2a2a;margin-bottom:3rem;padding-bottom:2rem}.BlogArticle-module-scss-module__wZPGua__meta{color:#6a6a6a;letter-spacing:.025em;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:clamp(.875rem,.8rem + .35vw,1rem);animation:.6s both BlogArticle-module-scss-module__wZPGua__fade-in;display:flex}.BlogArticle-module-scss-module__wZPGua__category{color:#a78bfa}.BlogArticle-module-scss-module__wZPGua__separator{color:#2a2a2a}.BlogArticle-module-scss-module__wZPGua__date,.BlogArticle-module-scss-module__wZPGua__readingTime{color:#6a6a6a}.BlogArticle-module-scss-module__wZPGua__title{letter-spacing:-.025em;margin-bottom:1rem;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(2.5rem,1.75rem + 3.75vw,4rem);font-weight:700;line-height:1.25;animation:.6s .1s both BlogArticle-module-scss-module__wZPGua__fade-in}.BlogArticle-module-scss-module__wZPGua__author{color:#6a6a6a;margin:0;font-size:clamp(.875rem,.8rem + .35vw,1rem);animation:.6s .2s both BlogArticle-module-scss-module__wZPGua__fade-in}.BlogArticle-module-scss-module__wZPGua__authorName{color:#9a9a9a}.BlogArticle-module-scss-module__wZPGua__prose{color:#e0e0e0;font-size:clamp(1.125rem,1rem + .6vw,1.25rem);line-height:1.75;animation:.6s .3s both BlogArticle-module-scss-module__wZPGua__fade-in}.BlogArticle-module-scss-module__wZPGua__prose>p:first-child:first-letter{float:left;color:#a78bfa;margin-top:.25rem;margin-right:.75rem;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:3.5em;line-height:.8}.BlogArticle-module-scss-module__wZPGua__prose h2{color:#fafafa;margin-top:3rem;margin-bottom:1.5rem;font-size:clamp(1.5rem,1.25rem + 1.25vw,2rem)}.BlogArticle-module-scss-module__wZPGua__prose h3{color:#fafafa;margin-top:2.5rem;margin-bottom:1rem;font-size:clamp(1.25rem,1.1rem + .75vw,1.5rem)}.BlogArticle-module-scss-module__wZPGua__prose p{margin-bottom:1.5rem}.BlogArticle-module-scss-module__wZPGua__prose a{color:#a78bfa;text-underline-offset:2px;text-decoration:underline;transition:color .15s}.BlogArticle-module-scss-module__wZPGua__prose a:hover{color:#06ffa5}.BlogArticle-module-scss-module__wZPGua__prose strong{color:#fafafa;font-weight:600}.BlogArticle-module-scss-module__wZPGua__prose ul,.BlogArticle-module-scss-module__wZPGua__prose ol{margin-bottom:1.5rem;padding-left:1.5rem}.BlogArticle-module-scss-module__wZPGua__prose li{margin-bottom:.5rem}.BlogArticle-module-scss-module__wZPGua__prose blockquote{color:#9a9a9a;background:#111;border:1px solid #2a2a2a;border-left:3px solid #8b5cf6;border-radius:0 12px 12px 0;margin:2.5rem 0;padding:1.5rem;font-style:italic;box-shadow:inset 3px 0 12px #8b5cf614}.BlogArticle-module-scss-module__wZPGua__prose blockquote p:last-child{margin-bottom:0}.BlogArticle-module-scss-module__wZPGua__prose code{color:#06ffa5;background:#1a1a1a;border-radius:4px;padding:.25rem .5rem;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:.9em}.BlogArticle-module-scss-module__wZPGua__prose pre{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;margin:2rem 0;padding:1.5rem;overflow-x:auto}.BlogArticle-module-scss-module__wZPGua__prose pre code{background:0 0;border-radius:0;padding:0}.BlogArticle-module-scss-module__wZPGua__prose figure{background:#111;border:1px solid #2a2a2a;border-radius:12px;margin:2rem 0;padding:0;transition:border-color .25s;overflow:hidden}.BlogArticle-module-scss-module__wZPGua__prose figure:hover{border-color:#3a3a3a}.BlogArticle-module-scss-module__wZPGua__prose figure img{width:100%;display:block}.BlogArticle-module-scss-module__wZPGua__prose figure figcaption{color:#6a6a6a;letter-spacing:.025em;border-top:1px solid #2a2a2a;padding:1rem 1.5rem;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:clamp(.75rem,.7rem + .25vw,.875rem)}.BlogArticle-module-scss-module__wZPGua__prose [data-image-grid]{grid-template-columns:1fr;gap:1.5rem;margin:2rem 0;display:grid}@media (min-width:768px){.BlogArticle-module-scss-module__wZPGua__prose [data-image-grid]{grid-template-columns:1fr 1fr}}.BlogArticle-module-scss-module__wZPGua__prose [data-image-grid] figure{margin:0}.BlogArticle-module-scss-module__wZPGua__prose [data-image-small]{max-width:360px;margin-left:auto;margin-right:auto}.BlogArticle-module-scss-module__wZPGua__prose [data-image-float-right]{float:right;max-width:260px;margin:0 0 1.5rem 2rem}@media (min-width:640px){.BlogArticle-module-scss-module__wZPGua__prose [data-image-float-right]{max-width:280px}}@media (min-width:768px){.BlogArticle-module-scss-module__wZPGua__prose [data-image-float-right]{max-width:320px}}@media (max-width:479px){.BlogArticle-module-scss-module__wZPGua__prose [data-image-float-right]{float:none;max-width:360px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto}}.BlogArticle-module-scss-module__wZPGua__prose [data-image-float-left]{float:left;max-width:260px;margin:0 2rem 1.5rem 0}@media (min-width:640px){.BlogArticle-module-scss-module__wZPGua__prose [data-image-float-left]{max-width:280px}}@media (min-width:768px){.BlogArticle-module-scss-module__wZPGua__prose [data-image-float-left]{max-width:320px}}@media (max-width:479px){.BlogArticle-module-scss-module__wZPGua__prose [data-image-float-left]{float:none;max-width:360px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto}}.BlogArticle-module-scss-module__wZPGua__prose hr{background:linear-gradient(90deg,#0000,#2a2a2a 30%,#8b5cf666 50%,#2a2a2a 70%,#0000);border:none;height:1px;margin:4rem 0}
@keyframes AppStoreBanner-module-scss-module__18Gllq__cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes AppStoreBanner-module-scss-module__18Gllq__fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.AppStoreBanner-module-scss-module__18Gllq__banner{background:#111;border:1px solid #2a2a2a;border-radius:12px;padding:1.5rem;transition:border-color .25s,box-shadow .25s}.AppStoreBanner-module-scss-module__18Gllq__banner:hover{border-color:#3a3a3a}.AppStoreBanner-module-scss-module__18Gllq__banner{margin-top:3rem;padding:0;overflow:hidden}.AppStoreBanner-module-scss-module__18Gllq__header{background:#1a1a1a;border-bottom:1px solid #2a2a2a;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.AppStoreBanner-module-scss-module__18Gllq__meta{align-items:center;gap:1rem;display:flex}.AppStoreBanner-module-scss-module__18Gllq__category{color:#6a6a6a;text-transform:uppercase;letter-spacing:.1em;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:clamp(.75rem,.7rem + .25vw,.875rem)}.AppStoreBanner-module-scss-module__18Gllq__platform{color:#60a5fa;background:#3b82f626;border-radius:4px;padding:.25rem .5rem;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:clamp(.75rem,.7rem + .25vw,.875rem)}.AppStoreBanner-module-scss-module__18Gllq__status{border-radius:9999px;align-items:center;gap:.5rem;padding:.25rem .75rem;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:clamp(.75rem,.7rem + .25vw,.875rem);display:inline-flex}.AppStoreBanner-module-scss-module__18Gllq__status.AppStoreBanner-module-scss-module__18Gllq__live{color:#10b981;background:#10b98126}.AppStoreBanner-module-scss-module__18Gllq__status.AppStoreBanner-module-scss-module__18Gllq__live .AppStoreBanner-module-scss-module__18Gllq__statusDot{background:#10b981}.AppStoreBanner-module-scss-module__18Gllq__status.AppStoreBanner-module-scss-module__18Gllq__coming-soon{color:#f59e0b;background:#f59e0b26}.AppStoreBanner-module-scss-module__18Gllq__status.AppStoreBanner-module-scss-module__18Gllq__coming-soon .AppStoreBanner-module-scss-module__18Gllq__statusDot{background:#f59e0b}.AppStoreBanner-module-scss-module__18Gllq__statusDot{border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite AppStoreBanner-module-scss-module__18Gllq__pulse}@keyframes AppStoreBanner-module-scss-module__18Gllq__pulse{0%,to{opacity:1}50%{opacity:.5}}.AppStoreBanner-module-scss-module__18Gllq__body{padding:1.5rem}.AppStoreBanner-module-scss-module__18Gllq__title{margin:0;font-size:clamp(1.5rem,1.25rem + 1.25vw,2rem)}.AppStoreBanner-module-scss-module__18Gllq__tagline{color:#06ffa5;margin:.5rem 0 0;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:clamp(1rem,.9rem + .5vw,1.125rem)}.AppStoreBanner-module-scss-module__18Gllq__footer{background:linear-gradient(135deg,#8b5cf61a,#06ffa50d);border-top:1px solid #2a2a2a;padding:1rem 1.5rem}.AppStoreBanner-module-scss-module__18Gllq__link{color:#06ffa5;align-items:center;gap:.5rem;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:clamp(1rem,.9rem + .5vw,1.125rem);font-weight:500;text-decoration:none;transition:all .25s;display:inline-flex}.AppStoreBanner-module-scss-module__18Gllq__link:hover{color:#53ffc1;gap:.75rem}
.page-module-scss-module__ZGgknG__page{background:linear-gradient(#8b5cf60a 0%,#0000 400px);min-height:100vh}
