:root{--v3-ink:#262626;--v3-slate:#4f4f4f;--v3-offwhite:#f6f6f6;--v3-hairline:#d1d1d1;--v3-card-line:#e6e6e6;--v3-mint:#f2f6f2}.v3{background-color:#fff;color:var(--v3-ink)}:root{--v3-chrome-fg:#fff;--v3-chrome-muted:hsla(0,0%,100%,.85);--v3-chrome-dim:hsla(0,0%,100%,.5);--v3-chrome-line:hsla(0,0%,100%,.4);--v3-chrome-line-hover:#fff;--v3-chrome-cta-bg:#fff;--v3-chrome-cta-fg:var(--v3-ink);--v3-chrome-cta-bg-hover:hsla(0,0%,100%,.9)}body:has(main [data-chrome=light]){--v3-chrome-fg:var(--v3-ink);--v3-chrome-muted:rgba(38,38,38,.78);--v3-chrome-dim:rgba(38,38,38,.45);--v3-chrome-line:rgba(38,38,38,.2);--v3-chrome-line-hover:var(--v3-ink);--v3-chrome-cta-bg:var(--v3-ink);--v3-chrome-cta-fg:#fff;--v3-chrome-cta-bg-hover:rgba(38,38,38,.85)}.v3-soft{background-color:var(--v3-mint)}:root{--v3-shot:0.43}@media (min-width:640px){:root{--v3-shot:0.68}}@media (min-width:1024px){:root{--v3-shot:1}}.v3-shot{width:680px;zoom:var(--v3-shot)}.v3-shot-item{width:calc(680px * var(--v3-shot))}.v3-shell{width:100%;max-width:1440px;margin-inline:auto;padding-inline:24px}@media (min-width:810px){.v3-shell{padding-inline:56px}}@media (min-width:1600px){.v3-shell{padding-inline:80px}}.v3-section{padding-block:76px}@media (min-width:810px){.v3-section{padding-block:120px}}.v3-stack{display:flex;flex-direction:column;gap:48px}@media (min-width:810px){.v3-stack{gap:72px}}.v3-h1{font-size:clamp(2.75rem,7vw,5.625rem);line-height:1}.v3-h1,.v3-h2{font-weight:700;letter-spacing:-.03em}.v3-h2{font-size:clamp(2.25rem,5vw,4rem);line-height:1.2}.v3-h3{font-size:clamp(1.75rem,3.4vw,2.75rem)}.v3-h3,.v3-h4{font-weight:600;letter-spacing:-.035em;line-height:1.2}.v3-h4{font-size:clamp(1.4375rem,2.8vw,2.25rem)}.v3-h5{font-size:clamp(1.25rem,2.3vw,1.875rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}.v3-h6{font-size:clamp(1.125rem,1.6vw,1.5rem);font-weight:700;line-height:1.2}.v3-stat{font-size:clamp(2rem,3.2vw,2.75rem);font-weight:700;letter-spacing:-.03em;line-height:1.05}.v3-body-xl{font-size:clamp(1.125rem,2.2vw,1.75rem);font-weight:500;letter-spacing:-.025em;line-height:1.25}.v3-body-l{font-size:clamp(.9375rem,1.3vw,1.25rem);letter-spacing:-.025em}.v3-body-l,.v3-body-m{font-weight:600;line-height:1.2}.v3-body-m{font-size:clamp(.9375rem,1.1vw,1.125rem)}.v3-body-s{font-size:clamp(.875rem,1vw,1rem);font-weight:500;line-height:1.45}.v3-body-xs{font-size:clamp(.8125rem,.9vw,.875rem);font-weight:500;line-height:1.35}.v3-prose{font-size:clamp(1rem,1.4vw,1.125rem);font-weight:400;line-height:1.65}.v3-eyebrow{font-size:.75rem;letter-spacing:.083em;line-height:1.2}.v3-chip,.v3-eyebrow{font-weight:500;text-transform:uppercase}.v3-chip{display:inline-block;border:1px solid var(--v3-card-line);border-radius:6px;padding:.4rem .7rem;font-size:.72rem;letter-spacing:.08em;white-space:nowrap}.v3-card{border:1px solid var(--v3-card-line);border-radius:12px;background-color:#fff;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.v3-card:hover{transform:translateY(-4px);border-color:rgb(var(--color-accent)/.35);box-shadow:0 24px 48px -30px rgba(20,30,20,.35)}.v3-glass{border:1px solid hsla(0,0%,100%,.2);border-radius:12px;background-color:hsla(0,0%,100%,.07);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.12);transition:transform .3s ease,background-color .3s ease,border-color .3s ease}.v3-glass:hover{transform:translateY(-4px);border-color:hsla(0,0%,100%,.35);background-color:hsla(0,0%,100%,.11)}.v3-glass-solid{border:1px solid hsla(0,0%,100%,.22);border-radius:12px;background-color:hsla(0,0%,100%,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.16)}.v3-rule{border-top:1px solid var(--v3-card-line)}.v3-zoom img{transition:transform .6s cubic-bezier(.2,.6,.2,1)}.v3-zoom:hover img{transform:scale(1.045)}.v3-onink{background-color:rgb(var(--color-ink));color:#fff;--v3-ink:#fff;--v3-slate:hsla(0,0%,100%,.62);--v3-card-line:hsla(0,0%,100%,.16);--v3-hairline:hsla(0,0%,100%,.26);--v3-marker:rgb(var(--color-ink));--v3-offwhite:#101010;--color-accent:var(--color-accent-light)}.v3-onink video{box-shadow:0 0 0 1px var(--v3-card-line)}.v3-band{background-color:rgb(var(--color-accent));background-image:linear-gradient(150deg,#1a3d24 0,rgb(var(--color-accent)) 52%,#2c6039 100%)}.v3-chevrons{position:absolute;inset:0;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.55) 22%,transparent 46%);mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.55) 22%,transparent 46%)}.v3-chevrons:after,.v3-chevrons:before{content:"";position:absolute;inset-inline:0;height:50%}.v3-chevrons:before{top:0;background-image:repeating-linear-gradient(-45deg,hsla(0,0%,100%,.16) 0 1px,transparent 1px 22px)}.v3-chevrons:after{bottom:0;background-image:repeating-linear-gradient(45deg,hsla(0,0%,100%,.16) 0 1px,transparent 1px 22px)}.v3-chevrons--flip{-webkit-mask-image:linear-gradient(270deg,#000 0,rgba(0,0,0,.55) 22%,transparent 46%);mask-image:linear-gradient(270deg,#000 0,rgba(0,0,0,.55) 22%,transparent 46%)}.v3-footer{background-color:rgb(var(--color-accent-dark));background-image:linear-gradient(135deg,#101f14 0,rgb(var(--color-accent-dark)) 45%,rgb(var(--color-accent)) 78%,#3c6e4b 100%)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.v3-appear{animation:v3-rise 1ms linear both;animation-timeline:view();animation-range:entry 0 entry 45%}.v3-appear-step{animation:v3-rise 1ms linear both;animation-timeline:view();animation-range:cover calc(min(var(--i, 0), 8) * 3%) cover calc(26% + min(var(--i, 0), 8) * 3%)}}}@keyframes v3-rise{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.v3-tick{stroke-dasharray:17;stroke-dashoffset:17;animation:v3-tick-draw 1ms linear both;animation-timeline:view();animation-range:cover calc(10% + min(var(--i, 0), 8) * 3%) cover calc(32% + min(var(--i, 0), 8) * 3%)}}}@keyframes v3-tick-draw{to{stroke-dashoffset:0}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.v3-beam{transform:scaleY(0);animation:v3-beam-fill 1ms linear both;animation-timeline:view();animation-range:cover 18% cover 82%}.v3-node{animation:v3-node-fill 1ms linear both;animation-timeline:view();animation-range:cover 30% cover 42%}}}@keyframes v3-beam-fill{to{transform:scaleY(1)}}@keyframes v3-node-fill{to{border-color:rgb(var(--color-accent));background-color:rgb(var(--color-accent))}}@media (prefers-reduced-motion:no-preference){.v3-kenburns{animation:v3-settle 7s cubic-bezier(.2,.6,.2,1) both}}@keyframes v3-settle{0%{transform:scale(1.09)}to{transform:scale(1)}}@keyframes v3-hero-slideshow{0%{opacity:0}2%{opacity:.45}18%{opacity:.45}20%{opacity:0}to{opacity:0}}.v3-hero-slideshow{opacity:0;animation:v3-hero-slideshow 25s linear infinite}@media (prefers-reduced-motion:reduce){.v3-hero-slideshow{animation:none;opacity:0}.v3-hero-slideshow[data-active=true]{opacity:.45}.v3-card,.v3-glass,.v3-zoom img{transition:none}.v3-card:hover,.v3-glass:hover,.v3-zoom:hover img{transform:none}}.v3-reveal-card summary{list-style:none}.v3-reveal-card summary::-webkit-details-marker{display:none}.v3-reveal-card[open] .v3-reveal-more,.v3-reveal-less{display:none}.v3-reveal-card[open] .v3-reveal-less{display:inline}.v3-reveal-caret{transition:transform .25s cubic-bezier(.22,.61,.36,1)}.v3-reveal-card[open] .v3-reveal-caret{transform:rotate(180deg)}.v3-tip{position:relative;display:inline-flex;cursor:help;outline:none}.v3-tip-bubble{position:absolute;bottom:calc(100% + 8px);right:0;z-index:20;display:flex;flex-direction:column;gap:2px;width:-moz-max-content;width:max-content;max-width:min(15rem,calc(100vw - 4rem));border-radius:8px;background-color:#262626;padding:.5rem .7rem;color:#fff;font-size:.75rem;font-weight:500;line-height:1.35;text-align:left;opacity:0;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease;pointer-events:none}.v3-tip-bubble b{font-weight:700}.v3-tip--strip{position:static}.v3-tip--strip .v3-tip-bubble{left:0;right:auto}.v3-tip:active .v3-tip-bubble,.v3-tip:focus .v3-tip-bubble,.v3-tip:focus-within .v3-tip-bubble,.v3-tip:hover .v3-tip-bubble{opacity:1;transform:none}.v3-lightbox-backdrop{background-color:rgba(20,26,20,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.v3-lightbox-panel{border:1px solid var(--v3-card-line);box-shadow:0 40px 80px -40px rgba(16,31,20,.55)}@media (prefers-reduced-motion:no-preference){.v3-lightbox-backdrop{animation:v3-fade-in .2s ease both}.v3-lightbox-panel{animation:v3-panel-in .32s cubic-bezier(.22,.61,.36,1) both}}@keyframes v3-fade-in{0%{opacity:0}to{opacity:1}}@keyframes v3-panel-in{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.v3-faq{border-bottom:1px solid var(--v3-card-line)}.v3-faq summary{cursor:pointer;list-style:none;transition:color .2s ease}.v3-faq summary:hover{color:rgb(var(--color-accent))}.v3-faq summary::-webkit-details-marker{display:none}.v3-faq .v3-faq-icon{transition:transform .25s ease}.v3-faq[open] .v3-faq-icon{transform:rotate(45deg)}@media (prefers-reduced-motion:no-preference){.v3-faq[open]>:not(summary){animation:v3-faq-answer .35s cubic-bezier(.22,.61,.36,1) both}}@keyframes v3-faq-answer{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.v3-faq--dark{border-bottom-color:hsla(0,0%,100%,.15)}.v3-faq--dark summary:hover{color:rgb(var(--color-accent-light))}.v3-rail{scrollbar-width:none;-ms-overflow-style:none;scroll-padding-inline:20px}.v3-rail::-webkit-scrollbar{display:none}@media (min-width:810px){.v3-rail{scroll-padding-inline:56px}}@media (prefers-reduced-motion:no-preference){.v3-live{animation:v3-pulse 2s ease-in-out infinite}}@keyframes v3-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.v3-intro{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background-color:#fff;pointer-events:none;animation:v3-intro-clear .5s cubic-bezier(.4,0,1,1) 1.76s both}.no-intro .v3-intro{display:none}@media print{.v3-intro{display:none}}.v3-intro-mark{width:clamp(190px,42vw,260px);height:auto;animation:v3-intro-lift .5s cubic-bezier(.4,0,1,1) 1.76s both}.v3-intro-glyph{fill:var(--v3-ink);animation:v3-intro-glyph .56s cubic-bezier(.22,1,.36,1) var(--d,0ms) both}.v3-intro-flag,.v3-intro-glyph{transform-box:fill-box;transform-origin:50% 100%}.v3-intro-flag{fill:rgb(var(--color-accent));animation:v3-intro-flag .44s cubic-bezier(.34,1.56,.64,1) 1.24s both}.v3-intro-rule{fill:rgb(var(--color-accent));transform-box:fill-box;transform-origin:0 50%;animation:v3-intro-rule .64s cubic-bezier(.65,0,.35,1) .82s both}@keyframes v3-intro-glyph{0%{opacity:0;transform:translateY(16%) scale(.97)}to{opacity:1;transform:none}}@keyframes v3-intro-flag{0%{opacity:0;transform:translateY(-90%) scale(.7)}to{opacity:1;transform:none}}@keyframes v3-intro-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes v3-intro-lift{0%{transform:none}to{transform:translateY(-10px)}}@keyframes v3-intro-clear{0%{opacity:1}to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.v3-intro{animation:v3-intro-clear .26s linear .56s both}.v3-intro-mark{animation:none}.v3-intro-flag,.v3-intro-glyph{animation:v3-intro-fade .4s linear both}.v3-intro-rule{animation:v3-intro-fade .56s linear both}@keyframes v3-intro-fade{0%{opacity:0}to{opacity:1}}}.v3-demo{--v3-demo-cycle:18s;--v3-demo-step:6s}.v3-demo-pane{opacity:0}.v3-demo-pane:first-child{opacity:1}.v3-demo-tab-on{opacity:0}.v3-demo-tab:first-child .v3-demo-tab-on{opacity:1}.v3-demo-cursor{display:none}@media (prefers-reduced-motion:no-preference){.v3-demo-pane,.v3-demo-tab-on{animation:v3-demo-show var(--v3-demo-cycle) step-end infinite;animation-delay:calc(var(--i, 0) * var(--v3-demo-step))}.v3-demo-pane{animation-timing-function:linear}.v3-demo-cursor{display:block;animation:v3-demo-travel var(--v3-demo-cycle) ease-in-out infinite}.v3-demo-cursor>span{animation:v3-demo-press var(--v3-demo-cycle) ease-out infinite}}@keyframes v3-demo-show{0%{opacity:1}32%{opacity:1}34%{opacity:0}99%{opacity:0}to{opacity:1}}@keyframes v3-demo-travel{0%,28%{left:16.666%;top:50%}33%,61%{left:50%;top:50%}66%,94%{left:83.333%;top:50%}to{left:16.666%;top:50%}}@keyframes v3-demo-press{0%,30%{transform:scale(1)}33%{transform:scale(.72)}36%,63%{transform:scale(1)}66%{transform:scale(.72)}69%,97%{transform:scale(1)}to{transform:scale(.72)}}.v3-grid-ground{background-image:linear-gradient(90deg,rgba(38,38,38,.055) 1px,transparent 0),linear-gradient(180deg,rgba(38,38,38,.055) 1px,transparent 0);background-size:46px 46px}.hack{--color-accent:77 124 15;--color-accent-dark:63 98 18;--color-accent-light:163 230 53;--color-accent-soft:236 252 203}.hack .v3-band{background-color:rgb(var(--color-ink));background-image:none}.hack .v3-btn[data-variant=onDark],.hack .v3-btn[data-variant=solid]{background-color:rgb(var(--color-accent-light));color:#191712}.hack .v3-btn[data-variant=onDark]:hover,.hack .v3-btn[data-variant=solid]:hover{background-color:#b8ee6e}.hack .v3-photo-mono{filter:grayscale(1) contrast(1.05)}.hack .hack-screen .v3-photo-mono{filter:grayscale(1) contrast(1.18) brightness(1.32)}body:has(main .hack) .v3-footer{background-color:rgb(var(--color-ink));background-image:linear-gradient(135deg,#0d0d0b 0,rgb(var(--color-ink)) 55%,#23211b 100%)}.hack-mono{font-family:var(--v3-mono);font-feature-settings:"ss01","cv01";letter-spacing:-.01em}:root{--v3-mono:ui-monospace,"SF Mono",SFMono-Regular,"JetBrains Mono",Menlo,Consolas,"Liberation Mono",monospace}.hack-dots{background-image:radial-gradient(rgb(var(--color-accent-light)/.3) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(180deg,#000 0,transparent 78%);mask-image:linear-gradient(180deg,#000 0,transparent 78%)}.hack-scan{background-image:repeating-linear-gradient(180deg,rgba(0,0,0,.2) 0,rgba(0,0,0,.2) 1px,transparent 0,transparent 4px)}.hack-caret{display:inline-block;width:.32em;height:.74em;margin-left:.14em;vertical-align:baseline;background-color:rgb(var(--color-accent-light))}@media (prefers-reduced-motion:no-preference){.hack-caret{animation:hack-blink 1.1s step-end infinite}}@keyframes hack-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.hack-marks:after,.hack-marks:before,.hack-marks>.hack-marks-b:after,.hack-marks>.hack-marks-b:before{content:"";position:absolute;width:14px;height:14px;border-color:rgb(var(--color-accent-light));border-style:solid;border-width:0}.hack-marks:before{top:-5px;left:-5px;border-top-width:2px;border-left-width:2px}.hack-marks:after{top:-5px;right:-5px;border-top-width:2px;border-right-width:2px}.hack-marks>.hack-marks-b:before{bottom:-5px;left:-5px;border-bottom-width:2px;border-left-width:2px}.hack-marks>.hack-marks-b:after{bottom:-5px;right:-5px;border-bottom-width:2px;border-right-width:2px}html:not([data-js]) .hack-calc-js,html[data-js] .hack-calc-nojs{display:none}.hack-calc-step{animation:hack-step-in .35s ease both}@keyframes hack-step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hack-calc-step{animation:none}}.hack-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:24px;background:transparent;cursor:pointer}.hack-range:focus-visible{outline:2px solid rgb(var(--color-accent));outline-offset:6px;border-radius:9999px}.hack-range::-webkit-slider-runnable-track{height:4px;border-radius:9999px;background:linear-gradient(to right,rgb(var(--color-accent)) var(--fill,0),var(--v3-card-line) var(--fill,0))}.hack-range::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-9px;height:22px;width:22px;border-radius:9999px;background:rgb(var(--color-accent));border:3px solid #fff;box-shadow:0 0 0 1px var(--v3-card-line),0 2px 6px rgba(0,0,0,.15)}.hack-range::-moz-range-track{height:4px;border-radius:9999px;background:linear-gradient(to right,rgb(var(--color-accent)) var(--fill,0),var(--v3-card-line) var(--fill,0))}.hack-range::-moz-range-thumb{height:22px;width:22px;border-radius:9999px;background:rgb(var(--color-accent));border:3px solid #fff;box-shadow:0 0 0 1px var(--v3-card-line),0 2px 6px rgba(0,0,0,.15)}@media (prefers-reduced-motion:no-preference){.v3-consent{animation:v3-consent-rise .32s cubic-bezier(.2,.6,.2,1) both}}@keyframes v3-consent-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}