:root{--gj-color-primary:#a5ffbc;--gj-color-primary-hover:#bcffcc;--gj-color-primary-active:#8aeba3;--gj-color-on-primary:#0d0f12;--gj-color-accent:#ff69b4;--gj-color-accent-hover:#ff85c2;--gj-color-accent-active:#f24d9e;--gj-color-on-accent:#0d0f12;--gj-color-violet:#c084fc;--gj-color-product-forge:var(--gj-color-primary);--gj-color-product-auth:var(--gj-color-accent);--gj-color-product-gateway:var(--gj-color-violet);--gj-color-product-scan:var(--gj-color-warning);--gj-color-product-comply:var(--gj-color-info);--gj-color-bg:#0d0f12;--gj-color-surface:#16181d;--gj-color-surface-raised:#1e2127;--gj-color-border:#2a2e37;--gj-color-border-strong:#3b414d;--gj-color-text:#f3f5f7;--gj-color-text-muted:#aab2c0;--gj-color-text-subtle:#79818f;--gj-color-ink:#08090b;--gj-line:#ffffff12;--gj-color-primary-tint:#a5ffbc17;--gj-color-accent-tint:#ff69b417;--gj-color-forest:#0b231c;--gj-color-forest-raised:#10342a;--gj-color-forest-line:#1f4a3d;--gj-color-forest-text:#a9c9b9;--gj-color-forest-label:#7fae96;--gj-color-surface-glass:#16181eb8;--gj-color-border-glass:#ffffff1a;--gj-glass-blur:14px;--gj-auth-bg:radial-gradient(ellipse 90% 70% at 50% -10%, #1a1c2e 0%, #101018 40%, var(--gj-color-bg) 80%);--gj-auth-glow-pink:radial-gradient(circle, #ff69b41a, transparent 70%);--gj-auth-glow-lime:radial-gradient(circle, #a5ffbc12, transparent 70%);--gj-auth-stars:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='230' height='230'%3E%3Ccircle cx='25' cy='35' r='1' fill='%23ffffff' fill-opacity='0.5'/%3E%3Ccircle cx='80' cy='120' r='1' fill='%23ffffff' fill-opacity='0.35'/%3E%3Ccircle cx='160' cy='60' r='1.4' fill='%23ffffff' fill-opacity='0.5'/%3E%3Ccircle cx='200' cy='175' r='1' fill='%23ffffff' fill-opacity='0.3'/%3E%3Ccircle cx='120' cy='205' r='1' fill='%23ffffff' fill-opacity='0.4'/%3E%3C/svg%3E");--gj-auth-stars2:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340'%3E%3Ccircle cx='60' cy='90' r='1.6' fill='%23ffd6ef' fill-opacity='0.3'/%3E%3Ccircle cx='175' cy='40' r='1' fill='%23ffffff' fill-opacity='0.3'/%3E%3Ccircle cx='30' cy='200' r='1.8' fill='%23e8ffc2' fill-opacity='0.3'/%3E%3Ccircle cx='280' cy='150' r='1' fill='%23ffffff' fill-opacity='0.25'/%3E%3Ccircle cx='240' cy='300' r='1.2' fill='%23ffffff' fill-opacity='0.2'/%3E%3C/svg%3E");--gj-color-link:var(--gj-color-primary);--gj-color-link-hover:var(--gj-color-primary-hover);--gj-color-error:#ff7a85;--gj-color-error-bg:#2a1416;--gj-color-warning:#f5c451;--gj-color-warning-bg:#2a2110;--gj-color-success:#5ee39a;--gj-color-success-bg:#0f2419;--gj-color-info:#6cb6ff;--gj-color-info-bg:#0f2036;--gj-color-focus:#ff69b4;--gj-focus-ring:0 0 0 3px #ff69b473;--gj-space-1:.25rem;--gj-space-2:.5rem;--gj-space-3:.75rem;--gj-space-4:1rem;--gj-space-5:1.5rem;--gj-space-6:2rem;--gj-space-7:3rem;--gj-radius-sm:4px;--gj-radius-md:8px;--gj-radius-lg:16px;--gj-radius-xl:22px;--gj-font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--gj-font-display:"Inter Tight", var(--gj-font-sans);--gj-font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--gj-font-serif-accent:"Instrument Serif", Georgia, "Times New Roman", serif;--gj-font-size-sm:.8125rem;--gj-font-size-base:.9375rem;--gj-font-size-lg:1.125rem;--gj-font-size-xl:1.5rem;--gj-font-size-display:clamp(3rem, .6rem + 8.4vw, 9.5rem);--gj-font-size-h1:clamp(2.6rem, 1rem + 5vw, 6rem);--gj-font-size-h2:clamp(2rem, 1rem + 3vw, 4rem);--gj-font-size-h3:clamp(1.35rem, 1rem + .9vw, 1.9rem);--gj-font-size-lead:clamp(1.1rem, 1rem + .4vw, 1.35rem);--gj-letter-spacing-display:-.045em;--gj-letter-spacing-h2:-.04em;--gj-letter-spacing-h3:-.03em;--gj-line-height-display:.9;--gj-line-height-heading:1;--gj-line-height:1.5;--gj-font-weight-light:300;--gj-font-weight-normal:400;--gj-font-weight-medium:500;--gj-font-weight-semibold:600;--gj-shadow-card:0 30px 80px -20px #000000b3, 0 0 0 1px #ff69b40d, inset 0 1px 0 #ffffff0f;--gj-ease:cubic-bezier(.2, .7, .1, 1);--gj-login-card-width:24rem}body{font-family:var(--gj-font-sans);font-size:var(--gj-font-size-base);line-height:var(--gj-line-height);color:var(--gj-color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:var(--gj-color-link);text-decoration:none}a:hover{color:var(--gj-color-link-hover);text-decoration:underline}:focus-visible{box-shadow:var(--gj-focus-ring);border-radius:var(--gj-radius-sm);outline:none}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-cyrillic-ext-wght-normal.okcGN4Nq.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 Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-cyrillic-wght-normal.BS41q_Tv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-greek-ext-wght-normal.DQgQPNk4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-greek-wght-normal.sS1B39LI.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 Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-vietnamese-wght-normal.TKKdAiBA.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 Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-latin-ext-wght-normal.B4u9PlvR.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 Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-latin-wght-normal.DX-nOvPD.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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/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}:root{--ink:#08090b;--line:#ffffff12;--hue3:var(--gj-color-accent);--f-sans:"Inter Tight Variable", "Inter Tight", var(--gj-font-sans);--f-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--t-display:clamp(3.1rem, .6rem + 9.4vw, 10.5rem);--t-h1:clamp(2.6rem, 1rem + 5.6vw, 6.75rem);--t-h2:clamp(2rem, 1rem + 3.2vw, 4.25rem);--t-h3:clamp(1.4rem, 1rem + 1.1vw, 2.1rem);--t-lead:clamp(1.1rem, 1rem + .45vw, 1.4rem);--gutter:clamp(16px, 4vw, 56px);--ease:cubic-bezier(.2, .7, .1, 1);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--gj-color-bg);color:var(--gj-color-text);font:400 1rem/1.6 var(--f-sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}a,a:hover{color:inherit;text-decoration:none}:focus-visible{outline-offset:2px;box-shadow:var(--gj-focus-ring);border-radius:4px;outline:2px solid #0000}::selection{background:var(--gj-color-primary);color:var(--gj-color-on-primary)}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}.wrap{width:100%;max-width:1440px;padding:0 var(--gutter);margin:0 auto}.grid12{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;display:grid}.label{font:500 .72rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gj-color-text-subtle);margin:0}.label b{color:var(--gj-color-primary);font-weight:500}.mono{font-family:var(--f-mono)}.muted{color:var(--gj-color-text-muted)}.nowrap{white-space:nowrap}em,.it{font-family:var(--f-sans);letter-spacing:-.01em;color:var(--gj-color-primary);font-style:normal;font-weight:650}.svgnum{font-weight:200}h1,h2,h3,h4{margin:0;font-weight:500}p{margin:0}.display{font-size:var(--t-display);letter-spacing:-.045em;font-weight:400;line-height:.9}.h1{font-size:var(--t-h1);letter-spacing:-.045em;font-weight:400;line-height:.95}.h2{font-size:var(--t-h2);letter-spacing:-.04em;font-weight:400;line-height:1}.h3{font-size:var(--t-h3);letter-spacing:-.03em;font-weight:400;line-height:1.1}.display em,.h1 em,.h2 em,.h3 em{letter-spacing:-.05em;font-size:1em}.lead{font-size:var(--t-lead);color:var(--gj-color-text-muted);font-weight:300;line-height:1.5}.lead strong{color:var(--gj-color-text);font-weight:400}.link{transition:background-size .5s var(--ease), color .2s;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;align-items:center;gap:.5em;padding-bottom:2px;display:inline-flex;position:relative}.link:hover{background-size:100% 1px}.link .arr{transition:transform .4s var(--ease)}.link:hover .arr{transform:translate(3px,-3px)}.btn{background:var(--gj-color-primary);color:var(--gj-color-on-primary);cursor:pointer;transition:background .2s, transform .4s var(--ease);border:0;border-radius:999px;align-items:center;gap:.75em;padding:1rem 1.4rem 1rem 1.5rem;font-weight:500;display:inline-flex}.btn:hover{background:var(--gj-color-primary-hover)}.btn .arr{background:var(--gj-color-on-primary);width:1.6em;height:1.6em;color:var(--gj-color-primary);transition:transform .4s var(--ease);border-radius:50%;place-items:center;font-size:.8em;display:inline-grid}.btn:hover .arr{transform:rotate(-45deg)}.btn--ghost{color:var(--gj-color-text);box-shadow:inset 0 0 0 1px var(--gj-color-border-strong);background:0 0}.btn--ghost:focus-visible{box-shadow:inset 0 0 0 1px var(--gj-color-border-strong), var(--gj-focus-ring)}.btn--ghost:hover{background:var(--gj-color-surface)}.btn--ghost .arr{background:var(--gj-color-text);color:var(--gj-color-bg)}.hdr{z-index:50;border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:sticky;top:0}.hdr.is-scrolled{-webkit-backdrop-filter:blur(14px);border-color:var(--line);background:#0d0f12d1}.hdr__in{align-items:center;gap:32px;height:76px;display:flex}.logo{letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.15rem;font-weight:600;display:inline-flex}.nav{gap:28px;margin-left:24px;display:flex}.nav a{color:var(--gj-color-text-muted);font-size:.95rem;transition:color .2s;position:relative}.nav a:hover,.nav a[aria-current=page]{color:var(--gj-color-text)}.nav a[aria-current=page]:before{content:"";background:var(--gj-color-primary);border-radius:50%;width:5px;height:5px;margin-top:-2.5px;position:absolute;top:50%;left:-12px}.hdr__meta{align-items:center;gap:22px;margin-left:auto;display:flex}.status{font:400 .72rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gj-color-text-subtle);align-items:center;gap:8px;display:inline-flex}.pulse{background:var(--gj-color-primary);border-radius:50%;width:7px;height:7px;animation:2.4s infinite pulse;box-shadow:0 0 #a5ffbc80}@keyframes pulse{0%{box-shadow:0 0 #a5ffbc73}70%,to{box-shadow:0 0 0 8px #a5ffbc00}}.hdr .btn{padding:.7rem 1rem .7rem 1.2rem;font-size:.9rem}.menu-btn{border:1px solid var(--gj-color-border-strong);font:500 .72rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:.55rem 1rem;display:none}.mnav{z-index:60;background:var(--ink);padding:96px var(--gutter) 40px;opacity:0;visibility:hidden;flex-direction:column;gap:4px;transition:opacity .35s,visibility .35s;display:flex;position:fixed;inset:0}.mnav.is-open{opacity:1;visibility:visible}.mnav a{letter-spacing:-.04em;border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:8px 0;font-size:clamp(2.6rem,12vw,4rem);line-height:1.1;display:flex}.mnav a span{font:400 .75rem var(--f-mono);color:var(--gj-color-text-subtle);letter-spacing:.1em}.mnav a:hover{font-family:var(--f-sans);color:var(--gj-color-primary);font-weight:650}.mnav .close{top:22px;right:var(--gutter);position:absolute}.mnav .status{margin-top:auto}@media (width<=960px){.nav,.hdr__meta{display:none}.menu-btn{display:inline-block}}.js .rv{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:var(--d,0s);transform:translateY(18px)}.js .rv.in{opacity:1;transform:none}.ln{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:hidden}.ln>span{transition:transform 1.1s var(--ease);transition-delay:var(--d,0s);display:inline-block}.js .ln>span{transform:translateY(105%)}.js .in .ln>span,.js .ln.in>span{transform:none}.hero{padding-top:clamp(40px,8vh,96px);position:relative}.rules{pointer-events:none;position:absolute;inset:0}.rules .wrap{grid-template-columns:repeat(4,1fr);height:100%;display:grid}.rules .wrap>i{border-left:1px solid var(--line)}.rules .wrap>i:last-child{border-right:1px solid var(--line)}.hero__meta{grid-template-columns:repeat(4,1fr);padding-bottom:clamp(40px,9vh,110px);display:grid;position:relative}.hero__meta .label{padding-left:14px}.hero__meta .label:first-child{padding-left:0}.hero h1{position:relative}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.restless{cursor:default;padding-right:.04em;display:inline-block}.restless span{transition:transform .3s var(--ease);display:inline-block}.restless:hover span{animation:wwave .5s var(--ease) both;animation-delay:calc(var(--i) * 28ms)}@keyframes wwave{0%,to{font-weight:650}45%{font-weight:800;transform:translateY(-.04em)}}@keyframes fidget{0%{transform:none}35%{transform:translateY(-.09em) rotate(calc(var(--r) * 1deg))}70%{transform:translateY(.03em) rotate(calc(var(--r) * -.5deg))}to{transform:none}}.dot{background:var(--gj-color-accent);vertical-align:baseline;transform-origin:50% 100%;border-radius:50%;width:.15em;height:.15em;margin-left:.03em;display:inline-block}h1:hover .dot{animation:hop .9s var(--ease)}@keyframes hop{0%,to{transform:none}30%{transform:translateY(-.5em)scale(.9,1.1)}55%{transform:translateY(0)scale(1.25,.8)}75%{transform:translateY(-.08em)}}.hero__foot{align-items:end;row-gap:32px;margin-top:clamp(40px,7vh,80px);position:relative}.hero__foot .lead{grid-column:1/span 5;max-width:34rem}.hero__ctas{flex-wrap:wrap;grid-column:8/-1;justify-content:flex-end;gap:14px;display:flex}.mosaic{margin:clamp(56px,10vh,120px) 0 0;padding-bottom:clamp(56px,9vh,96px);position:relative}.mosaic__grid{grid-template-columns:80px repeat(90,minmax(0,1fr));align-items:center;gap:3px;display:grid}.mosaic__name{font:400 .68rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gj-color-text-subtle)}.cell{aspect-ratio:1;background:var(--gj-color-primary);opacity:var(--o,.1);transition:transform .6s var(--ease), opacity .6s;transition-delay:var(--d,0s);border-radius:1.5px}.js .cell{transform:scale(.4)}.js .mosaic.in .cell{transform:none}.cell.is-hot{background:var(--gj-color-accent);opacity:1;position:relative}.cell:hover{opacity:1}.mosaic figcaption{border-top:1px solid var(--line);font:400 .74rem/1.6 var(--f-mono);color:var(--gj-color-text-subtle);justify-content:space-between;gap:24px;margin-top:18px;padding-top:14px;display:flex}.mosaic figcaption b{color:var(--gj-color-accent);font-weight:400}.mosaic figcaption a{color:var(--gj-color-text-muted)}@media (width<=760px){.mosaic__grid{grid-template-columns:56px repeat(30,minmax(0,1fr))}.mosaic__grid .cell.old{display:none}.mosaic figcaption{flex-direction:column;gap:6px}}.sec{padding:clamp(80px,14vh,168px) 0;position:relative}.sec--ink{background:var(--ink)}.sec--line{border-top:1px solid var(--line)}.sec__head{align-items:start;row-gap:20px;margin-bottom:clamp(48px,8vh,88px)}.sec__head .label{grid-column:1/span 3;padding-top:.9em}.sec__head h2{grid-column:4/span 7}.sec__head .sec__aside{grid-column:4/span 5}.index{align-items:start}.index__list{border-top:1px solid var(--line);grid-column:1/span 7;margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--line);grid-template-columns:3rem minmax(0,1fr) auto;gap:6px 16px;padding:26px 0 24px;display:grid;position:relative}.row:after{content:"";background:var(--gj-color-primary);width:0;height:1px;transition:width .7s var(--ease);position:absolute;bottom:-1px;left:0}.row:hover:after,.row.is-active:after{width:100%}.row__no{font:400 .75rem/2.6 var(--f-mono);color:var(--gj-color-text-subtle)}.row__name{letter-spacing:-.045em;width:fit-content;transition:color .3s, transform .5s var(--ease);font-size:clamp(2rem,1rem + 3vw,3.6rem);line-height:1}.row:hover .row__name,.row.is-active .row__name{font-family:var(--f-sans);color:var(--gj-color-primary);letter-spacing:-.05em;font-weight:650;transform:translate(6px)}.row__tag{font:400 .7rem/2.6 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gj-color-text-subtle);text-align:right}.row__desc{color:var(--gj-color-text-muted);grid-column:2/-1;max-width:36rem;font-weight:300}.index--solo .index__list{grid-column:1/-1}.index__preview{grid-column:9/-1;position:sticky;top:110px}.pv{display:none}.pv.is-active{animation:pvIn .6s var(--ease);display:block}@keyframes pvIn{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.pv__cap{justify-content:space-between;margin-top:14px;display:flex}.ui{background:var(--gj-color-surface);border:1px solid var(--gj-color-border);border-radius:14px;font-size:.8rem;overflow:hidden;box-shadow:0 40px 80px -30px #000c,inset 0 1px #ffffff0a}.ui__bar{border-bottom:1px solid var(--gj-color-border);font:400 .7rem var(--f-mono);color:var(--gj-color-text-subtle);align-items:center;gap:8px;padding:12px 14px;display:flex}.ui__bar b{color:var(--gj-color-text);font-weight:500}.ui__bar .sp{margin-left:auto}.ui__body{gap:12px;padding:16px;display:grid}.ui__row{background:var(--gj-color-surface-raised);font-family:var(--f-mono);color:var(--gj-color-text-muted);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:.72rem;display:flex}.ui__row .r{margin-left:auto}.ok{color:var(--gj-color-primary)}.hot{color:var(--gj-color-accent)}.vio{color:var(--hue3)}.warn{color:var(--gj-color-warning)}.pipe{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.pipe span{border:1px solid var(--gj-color-border);font:400 .66rem var(--f-mono);color:var(--gj-color-text-muted);border-radius:6px;align-items:center;gap:6px;padding:9px 8px;display:flex}.pipe span.done{border-color:#a5ffbc4d}.pipe span.run{border-color:var(--gj-color-accent);color:var(--gj-color-text)}.pipe span.run i{background:var(--gj-color-accent);border-radius:50%;width:6px;height:6px;animation:1s infinite alternate blink}@keyframes blink{to{opacity:.2}}.bar{background:var(--gj-color-surface-raised);border-radius:99px;height:6px;overflow:hidden}.bar i{height:100%;width:var(--w);background:var(--gj-color-primary);border-radius:99px;display:block}.bar.v i{background:var(--hue3)}.field{border:1px solid var(--gj-color-border-strong);background:var(--gj-color-surface-raised);height:34px;font:400 .72rem var(--f-mono);color:var(--gj-color-text-subtle);border-radius:7px;align-items:center;padding:0 10px;display:flex}.fakebtn{background:var(--gj-color-primary);height:34px;color:var(--gj-color-on-primary);border-radius:7px;place-items:center;font-size:.78rem;font-weight:600;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font:400 .66rem var(--f-mono);border:1px solid var(--gj-color-border-strong);color:var(--gj-color-text-muted);border-radius:99px;padding:5px 9px}.sev{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.sev div{background:var(--gj-color-surface-raised);border-radius:8px;padding:10px}.sev b{letter-spacing:-.03em;font-size:1.3rem;font-weight:400;display:block}.sev small{font:400 .62rem var(--f-mono);color:var(--gj-color-text-subtle);text-transform:uppercase;letter-spacing:.08em}.log{font:400 .7rem/1.9 var(--f-mono);color:var(--gj-color-text-muted);padding:4px 2px}.log span{min-width:3.4em;display:inline-block}.cells{grid-template-columns:repeat(var(--n,3), 1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);display:grid}.cellx{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:18px;min-height:420px;padding:clamp(24px,3vw,44px);transition:background .4s;display:flex}.cellx:hover{background:#ffffff04}.cellx .num{font:200 3.2rem/1 var(--f-sans);color:var(--gj-color-primary)}.cellx h3{letter-spacing:-.03em;font-size:1.6rem;font-weight:400}.cellx p{color:var(--gj-color-text-muted);font-weight:300}.cellx .chips{margin-top:auto}.quote{letter-spacing:-.045em;grid-column:1/span 11;font-size:clamp(2rem,1rem + 4vw,5.2rem);font-weight:300;line-height:1.02}.quote .q{font-family:var(--f-sans);color:var(--gj-color-accent);vertical-align:-.15em;margin-right:.05em;font-size:1.2em;font-weight:200;line-height:0}.quote-by{grid-column:1/-1;margin-top:36px}.figs{grid-template-columns:repeat(var(--n,4), 1fr);border-top:1px solid var(--line);margin-top:clamp(64px,10vh,120px);display:grid}.fig{border-right:1px solid var(--line);padding:28px 24px 0 0}.fig+.fig{padding-left:24px}.fig:last-child{border-right:0}.fig b{letter-spacing:-.05em;margin-bottom:14px;font-size:clamp(2.4rem,1rem + 3vw,4rem);font-weight:300;line-height:1;display:block}.fig b sup{vertical-align:top;color:var(--gj-color-primary);margin-left:4px;font-size:.4em}.fig p{color:var(--gj-color-text-muted);max-width:15rem;font-size:.92rem;font-weight:300}.jlist{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.jrow{border-bottom:1px solid var(--line);transition:padding .5s var(--ease);grid-template-columns:9rem minmax(0,1fr) 9rem 5rem 2rem;align-items:baseline;gap:24px;padding:26px 0;display:grid}.jrow:hover{padding-left:12px}.jrow .t{letter-spacing:-.03em;font-size:clamp(1.25rem,1rem + .9vw,1.9rem);line-height:1.15}.jrow:hover .t{color:var(--gj-color-text)}.jrow .d,.jrow .m{font:400 .74rem var(--f-mono);color:var(--gj-color-text-subtle);letter-spacing:.04em}.jrow .a{transition:transform .4s var(--ease), color .3s;color:var(--gj-color-text-subtle)}.jrow:hover .a{color:var(--gj-color-primary);transform:translate(4px,-4px)}.cat{font:500 .66rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gj-color-text-muted);align-items:center;gap:8px;display:inline-flex}.cat:before{content:"";background:var(--c,var(--gj-color-primary));border-radius:50%;width:6px;height:6px}.cat--sec{--c:var(--gj-color-accent)}.cat--comp{--c:var(--hue3)}.cat--comp:before{box-shadow:inset 0 0 0 1.5px var(--c);background:0 0}.cat--co{--c:var(--gj-color-text-muted)}.cta{border-top:1px solid var(--line);padding:clamp(96px,16vh,200px) 0 clamp(64px,10vh,120px)}.cta .display{font-size:clamp(3rem,1rem + 8vw,9.5rem)}.cta__row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:32px;margin-top:48px;display:flex}.ftr{border-top:1px solid var(--line);padding-top:56px;overflow:hidden}.ftr__cols{row-gap:40px}.ftr__cols>div{flex-direction:column;grid-column:span 2;gap:10px;display:flex}.ftr__cols>div:first-child{grid-column:span 4}.ftr__cols a{color:var(--gj-color-text-muted);width:fit-content;font-size:.95rem}.ftr__cols a:hover{color:var(--gj-color-text)}.ftr__cols .label{margin-bottom:6px}.ftr__note{color:var(--gj-color-text-subtle);max-width:22rem;font-size:.9rem;font-weight:300}.kbd{font:500 .68rem var(--f-mono);border:1px solid var(--gj-color-border-strong);color:var(--gj-color-text-muted);border-bottom-width:2px;border-radius:4px;padding:1px 6px}.wordmark{letter-spacing:-.07em;user-select:none;color:#0000;-webkit-text-stroke:1px var(--gj-color-border-strong);justify-content:space-between;margin-top:80px;margin-bottom:-.03em;font-size:clamp(5rem,25.5vw,23rem);font-weight:500;line-height:.74;display:flex}.wordmark span{transition:color .5s var(--ease), transform .7s var(--ease), -webkit-text-stroke-color .5s;display:inline-block}.wordmark span:hover{color:var(--gj-color-primary);-webkit-text-stroke-color:var(--gj-color-primary);transform:translateY(-.06em)}.wordmark span.pink:hover{color:var(--gj-color-accent);-webkit-text-stroke-color:var(--gj-color-accent)}.ftr__base{border-top:1px solid var(--line);font:400 .72rem var(--f-mono);color:var(--gj-color-text-subtle);letter-spacing:.04em;z-index:1;background:var(--gj-color-bg);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:22px 0 28px;display:flex;position:relative}.gridov{z-index:90;pointer-events:none;opacity:0;transition:opacity .3s;position:fixed;inset:0}.gridov.on{opacity:1}.gridov .wrap,.gridov .grid12{height:100%}.gridov .grid12 i{background:#ff69b40f;border-left:1px solid #ff69b440;border-right:1px solid #ff69b440}.toast{z-index:95;opacity:0;transition:.4s var(--ease);background:var(--gj-color-surface-raised);border:1px solid var(--gj-color-border-strong);font:400 .74rem var(--f-mono);color:var(--gj-color-text-muted);pointer-events:none;white-space:nowrap;border-radius:999px;padding:10px 16px;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.on{opacity:1;transform:translate(-50%)}.phead{border-bottom:1px solid var(--line);padding:clamp(56px,12vh,140px) 0 clamp(48px,8vh,96px)}.phead .grid12{align-items:end;row-gap:28px}.phead .label{grid-column:1/-1}.phead h1{grid-column:1/span 10}.phead .lead{grid-column:1/span 6}.phead .phead__side{text-align:right;grid-column:9/-1;justify-self:end}.svc{border-bottom:1px solid var(--line);padding:clamp(64px,10vh,120px) 0}.svc .grid12{row-gap:40px}.svc__l{grid-column:1/span 4;align-self:start;position:sticky;top:110px}.svc__l .num{font:200 clamp(4rem, 2rem + 6vw, 8rem)/.8 var(--f-sans);letter-spacing:-.04em;color:var(--gj-color-primary);margin-bottom:20px;display:block}.svc__l h2{font-size:var(--t-h3);letter-spacing:-.035em}.svc__r{grid-column:6/-1;gap:40px;display:grid}.svc__r>p.lead{color:var(--gj-color-text);letter-spacing:-.02em;font-size:clamp(1.3rem,1rem + 1vw,1.9rem);line-height:1.35}.svc__r .lead em{font-size:1.08em}.deliv{border-top:1px solid var(--line);columns:2;column-gap:32px;margin:0;padding:0;list-style:none}.deliv li{break-inside:avoid;border-bottom:1px solid var(--line);color:var(--gj-color-text-muted);gap:14px;padding:14px 0;font-weight:300;display:flex}.deliv li:before{content:"+";font-family:var(--f-mono);color:var(--gj-color-primary)}.meta3{grid-template-columns:repeat(var(--n,3), 1fr);gap:24px;display:grid}.meta3 div{gap:8px;display:grid}.meta3 p:last-child{font-size:.95rem}.steps{grid-template-columns:repeat(var(--n,4), 1fr);border-top:1px solid var(--line);display:grid}.step{padding:28px 24px 0 0;position:relative}.step+.step{border-left:1px solid var(--line);padding-left:24px}.step .label{margin-bottom:48px}.step h2,.step h3{letter-spacing:-.03em;margin-bottom:12px;font-size:1.6rem;font-weight:400}.step p{color:var(--gj-color-text-muted);font-size:.95rem;font-weight:300}.step:before{content:"";background:var(--gj-color-bg);border:1px solid var(--gj-color-primary);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:0}.step+.step:before{left:-4px}.step:last-child:before{background:var(--gj-color-primary)}.featured{border-bottom:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:28px 24px;padding:clamp(48px,8vh,88px) 0;display:grid}.featured .cover{grid-column:1/span 7}.featured__txt{grid-column:9/-1;gap:22px;display:grid}.featured__txt h2{letter-spacing:-.04em;font-size:clamp(2rem,1rem + 2.4vw,3.4rem);font-weight:400;line-height:1.02}.cover{aspect-ratio:16/10;background:var(--gj-color-surface);border:1px solid var(--line);transition:transform .8s var(--ease);border-radius:6px;position:relative;overflow:hidden}a:hover>.cover{transform:scale(.985)}.cover svg{width:100%;height:100%}.filters{flex-wrap:wrap;gap:8px;padding:28px 0;display:flex}.filters button{border:1px solid var(--gj-color-border-strong);font:500 .7rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gj-color-text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;transition:all .2s}.filters button:hover{color:var(--gj-color-text)}.filters .count{align-self:center;margin-left:auto}html:not(.js) .filters,.card.is-hidden,.featured.is-hidden{display:none}.empty{color:var(--gj-color-text-subtle);grid-column:1/-1;padding:40px 0;font-weight:300;display:none}.cards.is-empty .empty{display:block}.filters button[aria-pressed=true]{background:var(--gj-color-text);color:var(--gj-color-bg);border-color:var(--gj-color-text)}.cards{grid-template-columns:repeat(3,1fr);gap:64px 24px;padding:24px 0 clamp(80px,12vh,140px);display:grid}.card{align-content:start;gap:16px;display:grid}.card h3{letter-spacing:-.03em;font-size:1.45rem;font-weight:400;line-height:1.15}.card p{color:var(--gj-color-text-muted);font-size:.95rem;font-weight:300}.card__meta{justify-content:space-between;display:flex}.card:hover h3{color:var(--gj-color-primary)}.art-head{padding:clamp(48px,10vh,120px) 0 clamp(40px,6vh,72px)}.art-head .grid12{row-gap:28px}.art-head .back{grid-column:1/-1}.art-head h1{letter-spacing:-.045em;grid-column:3/span 9;font-size:clamp(2.4rem,1rem + 4.6vw,5.8rem);font-weight:400;line-height:.98}.art-head .art-meta{flex-wrap:wrap;grid-column:3/span 9;align-items:center;gap:28px;display:flex}.art-cover{margin-bottom:clamp(48px,8vh,96px)}.art-cover .cover{aspect-ratio:21/8}.art{padding-bottom:clamp(80px,12vh,140px)}.art .grid12{row-gap:0}.prose{color:#d9dee6;grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;font-size:1.12rem;font-weight:300;line-height:1.75;display:grid}.prose>*{grid-column:4/span 6;margin:0}.prose>*+*{margin-top:1.3em}.prose h2{letter-spacing:-.035em;color:var(--gj-color-text);margin-top:2.2em;font-size:1.9rem;font-weight:400;line-height:1.15}.prose strong{color:var(--gj-color-text);font-weight:500}.prose a{color:var(--gj-color-primary);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat}.prose>p:first-child:first-letter{float:left;font:200 5.6em/.78 var(--f-sans);color:var(--gj-color-primary);margin:.06em .1em 0 -.04em}.prose ul{border-top:1px solid var(--line);padding:0;list-style:none}.prose li{border-bottom:1px solid var(--line);padding:12px 0 12px 32px;position:relative}.prose li:before{content:attr(data-n);font:400 .74rem/2.4 var(--f-mono);color:var(--gj-color-text-subtle);position:absolute;left:0}.prose>blockquote{font:300 clamp(2rem, 1rem + 2.8vw, 3.8rem)/1.05 var(--f-sans);letter-spacing:-.03em;color:var(--gj-color-text);border-left:2px solid var(--hue3);grid-column:3/span 9;margin-block:clamp(48px,8vh,80px);padding-left:clamp(16px,3vw,40px)}.prose>blockquote p{margin:0}.prose>p:has(img),.prose>figure{grid-column:2/span 10}.prose>figure{margin-block:clamp(40px,6vh,72px)}.prose figcaption{font:400 .74rem var(--f-mono);color:var(--gj-color-text-subtle);margin-top:14px}.prose figure img{margin:0}.prose img{width:100%;height:auto;margin:clamp(24px,4vh,48px) 0}.side{font:400 .74rem/1.7 var(--f-mono);color:var(--gj-color-text-subtle);grid-column:1/span 3;position:relative}.side>div{border-top:1px solid var(--line);padding-top:12px;position:absolute;left:0;right:24px}.side b{color:var(--hue3);font-weight:400}.pull{font:300 clamp(2rem, 1rem + 2.8vw, 3.8rem)/1.05 var(--f-sans);letter-spacing:-.03em;color:var(--gj-color-text);border-left:2px solid var(--hue3);grid-column:3/span 9;margin:clamp(48px,8vh,80px) 0;padding-left:clamp(16px,3vw,40px)}.pull span{color:var(--hue3)}.code{font:400 .82rem/1.8 var(--f-mono);background:var(--gj-color-surface);border:1px solid var(--gj-color-border);color:var(--gj-color-text-muted);white-space:pre;border-radius:10px;padding:18px 20px;overflow-x:auto}.code .c{color:var(--gj-color-text-subtle)}.code .k{color:var(--gj-color-primary)}.code .s{color:var(--gj-color-accent-hover)}.diagram{grid-column:2/span 10;margin:clamp(40px,6vh,72px) 0}.diagram figcaption{font:400 .74rem var(--f-mono);color:var(--gj-color-text-subtle);margin-top:14px}.author{border-top:1px solid var(--line);grid-column:4/span 6;align-items:center;gap:18px;margin-top:64px;padding-top:28px;display:flex}.fallback{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:400 .74rem var(--f-mono);color:var(--gj-color-text-subtle);letter-spacing:.04em;grid-column:4/span 6;align-items:center;gap:12px;margin-bottom:28px;padding:12px 0;display:flex}.fallback:before{content:"";width:6px;height:6px;box-shadow:inset 0 0 0 1.5px var(--gj-color-accent);border-radius:50%;flex:none}.fallback--index{grid-column:auto;margin:28px 0 0}.avatar{background:var(--gj-color-surface-raised);width:52px;height:52px;font:200 1.5rem var(--f-sans);color:var(--hue3);border:1px solid var(--gj-color-border-strong);border-radius:50%;flex:none;place-items:center;display:grid}.next{border-top:1px solid var(--line);padding:clamp(56px,9vh,100px) 0}.next a{gap:16px;display:grid}.next .h2{transition:color .3s}.next a:hover .h2{color:var(--gj-color-primary)}.contact{padding:clamp(56px,10vh,120px) 0 clamp(80px,12vh,140px)}.contact .grid12{row-gap:56px}.madlib{letter-spacing:-.035em;color:var(--gj-color-text-muted);grid-column:1/span 9;font-size:clamp(1.6rem,1rem + 2.3vw,3.3rem);font-weight:300;line-height:1.55}.madlib .blank{vertical-align:baseline;border:0;border-bottom:1px solid var(--gj-color-border-strong);color:var(--gj-color-text);font:inherit;letter-spacing:-.02em;width:var(--w,8ch);background:0 0;border-radius:0;max-width:100%;margin:0 .05em;padding:0 .1em;transition:border-color .3s;display:inline-block}.madlib .blank::placeholder{color:var(--gj-color-text-subtle);font-weight:400}.madlib textarea.blank::placeholder{font-weight:300}.madlib .blank:focus{outline-offset:2px;box-shadow:none;border-color:var(--gj-color-primary);outline:2px solid #0000}.madlib select.blank{-webkit-appearance:none;appearance:none;cursor:pointer;color:var(--gj-color-primary);font-family:var(--f-sans);background:linear-gradient(45deg, transparent 50%, var(--gj-color-primary) 50%) right .32em top 60%/.16em .16em no-repeat, linear-gradient(-45deg, transparent 50%, var(--gj-color-primary) 50%) right .16em top 60%/.16em .16em no-repeat;padding-right:.9em;font-style:normal;font-weight:600}.madlib select.blank option{font-family:var(--f-sans);background:var(--gj-color-surface);color:var(--gj-color-text);font-size:1rem;font-style:normal}.madlib textarea.blank{resize:vertical;width:100%;min-height:3.2em;margin-top:.3em;padding:.4em 0;font-size:.6em;line-height:1.5;display:block}.form-foot{flex-wrap:wrap;align-items:center;gap:28px;margin-top:48px;font-size:1rem;display:flex}.form-foot label{color:var(--gj-color-text-muted);cursor:pointer;letter-spacing:0;align-items:center;gap:10px;font-size:.92rem;display:inline-flex}.form-foot input[type=checkbox]{width:18px;height:18px;accent-color:var(--gj-color-primary)}.sent{font:400 .78rem var(--f-mono);color:var(--gj-color-primary);opacity:0;letter-spacing:0;transition:opacity .4s}.sent.on{opacity:1}.c-side{grid-column:10/-1;align-content:start;gap:36px;padding-top:12px;display:grid}.c-side>div{border-top:1px solid var(--line);gap:8px;padding-top:14px;display:grid}.c-side a{font-size:1.1rem}.c-side p{color:var(--gj-color-text-muted);font-size:.95rem;font-weight:300}.after{grid-column:1/-1}@media (width<=1100px){.index__list{grid-column:1/span 7}.index__preview{grid-column:8/-1}.jrow{grid-template-columns:7.5rem minmax(0,1fr) 8rem 2rem}.jrow .m{display:none}}@media (width<=960px){.sec__head .label,.sec__head h2,.sec__head .sec__aside{grid-column:1/-1;padding-top:0}.index__list,.index__preview{grid-column:1/-1}.index__preview{order:-1;margin-bottom:32px;position:relative;top:0}.cells{grid-template-columns:1fr}.cellx{min-height:0}.figs{grid-template-columns:1fr 1fr}.fig{border-bottom:1px solid var(--line);padding:24px 16px 28px 0}.fig+.fig{padding-left:0}.fig:nth-child(2n){border-right:0;padding-left:16px}.fig:nth-child(odd){border-right:1px solid var(--line)}.quote{grid-column:1/-1}.ftr__cols>div,.ftr__cols>div:first-child{grid-column:span 6}.hero__foot .lead,.hero__ctas{grid-column:1/-1;justify-content:flex-start}.svc__l,.svc__r{grid-column:1/-1;position:static}.steps{grid-template-columns:1fr 1fr;row-gap:40px}.step:nth-child(3){border-left:0;padding-left:0}.step:nth-child(3):before{left:0}.featured .cover,.featured__txt{grid-column:1/-1}.cards{grid-template-columns:1fr 1fr}.art-head h1,.art-head .art-meta,.prose,.prose>*,.prose>blockquote,.prose>p:has(img),.prose>figure,.author,.fallback,.pull,.diagram{grid-column:1/-1}.side{display:none}.madlib,.c-side,.phead h1,.phead .lead{grid-column:1/-1}.phead .phead__side{text-align:left;grid-column:1/-1;justify-self:start}}@media (width<=640px){.grid12{column-gap:12px}.hero__meta{grid-template-columns:1fr 1fr;row-gap:10px}.hero__meta .label:nth-child(n+3){display:none}.rules .wrap{grid-template-columns:1fr 1fr}.rules .wrap>i:nth-child(n+3){display:none}.rules .wrap>i:nth-child(2){border-right:1px solid var(--line)}.row{grid-template-columns:2rem minmax(0,1fr)}.row__tag{display:none}.jrow{grid-template-columns:1fr auto;row-gap:10px}.jrow .d{grid-row:1}.jrow .t{grid-column:1/-1}.jrow .cat{grid-area:1/2}.jrow .a{display:none}.deliv{columns:1}.meta3,.steps{grid-template-columns:1fr}.step+.step{border-left:0;padding-left:0}.step:before,.step+.step:before{left:0}.step .label{margin-bottom:20px}.cards{grid-template-columns:1fr;row-gap:48px}.figs{grid-template-columns:1fr}.fig,.fig:nth-child(odd),.fig:nth-child(2n){border-right:0;padding-left:0}.ftr__cols>div,.ftr__cols>div:first-child{grid-column:1/-1}.ftr__cols>div:not(:first-child){grid-column:span 6}.madlib{line-height:1.7}.madlib .blank{max-width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js .rv{opacity:1;transform:none}.js .ln>span,.js .cell{transform:none}}.ic{vertical-align:-.08em;width:.85em;height:.85em;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;background:currentColor;font-style:normal;display:inline-block}.ic.ne{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M4 12L12 4M5.5 4H12v6.5'/%3E%3C/svg%3E")}.ic.e{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M2.5 8h11M9 3.5L13.5 8 9 12.5'/%3E%3C/svg%3E")}.ic.w{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M13.5 8h-11M7 3.5L2.5 8 7 12.5'/%3E%3C/svg%3E")}.ic.s{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M8 2.5v11M3.5 9L8 13.5 12.5 9'/%3E%3C/svg%3E")}.ic.ck{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E")}.ic.dn{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}.ic.rss{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M3 13.5h.01M3 8.5a4.5 4.5 0 014.5 4.5M3 3.5a9.5 9.5 0 019.5 9.5'/%3E%3C/svg%3E")}.ic.tri{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3l6 10H2z'/%3E%3C/svg%3E");width:.7em;height:.7em}.ic.sq{vertical-align:0;border-radius:1.5px;width:.6em;height:.6em;-webkit-mask:none;mask:none}.btn .arr .ic{vertical-align:0;width:.95em;height:.95em}.madlib .gj-btn.btn{font-family:var(--f-sans);border:0;border-radius:999px;padding:1rem 1.4rem 1rem 1.5rem;font-size:1rem;font-weight:500;line-height:1.6}.madlib .gj-checkbox{color:var(--gj-color-text-muted);cursor:pointer;letter-spacing:0;align-items:center;gap:10px;font-size:.92rem;display:inline-flex}.madlib .gj-checkbox__input{width:18px;height:18px;accent-color:var(--gj-color-primary)}.sent.is-error{color:var(--gj-color-error)}.sent a{color:inherit;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat}.madlib .blank[aria-invalid=true]{border-bottom-color:var(--gj-color-error);color:var(--gj-color-error)}.madlib .blank[aria-invalid=true]::placeholder{color:var(--gj-color-error);opacity:.8}.madlib .blank[readonly]{opacity:.6}.madlib form.is-sending .blank{pointer-events:none}.madlib .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.spin{border:2px solid #0d0f1240;border-top-color:var(--gj-color-on-primary);border-radius:50%;width:1.6em;height:1.6em;animation:.9s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.done:focus{outline:none}.done .big{letter-spacing:-.045em;color:var(--gj-color-text);font-size:clamp(2rem,1rem + 3.2vw,4.4rem);font-weight:400;line-height:1.05}.done p.lead{max-width:30rem;font-size:var(--t-lead);letter-spacing:-.01em;margin-top:28px}.done .form-foot{margin-top:40px}.done .ok{font:400 .78rem var(--f-mono);color:var(--gj-color-primary);letter-spacing:0;align-items:center;gap:10px;display:inline-flex}.done .ok .tick{background:var(--gj-color-primary);width:1.5rem;height:1.5rem;color:var(--gj-color-on-primary);border-radius:50%;place-items:center;display:inline-grid}.done button.link{color:inherit;font:inherit;cursor:pointer;background-color:#0000;border:0}.skip{z-index:100;background:var(--gj-color-primary);color:var(--gj-color-on-primary);border-radius:999px;padding:8px 14px;position:absolute;top:8px;left:-9999px}.skip:focus{left:8px}.lang{font:500 .72rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gj-color-text-subtle)}.lang:hover{color:var(--gj-color-text)}.prose code{font:400 .88em var(--f-mono);color:var(--gj-color-text)}.prose pre{margin:0}.prose pre.astro-code,.prose pre{font:400 .82rem/1.8 var(--f-mono);border:1px solid var(--gj-color-border);border-radius:10px;padding:18px 20px;overflow-x:auto;background:var(--gj-color-surface)!important}.prose pre.astro-code span[style*=\#6A737D]{color:#959da5!important}.prose pre code{color:inherit}.legal{padding:clamp(40px,7vh,80px) 0 clamp(80px,12vh,140px)}.legal .grid12{align-items:start;row-gap:40px}.legal-nav{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.legal-nav a{border:1px solid var(--gj-color-border-strong);font:500 .7rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gj-color-text-muted);border-radius:999px;padding:8px 14px;transition:all .2s}.legal-nav a:hover{color:var(--gj-color-text)}.legal-nav a[aria-current=page]{background:var(--gj-color-text);color:var(--gj-color-bg);border-color:var(--gj-color-text)}.legal-nav .label{text-transform:none;letter-spacing:.04em;margin-left:auto}.toc{border-top:1px solid var(--line);grid-column:1/span 3;gap:2px;padding-top:12px;display:grid;position:sticky;top:100px}.toc a{font:400 .78rem/1.5 var(--f-mono);color:var(--gj-color-text-subtle);letter-spacing:.02em;grid-template-columns:2.4rem 1fr;gap:8px;padding:9px 0;transition:color .2s;display:grid}.toc a span:first-child{color:var(--gj-color-primary);font-weight:300}.toc a:hover,.toc a.is-here{color:var(--gj-color-text)}.toc .label{margin-top:20px}.ltext{color:#d9dee6;counter-reset:section;grid-column:5/span 7;max-width:42rem;font-size:1.08rem;font-weight:300;line-height:1.7}.ltext>*+*{margin-top:1.1em}.ltext>:not(h2){margin-left:calc(2.4rem + 8px)}.ltext>h2+*{margin-top:1.4em}.ltext h2{counter-increment:section;letter-spacing:-.03em;color:var(--gj-color-text);border-top:1px solid var(--line);grid-template-columns:2.4rem 1fr;align-items:baseline;gap:8px;margin-top:2.6em;padding-top:1.4em;scroll-margin-top:100px;font-size:1.6rem;font-weight:400;line-height:1.15;display:grid}.ltext h2:before{content:counter(section, decimal-leading-zero);font:300 .8rem var(--f-mono);color:var(--gj-color-primary);letter-spacing:.04em}.ltext>:first-child,.ltext>.meta+h2{border-top:0;margin-top:0;padding-top:0}.ltext>.meta{flex-wrap:wrap;gap:24px;margin-bottom:36px;margin-left:0;display:flex}.ltext .meta .label b{font-weight:500}.ltext h2:first-of-type+p{letter-spacing:-.015em;color:var(--gj-color-text);margin-bottom:1.6em;font-size:1.3rem;line-height:1.45}.ltext h3{color:var(--gj-color-text);margin-top:1.8em;font-size:1.1rem;font-weight:500}.ltext strong{color:var(--gj-color-text);font-weight:500}.ltext a{color:var(--gj-color-primary);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat}.ltext ul{border-top:1px solid var(--line);padding:0;list-style:none}.ltext li{border-bottom:1px solid var(--line);padding:10px 0 10px 28px;position:relative}.ltext li:before{content:"+";font:400 .85rem/1.9 var(--f-mono);color:var(--gj-color-primary);position:absolute;left:0}.ltext table{border-collapse:collapse;width:100%;font-size:.95rem}.ltext th,.ltext td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px 16px 12px 0}.ltext th{font:500 .68rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gj-color-text-subtle)}.ltext code{font:400 .88em var(--f-mono);color:var(--gj-color-text)}.facts{border-top:1px solid var(--line);grid-template-columns:11rem minmax(0,1fr);display:grid}.facts>*{border-bottom:1px solid var(--line);margin:0;padding:16px 0}.facts dt{font:500 .68rem/1.6 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gj-color-text-subtle);padding-right:16px}.facts dd{color:var(--gj-color-text);font-weight:300}.facts dd p{margin:0}.facts dd .note,.facts dd .note p{color:var(--gj-color-text-subtle);font-size:.85rem}.ph{border-bottom:1px dotted var(--gj-color-text-subtle);cursor:help}.ph:after{content:" · to fill in";font:400 .62rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gj-color-text-subtle);vertical-align:.25em}html[lang=nl] .ph:after{content:" · in te vullen"}@media (width<=960px){.toc{grid-column:1/-1;grid-template-columns:1fr 1fr;position:static}.toc .label{grid-column:1/-1}.ltext{grid-column:1/-1;max-width:none}}@media (width<=640px){.toc{grid-template-columns:1fr}.ltext>:not(h2){margin-left:0}.ltext h2{display:block}.ltext h2:before{margin-bottom:6px;display:block}.facts{grid-template-columns:1fr}.facts dt{border-bottom:0;padding-bottom:0}.legal-nav .label{flex-basis:100%;margin-left:0}}
