@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal.e3a28eade2.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal.08949f728d.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal.01d2854474.woff2) format("woff2")}:root{--ink: #0a0d10;--ink-1: #0e1317;--ink-2: #141a20;--line: #1f272e;--line-2: #2e3943;--paper: #eef1f3;--dim: #a7b2bc;--faint: #7a8894;--signal: #ffb020;--up: #a1e861;--down: #fb646d;--accent: var(--paper);--sans: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--gutter: clamp(20px, 4vw, 48px);--band: clamp(72px, 10vw, 136px);--radius: 14px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--ink);color:var(--paper);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}img{display:block;max-width:100%;height:auto}a{color:inherit}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}::selection{background:var(--signal);color:var(--ink)}.wrap{width:100%;max-width:calc(1200px + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.skip{position:absolute;left:12px;top:-80px;z-index:20;padding:10px 14px;border-radius:8px;background:var(--paper);color:var(--ink);font-weight:600;text-decoration:none}.skip:focus{top:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}h1,h2{font-family:var(--sans);font-weight:800;font-stretch:116%;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(2.5rem,6.3vw,5.5rem);line-height:.98}h1 em{display:block;color:var(--faint);font-style:normal}h2{font-size:clamp(1.9rem,4.2vw,3.25rem);font-weight:750;line-height:1.04;letter-spacing:-.03em}h3{font-size:1.1875rem;font-weight:650;line-height:1.3;letter-spacing:-.01em}.label{font:500 .75rem/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.label span{opacity:.5}.lead{max-width:34em;color:var(--dim);font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.55;text-wrap:pretty}.lead--narrow{margin-top:20px}.note{color:var(--faint);font:400 .8125rem/1.5 var(--mono)}.link{color:var(--paper);font-weight:550;text-decoration:underline;text-decoration-color:var(--line-2);text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color .15s}.link:hover{text-decoration-color:var(--accent)}.arrow{display:inline-block;transition:transform .2s ease}a:hover>.arrow,a:focus-visible>.arrow{transform:translate(3px)}.chip{display:inline-block;width:.6em;height:.6em;margin-right:.7em;border-radius:1px;background:var(--accent);vertical-align:.02em}.btn{display:inline-flex;align-items:center;gap:.6em;min-height:52px;padding:0 22px;border:1px solid var(--paper);border-radius:10px;background:var(--paper);color:var(--ink);font:650 1rem/1 var(--sans);letter-spacing:-.005em;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .15s}.btn .chip{margin-right:.15em;background:color-mix(in srgb,var(--accent) 100%,transparent);outline:1px solid rgb(10 13 16 / .35)}.btn:hover{background:#fff;border-color:#fff}.btn:active{transform:translateY(1px)}.btn--ghost{border-color:var(--line-2);background:transparent;color:var(--paper)}.btn--ghost .chip{outline:0}.btn--ghost:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.btn--accent{border-color:var(--accent);background:var(--accent)}.btn--accent:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 86%,white)}.btn--small{min-height:40px;padding:0 16px;border-color:var(--line-2);background:transparent;color:var(--paper);font-size:.9375rem;font-weight:600}.btn--small:hover{border-color:var(--paper);background:var(--paper);color:var(--ink)}.top{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--ink) 86%,transparent);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4)}.top__row{display:flex;align-items:center;gap:32px;height:68px}.logo{display:inline-flex;align-items:center;gap:11px;color:var(--paper);font:750 1.1875rem/1 var(--sans);font-stretch:112%;letter-spacing:-.025em;text-decoration:none}.logo .fn-mark{width:22px;height:22px}.top__nav{display:flex;gap:28px;margin-left:auto}.top__nav a{color:var(--dim);font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .15s}.top__nav a:hover{color:var(--paper)}.hero{padding-top:clamp(56px,8vw,112px);padding-bottom:var(--band)}.hero__eyebrow,.crumbs{margin-bottom:clamp(20px,3vw,32px)}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--paper)}.hero__row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px clamp(32px,6vw,96px);align-items:end;margin-top:clamp(28px,4vw,48px)}.hero__cta{display:grid;gap:14px;justify-items:start}.hero__buttons{display:flex;flex-wrap:wrap;gap:12px}.hero--home{--foot: clamp(40px, 5vw, 64px);position:relative;display:grid;align-items:center;min-height:clamp(540px,calc(100svh - 69px),840px);padding-block:clamp(32px,4.5vw,56px) var(--foot);overflow:hidden}.hero--home .wrap{position:relative;z-index:1}.hero__copy{max-width:min(36rem,48%)}.hero--home h1{color:var(--faint);font-size:clamp(2.5rem,5.3vw,4.75rem)}.hero--home h1 em{color:var(--paper)}.hero--home .lead{max-width:29em;margin-top:clamp(20px,2.4vw,28px)}.hero--home .hero__buttons{margin-top:clamp(24px,3vw,36px)}.hero--home .note{margin-top:14px}.stage{position:absolute;inset:0;pointer-events:none}.stage canvas{position:absolute;inset:0;width:100%;height:100%;animation:stage-in .9s ease both}.stage canvas{--mask: linear-gradient(#000 82%, transparent);-webkit-mask-image:var(--mask);mask-image:var(--mask)}.stage[data-frame=below] canvas{--mask: linear-gradient(transparent calc(var(--free-y) - 28px), #000 calc(var(--free-y) + 28px), #000 90%, transparent)}@keyframes stage-in{0%{opacity:0}}.stage[data-state=off]{display:none}.hero--home:has(.stage[data-state=off]){min-height:0;padding-bottom:var(--foot)}@media(scripting:none){.stage{display:none}.hero.hero--home{min-height:0;padding-bottom:var(--foot)}}.stage__frame{position:absolute;left:var(--frame-x, 0);top:var(--frame-y, 0);width:var(--frame-w, 0);height:var(--frame-h, 0)}.stage [data-on]{position:absolute;inset-inline:0;opacity:0;transition:opacity .3s ease}.stage[data-phase=build] [data-on~=build],.stage[data-phase=live] [data-on~=live],.stage[data-phase=load] [data-on~=load],.stage[data-phase=down] [data-on~=down],.stage[data-phase=rebuild] [data-on~=rebuild],.stage[data-phase=hold] [data-on~=hold],.stage[data-phase=out] [data-on~=out]{opacity:1}.stage__status,.stage__caption{position:absolute;inset-inline:var(--gutter);text-align:center}.stage__status{--status: var(--signal);top:2%;height:1.4em;color:var(--status);font:500 .75rem/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;transition:color .3s ease}.stage__status span:before{content:"";display:inline-block;width:.55em;height:.55em;margin-right:.7em;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.stage[data-phase=live] .stage__status,.stage[data-phase=load] .stage__status,.stage[data-phase=hold] .stage__status,.stage[data-phase=out] .stage__status{--status: var(--up)}.stage[data-phase=down] .stage__status{--status: var(--down)}.stage__caption{bottom:3%;height:2.6em;font-size:clamp(1rem,1.5vw,1.1875rem);font-weight:600;line-height:1.3;letter-spacing:-.01em;text-shadow:0 0 14px var(--ink),0 0 4px var(--ink);text-wrap:balance}.shot{margin-top:clamp(40px,6vw,72px);overflow:hidden;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--ink-1);box-shadow:0 0 0 1px #0006,0 48px 120px -48px color-mix(in srgb,var(--accent) 34%,transparent)}.shot figcaption{display:flex;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line);color:var(--faint);font:400 .75rem/1.4 var(--mono);letter-spacing:.04em}.shot figcaption span:first-child{color:var(--dim)}.shot a{display:block}.band .shot{margin-top:clamp(32px,4vw,56px)}.shot img{width:100%}.band{padding-block:var(--band);border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:24px clamp(24px,4vw,56px)}.band__index{padding-top:.9em}.band__main>h2{max-width:17em}.prose{color:var(--dim)}.prose p+p{margin-top:1.1em}.calls{margin-top:clamp(28px,4vw,48px);border-top:1px solid var(--line)}.call{display:grid;grid-template-columns:9.5rem minmax(0,1fr) auto;gap:10px 20px;align-items:center;padding:16px 4px 16px 14px;border-bottom:1px solid var(--line);box-shadow:inset 2px 0 0 transparent;transition:box-shadow .2s,background .2s}.call__tag{color:var(--faint);font:500 .75rem/1.4 var(--mono);letter-spacing:.09em;text-decoration:none;text-transform:uppercase}.call__tag:hover{color:var(--paper)}.call__say{quotes:"\201c" "\201d";font-size:clamp(1.0625rem,1.7vw,1.3125rem);font-weight:550;line-height:1.3;letter-spacing:-.015em}.call__picks{display:flex;gap:8px}.call__picks input,.next__picks input{position:absolute;width:1px;height:1px;opacity:0}.call__picks span,.next__picks span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--line-2);border-radius:9px;font-size:.9063rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.call__picks label:hover span,.next__picks label:hover span{border-color:var(--paper)}.call__picks input:checked+span,.next__picks input:checked+span{border-color:var(--paper);background:var(--paper);color:var(--ink)}.call__picks input:focus-visible+span,.next__picks input:focus-visible+span{outline:2px solid var(--signal);outline-offset:3px}.call__verdict{display:none;grid-column:2 / -1;max-width:46em;color:var(--dim);font-size:.9688rem;line-height:1.55}.call__verdict b{display:none;margin-right:.35em;font-weight:650}.call__verdict .link{margin-left:.5em;white-space:nowrap}.call__right{color:var(--up)}.call__wrong{color:var(--down)}.call:has(input:checked){background:var(--ink-1)}.call:has(input:checked) .call__verdict{display:block}.call[data-answer=approve]:has([value=approve]:checked),.call[data-answer=reject]:has([value=reject]:checked){box-shadow:inset 2px 0 0 var(--up)}.call[data-answer=approve]:has([value=reject]:checked),.call[data-answer=reject]:has([value=approve]:checked){box-shadow:inset 2px 0 0 var(--down)}.call[data-answer=approve]:has([value=approve]:checked) .call__right,.call[data-answer=reject]:has([value=reject]:checked) .call__right,.call[data-answer=approve]:has([value=reject]:checked) .call__wrong,.call[data-answer=reject]:has([value=approve]:checked) .call__wrong{display:inline}@supports not selector(:has(a)){.call__picks{display:none}.call__verdict{display:block}}.calls__score{margin-top:18px;padding-left:14px;color:var(--paper);font:500 .875rem/1.5 var(--mono)}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px clamp(20px,2.4vw,32px);margin-top:clamp(40px,5vw,64px)}.steps li{padding-top:18px;border-top:1px solid var(--line-2)}.steps__n{display:block;margin-bottom:28px;color:var(--signal);font:500 .8125rem/1 var(--mono);letter-spacing:.08em}.steps p{margin-top:10px;color:var(--dim);font-size:.9688rem;line-height:1.6}.tuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:clamp(32px,4vw,56px)}.tut{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-1);transition:border-color .2s}.tut:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line-2))}.tut__shot{display:block;overflow:hidden;border-bottom:1px solid var(--line);aspect-ratio:16 / 10}.tut__shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.tut:hover .tut__shot img{transform:scale(1.02)}.tut__body{display:flex;flex:1;flex-direction:column;padding:clamp(20px,2.6vw,30px)}.tut h3{margin-top:12px;font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:750;font-stretch:112%;line-height:1.1;letter-spacing:-.03em}.tut h3 a{text-decoration:none}.tut__lead{margin-top:12px;color:var(--dim);font-size:.9688rem}.tut__actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px 22px;margin-top:auto;padding-top:26px}.tut__actions>.link{margin-top:13px}.next{display:grid;gap:18px;margin-top:20px;padding:clamp(20px,2.6vw,30px);border:1px dashed var(--line-2);border-radius:var(--radius)}.next h3{margin-top:-6px;font-size:clamp(1.375rem,2.2vw,1.75rem);font-weight:750;font-stretch:112%;line-height:1.12;letter-spacing:-.03em}.next__picks{display:flex;flex-wrap:wrap;gap:8px}.next__row{display:flex;flex-wrap:wrap;gap:10px}.next__row label{flex:1 1 16rem;max-width:24rem}.next__row input{width:100%;min-height:52px;padding:0 16px;border:1px solid var(--line-2);border-radius:10px;background:var(--ink-1);color:var(--paper);font:400 1rem/1 var(--sans)}.next__row input::placeholder{color:var(--faint)}.next__row input:focus-visible{border-color:var(--paper);outline-offset:2px}.next__trap{position:absolute;left:-200vw}.next__error{color:var(--down);font-size:.9375rem}.next .note a,.leave .note a{color:var(--dim)}.next__done{display:none;color:var(--up);font-weight:600}.next__done:focus{outline:0}.next__done:target,[data-state=done]>.next__done{display:block}[data-state=done]>:is(.next__picks,.next__row,.note,.next__error){display:none}[data-state=sending] button{opacity:.6;pointer-events:none}.leave{display:grid;gap:12px;margin-top:1em}.prose--page .leave p{margin-top:0}.facts{display:flex;flex-wrap:wrap;gap:0 28px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.facts div{display:flex;flex-direction:column-reverse}.facts dt{color:var(--faint);font:400 .6875rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}.facts dd{font:700 1.625rem/1.2 var(--sans);font-stretch:112%;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.facts--wide{gap:20px clamp(28px,5vw,72px);margin-top:clamp(40px,6vw,72px);padding-top:24px;border-top-color:var(--line-2)}.facts--wide dd{font-size:clamp(1.875rem,3.6vw,2.75rem)}.start{display:grid;gap:10px;justify-items:start}.start__status{color:var(--dim);font:400 .75rem/1.4 var(--mono);letter-spacing:.02em}.start__bar{display:block;width:100%;min-width:180px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--accent) calc(var(--progress, 0) * 100%),var(--line-2) 0)}[hidden]{display:none!important}.faq{margin-top:clamp(28px,4vw,48px);border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:24px;padding:22px 4px;cursor:pointer;font-size:1.1875rem;font-weight:600;letter-spacing:-.01em;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";flex:none;color:var(--faint);font:400 1.25rem/1.2 var(--mono);transition:transform .2s ease,color .15s}.faq details[open] summary:after{transform:rotate(45deg);color:var(--signal)}.faq summary:hover:after{color:var(--paper)}.faq p{max-width:44em;padding:0 4px 26px;color:var(--dim)}.closer{padding-block:var(--band);border-top:1px solid var(--line);background:radial-gradient(60% 120% at 50% 120%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%),var(--ink);text-align:center}.closer .wrap{display:grid;gap:20px;justify-items:center}.closer h2{font-size:clamp(2.25rem,6vw,4.5rem)}.closer .hero__buttons{justify-content:center;margin-top:12px}.closer .start{justify-items:center;margin-top:12px}.closer__more{margin-top:8px;color:var(--faint);font-size:.9375rem}.foot{padding-block:56px 40px;border-top:1px solid var(--line);background:var(--ink-1);font-size:.9375rem}.foot__grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:40px clamp(24px,4vw,56px)}.foot__brand p{max-width:22em;margin-top:16px;color:var(--faint)}.foot h2{margin-bottom:14px}.foot li+li{margin-top:8px}.foot nav a{color:var(--dim);text-decoration:none}.foot nav a:hover{color:var(--paper)}.foot__legal{display:grid;gap:10px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);color:var(--faint);font-size:.8125rem;line-height:1.6}.foot__legal p:first-child{max-width:62em}.hero--tutorial h1{font-size:clamp(2.375rem,6.4vw,5.25rem)}.hero--tutorial .shot{margin-top:clamp(32px,4vw,56px)}.hero--plain{padding-bottom:clamp(48px,6vw,80px)}.hero--plain h1{font-size:clamp(2.25rem,5.6vw,4.5rem)}.hero--plain .lead{margin-top:24px}.hero--plain .hero__buttons{margin-top:32px}.hero--404{min-height:60vh;padding-bottom:var(--band)}.chapters{margin-top:clamp(40px,5vw,64px)}.chapter{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:20px clamp(24px,4vw,56px);padding-block:clamp(28px,3.4vw,44px);border-top:1px solid var(--line-2)}.chapter__head h3{margin-top:10px;font-size:clamp(1.375rem,2.2vw,1.75rem);font-weight:750;font-stretch:112%;line-height:1.12;letter-spacing:-.03em}.chapter__head p:last-child{margin-top:12px;color:var(--dim);font-size:.9688rem}.lesson{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line);scroll-margin-top:96px}.lesson:first-child{padding-top:2px}.lesson:last-child{border-bottom:0}.lesson__n{color:var(--faint);font:400 .8125rem/1.6 var(--mono)}.lesson__text{display:grid;gap:2px}.lesson__text b{font-weight:600}.lesson__text span{color:var(--dim);font-size:.9375rem;line-height:1.5}.lesson__kind{color:var(--faint);font:400 .6875rem/1.9 var(--mono);letter-spacing:.08em;text-transform:uppercase}.lesson--exam .lesson__kind,.lesson--exam .lesson__n{color:var(--accent)}.lesson:target{margin-inline:-14px;padding-inline:14px;border-radius:8px;border-bottom-color:transparent;background:color-mix(in srgb,var(--accent) 9%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.model{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px clamp(24px,4vw,56px);margin-top:clamp(32px,4vw,56px)}.model h3{padding-bottom:12px;border-bottom:1px solid var(--line-2)}.model h3:not(:first-child){margin-top:36px}.ticks li{position:relative;padding:13px 0 13px 26px;border-bottom:1px solid var(--line);color:var(--dim);font-size:.9688rem;line-height:1.55}.ticks li:before{content:"";position:absolute;left:2px;top:1.35em;width:8px;height:8px;border-radius:1px;background:var(--accent)}.ticks--out li:before{border:1px solid var(--faint);background:transparent}.model__units{margin-top:16px;color:var(--faint);font-size:.9063rem;line-height:1.55}.sources li{border-bottom:1px solid var(--line)}.sources a{display:flex;justify-content:space-between;padding:12px 0;color:var(--dim);font-size:.9688rem;text-decoration:none}.sources a:hover{color:var(--paper)}.prose--page{max-width:42em}.prose--page h2{margin-top:2em;color:var(--paper);font-size:1.375rem;font-weight:700;font-stretch:108%;letter-spacing:-.02em}.prose--page h2:first-child{margin-top:0}.prose--page p,.prose--page ul{margin-top:.9em}.prose--page li{padding:6px 0}code{padding:.15em .45em;border:1px solid var(--line);border-radius:5px;background:var(--ink-2);color:var(--paper);font:400 .875em var(--mono)}@media(max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:minmax(0,1fr)}.band__index{padding-top:0}}@media(max-width:860px){h1,h2,.logo,.tut h3,.chapter__head h3,.facts dd{font-stretch:100%}.top__nav a:nth-child(n+3){display:none}.hero__row,.tuts,.chapter,.model{grid-template-columns:minmax(0,1fr)}.hero--home{display:block;min-height:0;padding-bottom:min(92vw,560px)}.hero__copy{max-width:none}.foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot__brand{grid-column:1 / -1}.call{grid-template-columns:minmax(0,1fr)}.call__verdict{grid-column:1}}@media(max-width:560px){.top__row{gap:16px}.top__nav{display:none}.top .btn--small{margin-left:auto}.steps{grid-template-columns:minmax(0,1fr)}.steps__n{margin-bottom:14px}.hero__buttons,.hero__buttons .btn,.start,.start .btn,.next__row .btn{width:100%}.next__row label{max-width:none}.btn{justify-content:center}.shot figcaption span:last-child{display:none}.lesson{grid-template-columns:2rem minmax(0,1fr)}.lesson__kind{grid-column:2}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.top__account{color:var(--dim);font-size:.9375rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:color .15s}.top__account:hover{color:var(--paper)}@media(max-width:860px){.top__nav a.top__pricing{display:inline}}@media(max-width:560px){.top__account{margin-left:auto}.top .btn--small{margin-left:0;padding:0 14px}}.auth__wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,27rem);gap:40px clamp(32px,6vw,96px);align-items:start}.auth__card{display:grid;gap:18px;padding:clamp(22px,3vw,34px);border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-1)}.auth__start{display:grid;gap:18px}.auth__google{width:100%;justify-content:center;gap:12px}.auth__g{flex:none}.auth__or{display:flex;align-items:center;gap:14px;color:var(--faint);font:500 .75rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase}.auth__or:before,.auth__or:after{content:"";flex:1;height:1px;background:var(--line)}.auth__form{display:grid;gap:10px}.auth__form input{width:100%;min-height:52px;padding:0 16px;border:1px solid var(--line-2);border-radius:10px;background:var(--ink);color:var(--paper);font:400 1rem/1 var(--sans)}.auth__form input::placeholder{color:var(--faint)}.auth__form input:focus-visible{border-color:var(--paper);outline-offset:2px}.auth__form .btn{width:100%;justify-content:center}.auth__card button:disabled{cursor:default}.auth__card .btn:disabled{opacity:.6}.auth__sent:focus{outline:0}.auth__sent h2{font-size:clamp(1.5rem,2.6vw,1.875rem)}.auth__sent p{margin-top:10px;color:var(--dim)}.auth__sent b{color:var(--paper);font-weight:600;overflow-wrap:anywhere}.auth__again{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.auth__link{padding:0;border:0;background:none;color:var(--paper);font:inherit;font-weight:550;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:5px;cursor:pointer}.auth__link:hover{text-decoration-color:var(--paper)}.auth__link:disabled{color:var(--faint);text-decoration:none}.auth__wait{color:var(--faint);font:400 .8125rem/1.5 var(--mono)}.auth__error{color:var(--down)}.auth__notice{color:var(--up)}.auth__checking,.acct__loading{color:var(--dim);font:400 .875rem/1.5 var(--mono)}.auth__terms a{color:var(--dim)}@media(scripting:none){.auth__start,.acct__loading,.acct__grid{display:none}}.acct-band{padding-top:clamp(32px,4vw,56px)}.acct{display:grid;gap:20px}.acct:not([data-state=loading]) .acct__loading,.acct:not([data-state=ready]) .acct__grid{display:none}.acct__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.acct__card{display:grid;align-content:start;gap:14px;padding:clamp(20px,2.6vw,30px);border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-1);color:var(--dim)}.acct__card--wide{grid-column:1 / -1}.acct__big{color:var(--paper);font:750 clamp(1.375rem,2.4vw,1.875rem)/1.15 var(--sans);font-stretch:112%;letter-spacing:-.03em;text-wrap:balance}.acct__fine{color:var(--faint);font-size:.875rem}.acct__who{overflow-wrap:anywhere}.acct__tuts{margin-top:6px;border-top:1px solid var(--line)}.acct__tut{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 24px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.acct__tut-name{color:var(--paper);font-weight:600}.acct__tut .start__bar{grid-column:1 / -1;min-width:0}.acct__tut-go{white-space:nowrap}.acct__list li{color:var(--paper);overflow-wrap:anywhere}.acct__list li+li{margin-top:6px}.acct__buttons{display:flex;flex-wrap:wrap;gap:10px}.acct__danger{border-color:color-mix(in srgb,var(--down) 30%,var(--line))}.acct__delete{max-width:28rem;margin-top:6px}.acct__delete .label{text-transform:none;letter-spacing:.02em}.acct__delete [data-delete-email]{color:var(--paper);overflow-wrap:anywhere}.acct__delete-go,.acct__delete-go:hover{border-color:var(--down);background:var(--down);color:var(--ink)}.acct__delete-go:hover:not(:disabled){background:color-mix(in srgb,var(--down) 85%,white)}.acct__delete-go:disabled{opacity:.35}.acct__deleted{display:grid;gap:16px;max-width:34rem;color:var(--dim)}.acct__deleted:focus{outline:0}.acct__deleted h2{color:var(--paper)}@media(max-width:860px){.auth__wrap,.acct__grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.acct__tut{grid-template-columns:minmax(0,1fr) auto}.acct__tut .start__status{grid-row:2;grid-column:1 / -1}.acct__buttons .btn,.acct__unlock{width:100%;justify-content:center}}.next__status{display:none;color:var(--up);font-weight:600}.next__status:target{display:block}.next__status:focus{outline:0}.next__status--stale{color:var(--signal)}.next[data-state]>.next__status{display:none}.pricing__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px clamp(32px,6vw,96px);align-items:start}.pricing__tuts{margin-top:clamp(28px,4vw,44px);border-top:1px solid var(--line)}.pricing__tuts li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:16px 2px;border-bottom:1px solid var(--line)}.pricing__tuts a{font-weight:600;text-decoration:none}.pricing__tuts a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}.pricing__tuts li>span:last-child{color:var(--dim);font:400 .8125rem/1.8 var(--mono);white-space:nowrap}.pricing__next>span:first-child{color:var(--dim)}.buy{display:grid;gap:16px;padding:clamp(22px,3vw,36px);border:1px solid var(--line-2);border-radius:var(--radius);background:var(--ink-1)}.buy__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.buy__price b{font:750 clamp(3rem,6vw,4.25rem) / 1 var(--sans);font-stretch:112%;letter-spacing:-.03em}.buy__price span{color:var(--dim);font:400 .8125rem/1.4 var(--mono);letter-spacing:.02em}.buy__facts{display:grid;gap:6px;padding-bottom:8px;color:var(--dim);font-size:.9688rem}.buy__facts li:before{content:"\2713";margin-right:10px;color:var(--up)}.buy [data-buy-show]{display:none}.buy[data-state=loading] [data-buy-show=loading],.buy[data-state=signedout] [data-buy-show=signedout],.buy[data-state=confirming] [data-buy-show=confirming],.buy[data-state=pending] [data-buy-show=pending],.buy[data-state=unlocked] [data-buy-show=unlocked]{display:grid;gap:12px}.buy[data-state=ready] [data-buy-show=ready]{display:grid;gap:14px}.buy [data-buy-show]:focus{outline:0}.buy__wait{color:var(--dim);font:400 .875rem/1.5 var(--mono)}.buy__go{justify-content:center;width:100%}.buy__waiver{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--line-2);border-radius:10px;cursor:pointer;font-size:.9375rem;line-height:1.5;transition:border-color .15s}.buy__waiver:hover,.buy__waiver:has(input:checked){border-color:var(--dim)}.buy__waiver input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--up);cursor:pointer}.buy .note a{color:var(--dim)}.buy__big{font-size:1.375rem;font-weight:700;letter-spacing:-.01em;line-height:1.25}.buy__play{display:flex;flex-wrap:wrap;gap:8px 24px}.buy__play a{text-decoration-color:var(--line-2)}.buy__error{color:var(--down);font-size:.9375rem}.buy[data-sending] .buy__go{opacity:.6;pointer-events:none}.page-pricing .faq{margin-top:0}@media(max-width:860px){.pricing__grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.buy__waiver{transition:none}}.offer{margin-top:20px;color:var(--dim);font-size:.9688rem}.offer b{color:var(--paper);font-weight:650}.offer .link{margin-left:.4em;white-space:nowrap}.fn-consent{--fn-ink-1: #0e1317;--fn-ink-2: #141a20;--fn-line-2: #2e3943;--fn-paper: #eef1f3;--fn-dim: #a7b2bc;--fn-signal: #ffb020;--fn-sans: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--fn-consent-gap: 24px}.fn-consent,.fn-consent :is(*,:hover,:focus,:active){all:unset;box-sizing:border-box}.fn-consent[hidden],.fn-consent [hidden]{display:none!important}.fn-consent{position:fixed;z-index:2147483000;right:var(--fn-consent-gap);bottom:var(--fn-consent-gap);display:grid;gap:14px;width:min(400px,calc(100vw - 2 * var(--fn-consent-gap)));padding:18px 20px 20px;border:1px solid var(--fn-line-2);border-radius:14px;background:var(--fn-ink-1);box-shadow:0 18px 48px #00000080;color:var(--fn-paper);font:400 15px/1.5 var(--fn-sans);letter-spacing:0;text-align:left;-webkit-font-smoothing:antialiased}.fn-consent[data-place=top]{top:var(--fn-consent-gap);bottom:auto}.fn-consent:focus{outline:none}.fn-consent :is(a,button):focus-visible{outline:2px solid var(--fn-signal);outline-offset:2px}.fn-consent .fn-consent__text{display:grid;gap:6px}.fn-consent .fn-consent__title{display:block;padding-right:32px;font:650 16px/1.3 var(--fn-sans);letter-spacing:-.01em}.fn-consent .fn-consent__body,.fn-consent .fn-consent__status{display:block;color:var(--fn-dim)}.fn-consent .fn-consent__status{color:var(--fn-paper)}.fn-consent .fn-consent__body a{color:var(--fn-paper);text-decoration:underline;text-decoration-color:var(--fn-line-2);text-underline-offset:3px;cursor:pointer}.fn-consent .fn-consent__body a:hover{text-decoration-color:var(--fn-paper)}.fn-consent .fn-consent__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fn-consent .fn-consent__button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border:1px solid var(--fn-paper);border-radius:10px;background:var(--fn-paper);color:#0a0d10;font:650 15px/1.1 var(--fn-sans);text-align:center;cursor:pointer;transition:background .15s,border-color .15s}.fn-consent .fn-consent__button:hover{border-color:#fff;background:#fff}.fn-consent .fn-consent__button[aria-pressed=true]:before{content:"\2713";margin-right:.45em}.fn-consent .fn-consent__close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--fn-dim);font:400 22px/1 var(--fn-sans);cursor:pointer}.fn-consent .fn-consent__close:hover{background:var(--fn-ink-2);color:var(--fn-paper)}.fn-consent[data-game]{--fn-consent-gap: 16px;gap:12px;width:min(340px,calc(100vw - 2 * var(--fn-consent-gap)));padding:14px 16px 16px;font-size:13.5px}.fn-consent[data-game] .fn-consent__title{font-size:14.5px}.fn-consent[data-game] .fn-consent__button{min-height:40px;font-size:14px}@media(max-width:560px){.fn-consent,.fn-consent[data-game]{--fn-consent-gap: 0px;left:0;width:100%;gap:12px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:14px 14px 0 0;font-size:14px;line-height:1.45}.fn-consent[data-place=top]{padding:calc(14px + env(safe-area-inset-top)) 16px 14px;border-width:0 0 1px;border-radius:0 0 14px 14px}.fn-consent .fn-consent__title,.fn-consent[data-game] .fn-consent__title{font-size:15px}.fn-consent .fn-consent__button,.fn-consent[data-game] .fn-consent__button{min-height:44px;font-size:14.5px}}@media(prefers-reduced-motion:reduce){.fn-consent .fn-consent__button{transition:none}}.foot__grid{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr))}.foot__button{padding:0;border:0;background:none;color:var(--dim);font:inherit;text-align:left;cursor:pointer}.foot__button:hover{color:var(--paper)}.legal__meta{margin-top:16px;color:var(--faint);font:400 .8125rem/1.5 var(--mono)}.legal__toc{align-self:start;position:sticky;top:100px;padding-top:.35em}.legal__toc ol{display:grid;gap:8px;margin-top:16px;font-size:.9375rem;line-height:1.4}.legal__toc a{color:var(--faint);text-decoration:none}.legal__toc a:hover{color:var(--paper)}.legal__body{max-width:46em}.legal__section+.legal__section{margin-top:3em}.legal__body h3{margin-top:2em;color:var(--paper);font-size:1.0625rem}.legal__body strong{color:var(--paper);font-weight:600}.legal__body a:not(.btn){color:var(--paper);text-decoration-color:var(--line-2);text-underline-offset:4px;overflow-wrap:anywhere}.legal__body a:not(.btn):hover{text-decoration-color:var(--paper)}.legal__list{display:grid;gap:2px;padding-left:1.2em;list-style:disc}.legal__list li::marker{color:var(--faint)}.legal__facts{display:grid;margin-top:.9em;border-top:1px solid var(--line)}.legal__facts>div{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:4px 20px;padding:12px 0;border-bottom:1px solid var(--line)}.legal__facts dt{color:var(--faint);font:500 .75rem/1.9 var(--mono);letter-spacing:.06em;text-transform:uppercase}.legal__facts dd{margin:0}.legal__action,.legal__table{margin-top:1.2em}.legal__table table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9375rem;line-height:1.5}.legal__table th,.legal__table td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.legal__table th{color:var(--faint);font:500 .75rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}.legal__table th:nth-child(1){width:36%}.legal__table th:nth-child(3){width:20%}.legal__table th:nth-child(4){width:14%}.legal__table code{font-size:.8125rem;overflow-wrap:anywhere}.legal__kind{display:block;margin-top:6px;color:var(--faint);font-size:.875rem}@media(max-width:760px){.legal__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.legal__table table,.legal__table tbody,.legal__table tr,.legal__table td{display:block}.legal__table tr{padding:12px 0;border-bottom:1px solid var(--line)}.legal__table td{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:12px;padding:4px 0;border:0}.legal__table td>*{grid-column:2;min-width:0}.legal__table td:before{content:attr(data-label);color:var(--faint);font:500 .6875rem/2 var(--mono);letter-spacing:.06em;text-transform:uppercase}}@media(max-width:1000px){.legal__toc{display:none}}@media(max-width:860px){.foot__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal__facts>div{grid-template-columns:minmax(0,1fr)}}.t-kafka{--accent:#a1e861}.t-redis{--accent:#fb646d}
