:root{--verm:#FF5126;--verm-d:#D63E17;--on-accent:#0E0F11;--focus:#FF5126;--f-display:"Geist",system-ui,sans-serif;--f-mono:"Geist Mono",ui-monospace,monospace;--f-ui:Arial,Helvetica,sans-serif;--r-chip:6px;--r-input:10px;--r-card:14px;--r-tile:14px;--r-pill:999px;--ease:cubic-bezier(.2,.7,.2,1);--ease-io:cubic-bezier(.65,0,.35,1);--t-micro:120ms;--t-fast:180ms;--t:220ms;--t-reveal:240ms;--t-pen:800ms;--t-loop:10000ms;--wrap:1200px;--gutter:24px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--s-12:48px;--s-16:64px;--s-24:96px;--s-32:128px;--shadow-frame:0 20px 60px rgba(0,0,0,.35)}:root,[data-theme=dark]{--bg:#0E0F11;--surface:#17191D;--raised:#1F2228;--line:#2C3037;--line-2:#4A505A;--text:#F6F3EC;--text-2:#A3A8B0;--text-3:#8A8F98;--accent-text:#FF6A44;--ok:#3FA97A;--warn:#E3A23B;--run:#9DB4D3;--queued:#8A8F98;--review:#A3A8B0;--lift:inset 0 1px 0 rgba(255,255,255,.05);--tex:url(/assets/texture-graphite.png);--ink-vermilion:#FF6A44;--ink-teal:#5EEAD4;--ink-magenta:#FF85C0;--ink-slate:#D0D5DD;color-scheme:dark}[data-theme=light]{--bg:#F6F3EC;--surface:#FFFDF8;--raised:#FFFFFF;--line:#E2DDD2;--line-2:#A9A397;--text:#0E0F11;--text-2:#4E535B;--text-3:#5E636B;--accent-text:#B3330F;--ok:#23774F;--warn:#8A5A0B;--run:#3D5F8C;--queued:#5E636B;--review:#4E535B;--lift:0 1px 2px rgba(14,15,17,.05),0 8px 24px rgba(14,15,17,.05);--tex:url(/assets/texture-paper.png);--ink-vermilion:#FF5126;--ink-teal:#00857A;--ink-magenta:#C11574;--ink-slate:#344054;color-scheme:light}:root{--f-head:"Schibsted Grotesk","Geist",system-ui,sans-serif;--f-body:"Geist",system-ui,sans-serif;--paper:#F6F3EC;--bone:#FFFDF8;--graphite:#0E0F11;--carbon:#17191D;--panel:#1F2228;--pen:#FF5126;--pen-deep:#D63E17;--pen-ink:#B3330F;--sage:#3FA97A;--sage-ink:#23774F;--steel:#9DB4D3;--steel-ink:#3D5F8C;--amber:#E3A23B;--amber-ink:#8A5A0B;--r-proof:4px;--r-ctl:10px;--d-1:120ms;--d-2:220ms;--d-3:480ms;--d-4:900ms;--e-pen:cubic-bezier(.2,.7,.2,1);--e-move:cubic-bezier(.45,0,.2,1);--e-scene:cubic-bezier(.87,0,.13,1);--step--1:clamp(13px,.78rem + .1vw,14px);--step-0:clamp(16px,.96rem + .14vw,17.5px);--step-1:clamp(18px,1.05rem + .35vw,21px);--step-2:clamp(22px,1.2rem + .9vw,30px);--step-3:clamp(30px,1.4rem + 2.2vw,52px);--step-4:clamp(40px,1.6rem + 4vw,84px);--step-5:clamp(46px,1.4rem + 6.4vw,120px);--z-hdr:50;--z-menu:120;--z-dialog:130}:root,[data-theme=dark]{--line-3:#3A3F47;--desk:#0B0C0E;--shadow-proof:0 1px 0 rgba(255,255,255,.04) inset,0 30px 60px -20px rgba(0,0,0,.65),0 12px 24px -12px rgba(0,0,0,.5);--shadow-lift:0 18px 40px -18px rgba(0,0,0,.7);--pen-text:#FF6A44;--hl:rgba(255,81,38,.14)}[data-theme=light]{--line-3:#CFC8BA;--desk:#EDE8DD;--shadow-proof:0 1px 0 rgba(255,255,255,.7) inset,0 30px 50px -28px rgba(46,38,24,.35),0 8px 18px -10px rgba(46,38,24,.18);--shadow-lift:0 18px 40px -22px rgba(46,38,24,.35);--pen-text:#B3330F;--hl:rgba(255,81,38,.12)}.inkworld{--bg:#0E0F11;--surface:#17191D;--raised:#1F2228;--line:#2C3037;--line-2:#4A505A;--line-3:#3A3F47;--text:#F6F3EC;--text-2:#A3A8B0;--text-3:#8A8F98;--accent-text:#FF6A44;--pen-text:#FF6A44;--ok:#3FA97A;--warn:#E3A23B;--run:#9DB4D3;--queued:#8A8F98;--review:#A3A8B0;color:var(--text)}.paperworld{--bg:#F6F3EC;--surface:#FFFDF8;--raised:#FFFFFF;--line:#E2DDD2;--line-2:#A9A397;--line-3:#CFC8BA;--text:#0E0F11;--text-2:#4E535B;--text-3:#5E636B;--accent-text:#B3330F;--pen-text:#B3330F;--ok:#23774F;--warn:#8A5A0B;--run:#3D5F8C;--queued:#5E636B;--review:#4E535B;color:var(--text);background:#F6F3EC url(/assets/texture-paper.png) 50%/cover}*{box-sizing:border-box}html{scroll-padding-top:96px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:400 var(--step-0)/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--t) var(--ease),color var(--t) var(--ease);overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:inherit}::selection{background:var(--pen);color:#0E0F11}.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,32px)}.mono{font-family:var(--f-mono)}.eyebrow{display:flex;align-items:center;gap:10px;font:500 12.5px/1.3 var(--f-mono);letter-spacing:.01em;color:var(--text-3);margin:0 0 18px}.eyebrow b{color:var(--pen-text);font-weight:500}h1,h2,h3{font-family:var(--f-head);font-weight:800;letter-spacing:-.035em;margin:0;text-wrap:balance}h1{font-size:var(--step-4);line-height:.98}h2{font-size:var(--step-3);line-height:1.02}h3{font-size:var(--step-1);line-height:1.2;font-weight:700;letter-spacing:-.02em}p{margin:0 0 1em;text-wrap:pretty}.lede{font-size:var(--step-1);line-height:1.5;color:var(--text-2);max-width:56ch}.small{font-size:14px}.muted{color:var(--text-2)}.skip{position:absolute;left:-999px;top:0}.skip:focus{left:16px;top:12px;z-index:200;background:var(--verm);color:#0E0F11;padding:10px 16px;border-radius:8px;font-weight:600}:focus-visible{outline:2px solid var(--verm);outline-offset:3px;border-radius:4px}.hdr{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-hdr);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);border-bottom:1px solid transparent;transition:border-color var(--d-2) var(--ease),background-color var(--d-2) var(--ease)}.auth-root .hdr,.hdr.is-scrolled,.hdr.solid{border-bottom-color:var(--line)}.hdr .wrap{display:flex;align-items:center;gap:20px;min-height:72px;transition:min-height var(--d-2) var(--ease)}.hdr.is-scrolled .wrap{min-height:60px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:700 21px/1 var(--f-display);letter-spacing:-.045em;flex:none}.brand img{transition:transform var(--d-3) var(--e-pen)}.brand:hover img{transform:rotate(-14deg)}.nav{display:flex;gap:4px;margin-left:auto;align-items:center}.nav a{position:relative;text-decoration:none;font:500 15px/1 var(--f-body);color:var(--text-2);padding:10px 12px;border-radius:8px;transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.nav a:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.nav a:hover,.nav a[aria-current=page]{color:var(--text)}.nav .ink{position:absolute;left:8px;right:8px;bottom:0;width:calc(100% - 16px);height:8px;overflow:visible}.ink path{fill:none;stroke:var(--verm);stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke}.tgl{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer;flex:none;transition:border-color var(--t-fast) var(--ease),transform var(--d-3) var(--e-pen)}.tgl:hover{border-color:var(--line-2)}.tgl:active{transform:rotate(-30deg) scale(.94)}.tgl svg{width:18px;height:18px}[data-theme=dark] .tgl .sun,[data-theme=light] .tgl .moon{display:none}.hdr-signin{text-decoration:none;font:500 15px/1 var(--f-body);color:var(--text-2);padding:10px 4px;white-space:nowrap;transition:color var(--t-fast) var(--ease)}.hdr-menu-btn,.hdr-signin:hover{color:var(--text)}.hdr-menu-btn{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:transparent;cursor:pointer;place-items:center;flex:none}.hdr-menu-btn svg{width:20px;height:20px}.mmenu{position:fixed;inset:0;z-index:var(--z-menu);background:var(--bg);display:flex;flex-direction:column;padding:16px clamp(18px,4vw,32px) 28px;overflow:auto}.mmenu:before{content:"";position:absolute;inset:0;background:var(--tex) center/cover no-repeat;opacity:.35;pointer-events:none}.mmenu>*{position:relative}.mmenu-top{display:flex;align-items:center;justify-content:space-between;min-height:56px}.mmenu nav{display:flex;flex-direction:column;margin:28px 0 auto}.mmenu nav a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;text-decoration:none;font:800 clamp(34px,10vw,56px)/1.05 var(--f-head);letter-spacing:-.04em;padding:12px 0;border-bottom:1px solid var(--line);color:var(--text)}.mmenu nav a span{font:500 12px/1 var(--f-mono);letter-spacing:0;color:var(--text-3)}.mmenu nav a[aria-current=page]{color:var(--pen-text)}.mmenu-foot{display:grid;grid-gap:10px;gap:10px;margin-top:32px}.mmenu-foot .btn{width:100%}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;border-radius:999px;font:600 15.5px/1 var(--f-body);letter-spacing:-.01em;text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform var(--d-2) var(--e-pen),box-shadow var(--d-2) var(--ease),border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.btn-primary{background:var(--verm);color:#0E0F11;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.14)}.btn-primary:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.14),0 10px 24px -10px rgba(255,81,38,.75)}.btn-primary:active{background:var(--verm-d);transform:translateY(0) scale(.98)}.btn-ghost{border-color:var(--line-2);color:var(--text);background:transparent}.btn-ghost:hover{border-color:var(--text);transform:translateY(-1px)}.btn-ghost:active{transform:scale(.98)}.btn-sm{height:38px;padding:0 16px;font-size:14px}.btn .kbd-hint{font:500 11px/1 var(--f-mono);opacity:.7}.btn-play{gap:12px;padding-left:8px}.btn-play .pl{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--bg)}.btn-play .pl svg{width:12px;height:12px;margin-left:2px}.card{border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--lift)}.card,.proof{background:var(--surface)}.proof{border:1px solid var(--line);border-radius:var(--r-proof);box-shadow:var(--shadow-proof)}.crop,.proof{position:relative}.crop:after,.crop:before{content:"";position:absolute;width:14px;height:14px;pointer-events:none;border-color:var(--line-2);border-style:solid;opacity:.9}.crop:before{left:-9px;top:-9px;border-width:1px 0 0 1px}.crop:after{right:-9px;bottom:-9px;border-width:0 1px 1px 0}.chip{display:inline-flex;align-items:center;gap:6px;font:500 12px/1 var(--f-mono);padding:6px 8px;border-radius:var(--r-chip);border:1px solid var(--line);color:var(--text-2);white-space:nowrap;background:transparent}.chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.chip.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.chip.run{color:var(--run);border-color:color-mix(in srgb,var(--run) 45%,transparent)}.chip.acc{color:var(--accent-text);border-color:color-mix(in srgb,var(--verm) 45%,transparent)}.chip.queued{color:var(--queued)}.chip.review{color:var(--review);border-color:var(--line-2)}.chip.sim{color:var(--text-3);border-style:dashed;border-color:var(--line-2);white-space:normal;line-height:1.3}.chip svg{display:inline-block}.browser{border-radius:10px;overflow:hidden;border:1px solid #dcd5c7;background:#FFFDF8;box-shadow:var(--shadow-proof)}.browser-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #e2ddd2;background:#FFFDF8}.browser-bar i{width:9px;height:9px;border-radius:50%;background:#D6CFC1;display:inline-block}.url{display:inline-flex;align-items:center;gap:6px;margin-left:6px;padding:5px 12px;border-radius:999px;background:#F0ECE3;font:500 12px/1.2 var(--f-mono);color:#3A3F47;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.url svg{width:11px;height:11px;flex:none}.sect{padding:clamp(88px,11vw,152px) 0;position:relative}.sect-head{max-width:820px;margin-bottom:clamp(40px,5vw,72px)}.sect-head p{margin-top:20px}.sect-head h2{max-width:18ch}.tex{position:relative;isolation:isolate}.tex:before{content:"";position:absolute;inset:0;background:var(--tex) center/cover no-repeat;opacity:.28;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}.stamp{display:inline-flex;align-items:center;gap:10px;font:500 12.5px/1 var(--f-mono);color:var(--text-3)}.stamp b,.stamp time{color:var(--text);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stamp:before{content:"";width:22px;height:1px;background:var(--line-2)}.hl-pen{background:linear-gradient(transparent 62%,var(--hl) 62%);padding:0 .08em}.ftr{position:relative;padding:96px 0 40px;background:var(--desk);border-top:1px solid var(--line);overflow:hidden;isolation:isolate}.ftr:before{content:"";position:absolute;inset:0;background:var(--tex) center/cover no-repeat;opacity:.3;z-index:-1}.ftr-sign{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-gap:40px;gap:40px;align-items:end;padding-bottom:64px;margin-bottom:56px;border-bottom:1px solid var(--line)}.ftr-sign h2{font-size:var(--step-4);line-height:.95;max-width:12ch}.ftr-sign h2 span{color:var(--text-3)}.ftr-sign .acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.ftr-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);grid-gap:40px;gap:40px}.ftr h4{font:500 12.5px/1 var(--f-mono);color:var(--text-3);margin:6px 0 18px}.ftr ul{list-style:none;margin:0;padding:0}.ftr li{margin:0 0 12px}.ftr li a{text-decoration:none;color:var(--text-2);font-size:15px;transition:color var(--t-fast) var(--ease)}.ftr li a:hover{color:var(--text)}.ftr-brand p{color:var(--text-2);font-size:15px;max-width:34ch;margin-top:16px}.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:64px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--text-3)}.ftr-logo-light{display:none;height:32px;width:auto}[data-theme=light] .ftr .ftr-logo-light{display:block}[data-theme=light] .ftr .ftr-logo-dark{display:none!important}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:1060px){.hdr .hdr-cta,.hdr .hdr-signin,.nav{display:none}.hdr-menu-btn{display:grid}.hdr .tgl{margin-left:auto}}@media (max-width:900px){.ftr-top{grid-template-columns:1fr 1fr}.ftr-sign{grid-template-columns:1fr}.ftr-sign .acts{justify-content:flex-start}}@media (max-width:520px){.ftr-top{grid-template-columns:1fr}.btn{height:48px}}.ferr{margin:-8px 0 14px;font:500 13px/1.4 var(--f-body);color:var(--warn)}input.bad,select.bad,textarea.bad{border-color:var(--warn)!important}.spin{animation:yspin 1s linear infinite}@keyframes yspin{to{transform:rotate(1turn)}}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-danger{border-color:color-mix(in srgb,var(--warn) 55%,transparent);color:var(--warn);background:transparent}.btn-danger:hover{border-color:var(--warn)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}.drawer-wrap{position:fixed;inset:0;z-index:90;background:rgba(14,15,17,.6);display:flex;justify-content:flex-end;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer{width:min(720px,100%);height:100%;overflow:auto;border-left:1px solid var(--line);outline:none;flex-direction:column;box-shadow:-30px 0 60px -30px rgba(0,0,0,.5)}.drawer,.drawer-head{background:var(--surface);display:flex}.drawer-head{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);font:700 16px/1.2 var(--f-head);letter-spacing:-.01em;position:-webkit-sticky;position:sticky;top:0;z-index:1}.drawer-body{padding:20px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:95;background:var(--raised);color:var(--text);border:1px solid var(--line);border-left:3px solid var(--verm);border-radius:10px;padding:12px 16px;font:14px/1.4 var(--f-ui);box-shadow:var(--shadow-lift)}mark.flag{background:color-mix(in srgb,var(--warn) 25%,transparent);color:inherit;border-radius:3px;padding:0 2px}.nf{padding:clamp(72px,10vw,140px) 0;border-bottom:1px solid var(--line)}.nf-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);grid-gap:clamp(24px,5vw,72px);gap:clamp(24px,5vw,72px);align-items:center}.nf-num{position:relative;justify-self:start;width:-moz-fit-content;width:fit-content;margin:0;font:500 clamp(110px,18vw,240px)/1 var(--f-mono);letter-spacing:-.08em;color:var(--text)}.nf-num svg{position:absolute;left:-6%;top:-8%;width:104%;height:116%;overflow:visible}.nf-num path{fill:none;stroke:var(--verm);stroke-width:3;stroke-linecap:round}.nf .lede{margin-top:20px}.nf-acts{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}@media (max-width:800px){.nf-grid{grid-template-columns:minmax(0,1fr)}}