@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/grip/_app/immutable/assets/inter-cyrillic-ext-opsz-normal.CfYZpDVp.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/grip/_app/immutable/assets/inter-cyrillic-opsz-normal.BFQXbQ-f.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/grip/_app/immutable/assets/inter-greek-ext-opsz-normal.BmPQvyvo.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/grip/_app/immutable/assets/inter-greek-opsz-normal.BM0NlUE_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/grip/_app/immutable/assets/inter-vietnamese-opsz-normal.Ci9T9ieq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/grip/_app/immutable/assets/inter-latin-ext-opsz-normal.DpK-iCPk.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/grip/_app/immutable/assets/inter-latin-opsz-normal.BwkfbSeq.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/grip/_app/immutable/assets/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);size-adjust:107.12%;ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%}@font-face{font-family:JetBrains Mono Fallback;src:local(Menlo),local(Consolas);size-adjust:96%;ascent-override:109%;descent-override:27%;line-gap-override:0%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--surface-root:var(--lightningcss-light,#fafaf8)var(--lightningcss-dark,#181817);--surface-elevated:var(--lightningcss-light,#fff)var(--lightningcss-dark,#20201f);--surface-hover:var(--lightningcss-light,#f4f4f3)var(--lightningcss-dark,#292928);--surface-well:var(--lightningcss-light,#f4f4f3)var(--lightningcss-dark,#1c1c1b);--panel:var(--lightningcss-light,#f4f4f3)var(--lightningcss-dark,#111110);--surface-inverse:var(--lightningcss-light,#070707)var(--lightningcss-dark,#fafaf8);--surface-inverse-hover:var(--lightningcss-light,#343433)var(--lightningcss-dark,#e7e7e6);--control-track:var(--lightningcss-light,#eeeeec)var(--lightningcss-dark,#111110);--control-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,#292928);--fg-default:var(--lightningcss-light,#181817)var(--lightningcss-dark,#f4f4f3);--fg-prose:var(--lightningcss-light,#343433)var(--lightningcss-dark,#dededc);--fg-secondary:var(--lightningcss-light,#4a4a49)var(--lightningcss-dark,#a0a09e);--fg-muted:var(--lightningcss-light,#6b6b69)var(--lightningcss-dark,#898987);--fg-faint:var(--lightningcss-light,#737371)var(--lightningcss-dark,#636362);--border-subtle:var(--lightningcss-light,#e7e7e6)var(--lightningcss-dark,#20201f);--border-default:var(--lightningcss-light,#d4d4d2)var(--lightningcss-dark,#343433);--border-strong:var(--lightningcss-light,#babab8)var(--lightningcss-dark,#4a4a49);--ring-faint:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#ffffff1a);--frame:#80808042;--cross:#808080b3;--brand:var(--lightningcss-light,oklch(51.51% .2399 257.85))var(--lightningcss-dark,oklch(51.51% .2307 257.85));--success:var(--lightningcss-light,oklch(51.56% .1507 147.5))var(--lightningcss-dark,oklch(63.31% .1776 147.5));--stage-ink:var(--lightningcss-light,#181817)var(--lightningcss-dark,#fafaf8);--painting:linear-gradient(100deg, #1957fa 6%, #6365cd 26%, #9e6594 42%, #d35351 58%, #ed3e11 72%, #fb8400 94%);--sans:"Inter Variable", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--mono:"JetBrains Mono", "JetBrains Mono Fallback", ui-monospace, SFMono-Regular, Menlo, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--enter-ease:cubic-bezier(.33, 1, .68, 1);--unblur-ease:cubic-bezier(.328, .719, .669, .935);--pace:1.4;--gutter:40px;--pad:40px;--col:min(1200px, 100vw - 2 * var(--gutter));--bar-h:calc(64px + env(safe-area-inset-top));--crosses:linear-gradient(var(--frame) 0 0) 0 4px / 100% 1px, linear-gradient(var(--cross) 0 0) calc(50vw - var(--col) / 2) 0 / 1px 9px, linear-gradient(var(--cross) 0 0) calc(50vw - var(--col) / 2 - 4px) 4px / 9px 1px, linear-gradient(var(--cross) 0 0) calc(50vw + var(--col) / 2 - 1px) 0 / 1px 9px, linear-gradient(var(--cross) 0 0) calc(50vw + var(--col) / 2 - 5px) 4px / 9px 1px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=1023px){:root{--gutter:0px;--pad:24px;--cross:transparent}}@media (width<=639px){:root{--pad:20px}}@layer base{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--bar-h);scrollbar-width:thin;scrollbar-color:var(--border-default) transparent;scrollbar-gutter:stable;background:var(--surface-root)}body{background:var(--surface-root);color:var(--fg-default);font-family:var(--sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.6}a{color:inherit}:where(a,button,input,select,textarea,label,summary,[role=button]){touch-action:manipulation}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}[tabindex="-1"]:focus{outline:none}img,svg{max-width:100%}h1,h2,h3,p,dl,dd{margin:0}ul,ol{margin:0;padding:0}}::view-transition-old(root){animation-duration:.18s}::view-transition-new(root){animation-duration:.18s}.site{isolation:isolate;flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow-x:clip}.site:before,.site:after{content:"";z-index:1;inset:0 auto;left:calc(50% - var(--col) / 2);background:var(--frame);pointer-events:none;width:1px;position:absolute}.site:after{left:calc(50% + var(--col) / 2 - 1px)}.site>main{flex:1;width:100%}.wrap{width:100%;max-width:var(--col);padding:0 max(var(--pad), env(safe-area-inset-right)) 0 max(var(--pad), env(safe-area-inset-left));margin:0 auto}.beat{padding-block:112px;position:relative}.beat:before{content:"";z-index:1;background:var(--seam,linear-gradient(transparent 0 0)) calc(50vw - var(--col) / 2) 4px / var(--col) 1px, var(--crosses);pointer-events:none;background-repeat:no-repeat;width:100vw;height:9px;margin-left:-50vw;position:absolute;top:-4px;left:50%}@media (width>=1024px){.feature:has(+.feature){margin-bottom:64px}.feature:has(+.feature):after{content:"";z-index:1;background:var(--crosses);pointer-events:none;background-repeat:no-repeat;width:100vw;height:9px;margin-left:-50vw;position:absolute;bottom:-4px;left:50%}}.site:has(.hero):before{position:fixed}.site:has(.hero):after{position:fixed}.rise{--rise:4px;--blur:10px;--duration:1.3s;--delay:.45s;animation:blur-in calc(var(--duration) * var(--pace)) var(--enter-ease) calc(var(--delay) * var(--pace)) backwards, unblur calc(var(--duration) * var(--pace) * .705) var(--unblur-ease) calc(var(--delay) * var(--pace)) backwards}.rise[data-reveal=wait]{opacity:0;animation:none}[data-reveal=go]{--blur:6px;--duration:.5s;--delay:calc(var(--i) * 80ms)}@media (prefers-reduced-motion:no-preference){.site:has(.hero):before{transform-origin:top;animation:rail calc(1.2s * var(--pace)) var(--enter-ease) backwards}.site:has(.hero):after{transform-origin:top;animation:rail calc(1.2s * var(--pace)) var(--enter-ease) backwards}.site:has(.hero) .topbar .row:before{transform-origin:top;animation:rail calc(1.2s * var(--pace)) var(--enter-ease) backwards}.site:has(.hero) .topbar .row:after{transform-origin:top;animation:rail calc(1.2s * var(--pace)) var(--enter-ease) backwards}.site:has(.hero) .topbar .row:before{animation-duration:calc(1.2s * var(--pace) / 16)}.site:has(.hero) .topbar .row:after{animation-duration:calc(1.2s * var(--pace) / 16)}.site:has(.hero):after{animation-delay:calc(.6s * var(--pace))}.site:has(.hero) .topbar .row:after{animation-delay:calc(.6s * var(--pace))}.site:has(.hero) .topbar:after{animation:draw-in calc(.9s * var(--pace)) var(--enter-ease) backwards}.beat:before,.feature:after{animation:draw-in calc(.9s * var(--pace)) var(--enter-ease) calc(var(--delay,.6s) * var(--pace)) backwards}.site:has(.hero) .sitemap:before{animation:draw-in calc(.9s * var(--pace)) var(--enter-ease) calc(var(--delay,.6s) * var(--pace)) backwards}:is(.beat,.sitemap)[data-reveal=wait]:before,.feature[data-reveal=wait]:after{clip-path:inset(0 100% 0 0);animation:none}}@media (prefers-reduced-motion:reduce){.rise{animation:.4s backwards fade-in}}@keyframes blur-in{0%{opacity:0;translate:0 var(--rise)}50%{translate:0}}@keyframes unblur{0%{filter:blur(var(--blur))}to{filter:blur(calc(var(--blur) * .027))}}@keyframes fade-in{0%{opacity:0}}@keyframes draw-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes rail{0%{scale:1 0}}.skip{z-index:30;background:var(--surface-inverse);color:var(--surface-root);border-radius:8px;padding:8px 12px;position:absolute;top:-48px;left:16px}.skip:focus{top:12px}.button{letter-spacing:-.005em;white-space:nowrap;-webkit-user-select:none;user-select:none;height:44px;transition:scale .15s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:550;text-decoration:none;display:inline-flex}.button:active{transition-duration:80ms;scale:.97}.button.small{height:32px;padding:0 14px;font-size:13px}.button:has(>svg:first-child){padding-left:18px}.button.small:has(>svg:first-child){padding-left:12px}.button.primary:has(>svg:first-child){gap:10px}.button.primary{background:var(--surface-inverse);color:var(--surface-root)}.button.secondary{background:var(--surface-elevated);box-shadow:inset 0 0 0 .5px var(--border-default);color:var(--fg-default)}.button.primary:active{background:var(--surface-inverse-hover)}.button.secondary:active{background:var(--surface-hover)}.button svg{flex:none}.arrow-link{width:fit-content;color:var(--fg-default);align-items:center;gap:8px;font-size:15px;font-weight:550;text-decoration:none;display:inline-flex}.ahead{width:13px;height:13px;transition:translate .18s var(--ease);flex:none;display:block;rotate:45deg}.arrow-link .ahead{color:var(--fg-muted)}@media (hover:hover) and (pointer:fine){.button.primary:hover{background:var(--surface-inverse-hover)}.button.secondary:hover{background:var(--surface-hover)}.arrow-link:hover .ahead{color:var(--fg-default);translate:3px}}@media (pointer:coarse){.button.small{position:relative}.button.small:after{content:"";position:absolute;inset:min(0px,50% - 22px)}}@property --tip-armed{syntax:"<number>";inherits:true;initial-value:0}@keyframes tips-arm{to{--tip-armed:1}}[data-tip]{position:relative}[data-tip]:before{content:attr(data-tip);z-index:60;background:var(--fg-default);color:var(--surface-root);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .16s var(--enter-ease), translate .16s var(--enter-ease), scale .16s var(--enter-ease);border-radius:9px;padding:7px 11px;font-size:12px;font-weight:450;line-height:1.45;position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50% 4px;scale:.96;box-shadow:0 6px 18px #00000029,0 1px 2px #00000014}@media (hover:hover) and (pointer:fine){.tips:hover{animation:1ms .42s forwards tips-arm}.tips [data-tip]:hover:before{opacity:var(--tip-armed);translate:-50% calc(4px - 4px * var(--tip-armed));scale:calc(.96 + .04 * var(--tip-armed))}}[data-tip]:focus-visible:before{opacity:1;translate:-50%;scale:1}.app-icon{width:calc(var(--s) * 1024 / 824);max-width:none;height:auto;margin:calc(var(--s) * -100 / 824)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=1023px){.site:before,.site:after{display:none}.beat{padding-block:80px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}.button:active{scale:1}}
