.blogv2{--ink: oklch(.22 .03 255);--ink-soft: oklch(.38 .025 255);--mute: oklch(.52 .02 255);--line: oklch(.88 .02 255);--paper: oklch(.975 .012 245);--paper-deep: oklch(.94 .02 245);--cobalt: oklch(.48 .17 255);--cobalt-deep: oklch(.36 .14 255);--cobalt-glow: oklch(.72 .12 255);--measure: 100%;--ease-out: cubic-bezier(.16, 1, .3, 1);--font-display: "Bw Gradual DEMO", Lexend, sans-serif;--font-body: Lexend, system-ui, sans-serif;color:var(--ink);background:radial-gradient(ellipse 80% 55% at 95% -5%,oklch(.68 .16 255 / .28),transparent 58%),radial-gradient(ellipse 55% 45% at -8% 25%,oklch(.65 .1 220 / .16),transparent 52%),radial-gradient(ellipse 40% 30% at 60% 8%,oklch(.85 .06 255 / .2),transparent 60%),linear-gradient(180deg,oklch(.965 .018 245) 0%,var(--paper) 38%,oklch(.98 .01 245) 100%);font-family:var(--font-body);position:relative}@media (max-width: 1023px){.blogv2{overflow-x:clip}}.blogv2:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:linear-gradient(oklch(.48 .17 255 / .07) 1px,transparent 1px),linear-gradient(90deg,oklch(.48 .17 255 / .07) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,black 0%,black 35%,transparent 78%);mask-image:linear-gradient(180deg,black 0%,black 35%,transparent 78%)}.blogv2:after{content:"";position:absolute;top:4.5rem;right:0;width:min(28rem,55vw);height:min(28rem,55vw);border-radius:50%;background:radial-gradient(circle,oklch(.55 .18 255 / .14),transparent 70%);pointer-events:none;z-index:0}.blogv2 a{color:inherit;text-decoration:none}.blogv2-shell{width:min(1120px,calc(100% - 2rem));margin-inline:auto;position:relative;z-index:1}.blogv2-page{padding-block:clamp(6.5rem,12vw,8.5rem) clamp(4rem,8vw,7rem)}.blogv2-masthead{display:grid;gap:clamp(1.5rem,4vw,3rem);margin-bottom:clamp(2.5rem,5vw,4rem);align-items:end}@media (min-width: 768px){.blogv2-masthead{grid-template-columns:1.4fr 1fr}}.blogv2-masthead__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cobalt);margin-bottom:.75rem}.blogv2-masthead h1{font-family:var(--font-display);font-size:clamp(3.25rem,9vw,6.5rem);font-weight:700;line-height:.92;letter-spacing:-.03em;color:var(--ink);margin:0}.blogv2-masthead--compact h1{font-size:clamp(2.1rem,5.5vw,3.4rem);line-height:1.05}.blogv2-masthead h1 em{font-style:italic;font-weight:300;color:var(--cobalt);display:inline-block}.blogv2-masthead__lede{font-size:clamp(.9375rem,1.8vw,1.05rem);line-height:1.65;color:var(--mute);max-width:28ch;margin:0;padding-bottom:.35rem}@media (min-width: 768px){.blogv2-masthead__lede{justify-self:end;text-align:right}}.blogv2-cats{display:flex;flex-wrap:wrap;gap:.35rem 1.75rem;margin-bottom:clamp(2.5rem,5vw,3.5rem);padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.blogv2-cat{position:relative;font-size:.9375rem;font-weight:500;color:var(--mute);padding:.35rem 0;transition:color .25s var(--ease-out)}.blogv2-cat:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--cobalt);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}.blogv2-cat:hover{color:var(--ink)}.blogv2-cat:hover:after,.blogv2-cat.is-active:after{transform:scaleX(1)}.blogv2-cat.is-active{color:var(--ink);font-weight:600}.blogv2-featured{display:grid;gap:clamp(1.5rem,3vw,2.75rem);margin-bottom:clamp(3rem,6vw,4.5rem);align-items:stretch;animation:blogv2-rise .8s var(--ease-out) both}@media (min-width: 900px){.blogv2-featured{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,4vw,3.5rem);min-height:26rem}}.blogv2-featured__copy{display:flex;flex-direction:column;justify-content:center;gap:1.1rem;padding:clamp(.25rem,1vw,.5rem) 0;order:2}@media (min-width: 900px){.blogv2-featured__copy{order:1;padding-right:.5rem}}.blogv2-featured__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.15rem;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.blogv2-featured__mark{color:oklch(.98 .01 255);background:var(--cobalt);padding:.35rem .65rem;letter-spacing:.14em}.blogv2-featured__meta a{color:var(--mute);border-bottom:1px solid transparent;transition:color .25s var(--ease-out),border-color .25s var(--ease-out)}.blogv2-featured__meta a:hover{color:var(--cobalt);border-bottom-color:var(--cobalt)}.blogv2-featured h2{font-family:var(--font-display);font-size:clamp(1.85rem,4vw,2.85rem);font-weight:700;line-height:1.08;letter-spacing:-.03em;margin:0;max-width:16ch}.blogv2-featured h2 a{transition:color .25s var(--ease-out)}.blogv2-featured h2 a:hover{color:var(--cobalt)}.blogv2-featured__excerpt{font-size:.975rem;line-height:1.65;color:var(--ink-soft);margin:0;max-width:38ch}.blogv2-featured__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem;padding-top:1.15rem;border-top:1px solid var(--line)}.blogv2-featured__stats{display:flex;flex-wrap:wrap;gap:.4rem .65rem;font-size:.8125rem;color:var(--mute)}.blogv2-featured__cta{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600;color:var(--cobalt);transition:gap .3s var(--ease-out),color .25s var(--ease-out)}.blogv2-featured__cta:hover{color:var(--cobalt-deep);gap:.7rem}.blogv2-featured__media{display:block;position:relative;order:1;overflow:hidden;background:var(--paper-deep);aspect-ratio:16 / 10;isolation:isolate}@media (min-width: 900px){.blogv2-featured__media{order:2;aspect-ratio:auto;min-height:100%;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}}.blogv2-featured__media:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--paper) 0%,transparent 18%),linear-gradient(180deg,transparent 70%,oklch(.22 .03 255 / .12));opacity:0}@media (min-width: 900px){.blogv2-featured__media:before{opacity:1}}.blogv2-featured__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transition:transform .85s var(--ease-out)}.blogv2-featured:hover .blogv2-featured__media img{transform:scale(1.04)}.blogv2-feed{display:flex;flex-direction:column;animation:blogv2-rise .9s var(--ease-out) .08s both}.blogv2-feed__label{font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:.5rem}.blogv2-row{display:grid;gap:1.25rem;padding-block:1.75rem;border-top:1px solid var(--line);align-items:center;transition:background-color .35s var(--ease-out)}.blogv2-row:last-child{border-bottom:1px solid var(--line)}@media (min-width: 640px){.blogv2-row{grid-template-columns:9.5rem 1fr auto;gap:1.75rem}}.blogv2-row:hover{background:oklch(.48 .17 255 / .04)}.blogv2-row__media{display:block;aspect-ratio:1;overflow:hidden;background:var(--paper-deep)}.blogv2-row__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s var(--ease-out)}.blogv2-row:hover .blogv2-row__media img{transform:scale(1.06)}.blogv2-row__body{min-width:0}.blogv2-row__cat{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt);margin-bottom:.4rem}.blogv2-row h2{font-family:var(--font-display);font-size:clamp(1.2rem,2.4vw,1.55rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin:0 0 .45rem}.blogv2-row h2 a:hover{color:var(--cobalt)}.blogv2-row__excerpt{font-size:.9375rem;line-height:1.55;color:var(--mute);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blogv2-row__aside{display:none;text-align:right;font-size:.8125rem;color:var(--mute);white-space:nowrap}@media (min-width: 640px){.blogv2-row__aside{display:grid;gap:.35rem;justify-items:end}}.blogv2-row__meta-mobile{display:flex;flex-wrap:wrap;gap:.5rem .85rem;margin-top:.65rem;font-size:.8125rem;color:var(--mute)}@media (min-width: 640px){.blogv2-row__meta-mobile{display:none}}.blogv2-empty{padding:4rem 1.5rem;text-align:center;color:var(--mute);border:1px dashed var(--line);background:oklch(1 0 0 / .4)}.blogv2-pagination{margin-top:3rem;display:flex;justify-content:center}.blogv2-pagination nav{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.blogv2-pagination a,.blogv2-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;height:2.6rem;padding:0 .75rem;font-size:.875rem;font-weight:500}.blogv2-pagination a{color:var(--ink-soft);border-bottom:2px solid transparent}.blogv2-pagination a:hover{color:var(--cobalt);border-bottom-color:var(--cobalt)}.blogv2-pagination span[aria-current=page],.blogv2-pagination .active span{color:var(--cobalt);border-bottom:2px solid var(--cobalt);font-weight:700}.blogv2-pagination span.disabled,.blogv2-pagination .disabled span{opacity:.35}.blogv2-breadcrumb{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.8125rem;color:var(--mute);margin-bottom:2rem}.blogv2-breadcrumb a:hover{color:var(--cobalt)}.blogv2-breadcrumb [aria-current=page]{color:var(--ink-soft)}.blogv2-article-layout{display:grid;gap:clamp(2rem,4vw,3.5rem)}@media (min-width: 1024px){.blogv2-article-layout{grid-template-columns:minmax(0,1fr) minmax(15.5rem,17rem);gap:2rem;align-items:stretch}.blogv2-toc-aside{align-self:stretch}}.blogv2-article-layout>article{min-width:0;width:100%}.blogv2-article-header{max-width:none;margin-bottom:1.75rem;animation:blogv2-rise .7s var(--ease-out) both}.blogv2-kicker{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cobalt);margin-bottom:1rem}.blogv2-article-header h1{font-family:var(--font-display);font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;margin:0 0 1.25rem}.blogv2-meta{display:flex;flex-wrap:wrap;gap:.4rem .85rem;font-size:.875rem;color:var(--mute)}.blogv2-cover{margin:0 0 2.5rem;overflow:hidden;background:var(--paper-deep);animation:blogv2-rise .85s var(--ease-out) .05s both}.blogv2-cover img{width:100%;height:auto;max-height:28rem;-o-object-fit:cover;object-fit:cover;display:block}.blogv2-toc-mobile{margin-bottom:2rem;background:oklch(1 0 0 / .55);border:1px solid var(--line)}.blogv2-toc-mobile summary{cursor:pointer;list-style:none;padding:1rem 1.15rem;font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.blogv2-toc-mobile summary::-webkit-details-marker{display:none}.blogv2-toc-aside{display:none}@media (min-width: 1024px){.blogv2-toc-mobile{display:none}.blogv2-toc-aside{display:block}}@media (max-width: 1023px){.blogv2-toc-aside{display:none!important}}.blogv2-toc-sticky{position:sticky;top:6.5rem}.blogv2-toc-title{font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:1rem}.blogv2-toc-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;counter-reset:toc}.blogv2-toc-list li{counter-increment:toc}.blogv2-toc-list a{display:grid;grid-template-columns:1.4rem 1fr;gap:.5rem;font-size:.8125rem;line-height:1.4;color:var(--mute);transition:color .25s var(--ease-out)}.blogv2-toc-list a:before{content:counter(toc,decimal-leading-zero);font-size:.7rem;font-weight:600;letter-spacing:.04em;color:var(--cobalt-glow);padding-top:.1rem}.blogv2-toc-list a:hover{color:var(--ink)}.blogv2-toc-list .toc-h3 a{padding-left:.5rem}.blogv2-content{max-width:none;width:100%;min-width:0;font-size:.9875rem;line-height:1.8;color:var(--ink-soft);overflow-wrap:anywhere}.blogv2-content>*+*{margin-top:1.15em}.blogv2-content h2{font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:700;color:var(--ink);letter-spacing:-.02em;margin-top:2.5rem;margin-bottom:.65rem;scroll-margin-top:6rem}.blogv2-content h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--ink);margin-top:2rem;margin-bottom:.5rem;scroll-margin-top:6rem}.blogv2-content a{color:var(--cobalt);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.blogv2-content a:hover{color:var(--cobalt-deep)}.blogv2-content ul,.blogv2-content ol{padding-left:1.25rem;display:grid;gap:.4rem}.blogv2-content ul{list-style:disc}.blogv2-content ol{list-style:decimal}.blogv2-content img,.blogv2-content .gallery{max-width:100%;height:auto;margin-block:1.75rem;cursor:pointer}.blogv2-content hr{border:0;height:1px;background:var(--line);margin-block:2.5rem}.blogv2-content blockquote{margin:1.75rem 0;padding:1rem 0 1rem 1.25rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-style:italic;color:var(--ink)}.blogv2-content .code-block{margin-block:1.75rem;border:1px solid var(--line);border-radius:0;max-width:100%;min-width:0}.blogv2-content .code-block>div:first-child{background:var(--cobalt-deep);color:oklch(.95 .01 255);font-size:.8125rem;padding:.45rem .85rem}.blogv2-content .code-block>div:last-child{background:oklch(.2 .03 255);color:oklch(.9 .015 255);padding:1rem;font-size:.875rem;max-height:24rem;overflow-x:auto;overflow-y:auto}.blogv2-content .code-block>div:last-child pre,.blogv2-content .code-block>div:last-child code,.blogv2-content .code-block>div:last-child p{margin:0;display:block;width:-moz-max-content;width:max-content;min-width:100%;max-width:none;white-space:pre!important;overflow:visible!important;overflow-wrap:normal;word-break:normal;word-wrap:normal;font-family:JetBrains Mono,Consolas,monaco,monospace}.blogv2-content .code-block>div:last-child p{font-size:.875rem;color:oklch(.85 .02 255)}.blogv2-tags{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;margin-top:2.75rem;padding-top:1.75rem;border-top:1px solid var(--line);max-width:none;width:100%}.blogv2-tag{font-size:.8125rem;font-weight:500;color:var(--mute);transition:color .25s var(--ease-out)}.blogv2-tag:hover{color:var(--cobalt)}.blogv2-related{margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--line)}.blogv2-related h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.blogv2-reviews{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--line);max-width:none;width:100%}.blogv2-reviews h2,.blogv2-reviews h3{font-family:var(--font-display);font-size:1.35rem;font-weight:700;margin-bottom:.85rem}.blogv2-reviews .vote{cursor:pointer;transition:transform .2s var(--ease-out)}.blogv2-reviews .vote:hover{transform:scale(1.12)}.blogv2-reviews .vote-active{color:oklch(.78 .14 85)}.blogv2-reviews .vote-inactive{color:oklch(.82 .02 255)}.blogv2-field{display:block;width:100%;border:1px solid var(--line);background:oklch(1 0 0 / .7);color:var(--ink);border-radius:0;padding:.7rem .85rem;font-size:.875rem;outline:none;transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}.blogv2-field:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px oklch(.48 .17 255 / .15)}.blogv2-btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.35rem;font-size:.875rem;font-weight:600;color:oklch(.98 .01 255);background:var(--cobalt);border:0;cursor:pointer;transition:background .25s var(--ease-out),transform .25s var(--ease-out)}.blogv2-btn:hover{background:var(--cobalt-deep);transform:translateY(-1px)}.blogv2-alert-success{padding:.9rem 1rem;margin-bottom:1rem;font-size:.875rem;color:oklch(.35 .08 150);background:oklch(.95 .03 150)}.blogv2-alert-danger{padding:.9rem 1rem;margin-bottom:1rem;font-size:.875rem;color:oklch(.42 .14 25);background:oklch(.96 .03 25)}#blogv2-image-viewer{position:fixed;inset:0;z-index:100;background:oklch(.15 .03 255 / .92);display:none}#blogv2-image-viewer .image-container{display:flex;justify-content:center;align-items:center;height:100%;padding:1rem}#blogv2-image-viewer .modal-content{max-height:100%;max-width:72rem;width:auto;animation:blogv2-zoom .4s var(--ease-out)}#blogv2-image-viewer .close{position:absolute;right:1.25rem;top:.75rem;color:oklch(.95 .01 255);font-size:2.75rem;cursor:pointer;line-height:1;font-weight:300}@keyframes blogv2-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes blogv2-zoom{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.blogv2-featured,.blogv2-feed,.blogv2-article-header,.blogv2-cover,.blogv2-featured__media img,.blogv2-row__media img{animation:none!important;transition:none!important}}
