@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin-wght-normal.woff2)format("woff2");font-weight:100 900;font-display:swap;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:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin-ext-wght-normal.woff2)format("woff2");font-weight:100 900;font-display:swap;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;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2)format("woff2");font-weight:500;font-display:swap}:root{--stone:#e8e7e3;--paper:#f4f3f0;--ink:#1d1e20;--ink-2:#0e0f10;--grey:#c4c2bb;--line-d:#3a3b3e;--mut:#5f5f5c;--mut-d:#a9a8a3;--table:#d7d5ce;--c1:#ff6b35;--c2:#ffa9c9;--c3:#3d9b56;--c4:#2b79de;--c5:#fbbb2c;--c6:#e0481b;--sans:"Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--gutter:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--stone)}body{background:var(--stone);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,video{max-width:100%;display:block}::selection{background:var(--c5);color:var(--ink)}:focus-visible{outline:2px solid var(--c1);outline-offset:3px}[id]{scroll-margin-top:16px}.mono{font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;font-size:11px;line-height:14px}.muted{color:var(--mut)}.dark .muted{color:var(--mut-d)}.right{text-align:right;justify-self:end}.tabular{font-variant-numeric:tabular-nums}.light{font-weight:300}.spread{justify-content:space-between;gap:16px;display:flex}.skip{position:absolute;left:-9999px}.skip:focus{z-index:100;background:var(--ink);color:var(--stone);padding:12px 16px;top:16px;left:16px}.g{padding-inline:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;display:grid}.s1{grid-column:span 1}.s2{grid-column:span 2}.s3{grid-column:span 3}.s4{grid-column:span 4}.s5{grid-column:span 5}.s6{grid-column:span 6}.s9{grid-column:span 9}.c1{--c:var(--c1)}.c2{--c:var(--c2)}.c3{--c:var(--c3)}.c4{--c:var(--c4)}.c5{--c:var(--c5)}.c6{--c:var(--c6)}.hw,.rw{transition:background-color .22s}.hw:hover,.rw:hover{background-color:var(--c)}.rw:hover .muted{color:var(--ink)}.btn{background-color:var(--ink);height:54px;color:var(--stone);background-image:linear-gradient(var(--c1), var(--c1));background-repeat:no-repeat;background-size:0% 100%;justify-content:space-between;align-items:center;gap:24px;min-width:220px;padding:0 20px;font-size:15px;font-weight:600;transition:background-size .4s cubic-bezier(.2,.7,.2,1),color .3s;display:flex}:is(.btn:hover,.btn:focus-visible){color:var(--ink);background-size:100% 100%}.btn>span:last-child{animation:2.6s cubic-bezier(.2,.7,.2,1) infinite nudge;display:inline-block}.btn:hover>span:last-child{transition:transform .25s;animation:none;transform:translate(4px,-4px)}.btn.ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background-color:#0000}@keyframes nudge{0%,70%,to{transform:none}82%{transform:translate(4px,-4px)}}.link{align-items:center;gap:8px;min-height:44px;display:inline-flex}.label{color:var(--mut);padding-top:24px;padding-bottom:12px}.dark .label{color:var(--mut-d)}section.rule{border-top:1px solid var(--ink)}.dark{background:var(--ink);color:var(--stone)}.topbar{border-bottom:1px solid var(--ink);align-items:center;height:64px}.topbar>*{grid-column:span 2}.topbar .wordmark,.topbar .trace-toggle{grid-column:span 3}.wordmark{font:300 22px/1 var(--sans);letter-spacing:-.04em;text-transform:none;align-items:baseline;display:inline-flex}.wordmark b{font-weight:800}.reticle{border:1.5px solid;border-radius:50%;width:.38em;height:.38em;margin-left:.12em;display:inline-block;position:relative}.reticle:before,.reticle:after{content:"";background:currentColor;position:absolute}.reticle:before{width:1.5px;margin-left:-.75px;top:-.14em;bottom:-.14em;left:50%}.reticle:after{height:1.5px;margin-top:-.75px;top:50%;left:-.14em;right:-.14em}.reticle i{z-index:1;background:var(--c1);border-radius:50%;width:.14em;height:.14em;margin:-.07em 0 0 -.07em;position:absolute;top:50%;left:50%}.trace-toggle i{background:var(--c1);width:7px;height:7px;box-shadow:0 0 0 1px var(--ink);opacity:.3;border-radius:50%;display:block}.trace-toggle[aria-pressed=true] i{opacity:1}.hero{align-items:center;padding-top:22px;padding-bottom:56px}.hero h1{letter-spacing:-.045em;text-wrap:balance;grid-column:1/-1;margin:96px 0 88px -.05em;font-size:clamp(52px,10.2vw,148px);font-weight:400;line-height:.9}.hero h1>span{transition:font-weight .12s linear}.rise{animation:1.1s cubic-bezier(.16,.8,.2,1) both rise}@keyframes rise{0%{opacity:0;font-size:24px}}.lede{max-width:46ch;margin:0;font-size:18px;line-height:1.4}.browser-head{align-items:end;padding-top:40px;padding-bottom:40px}.h2{letter-spacing:-.04em;grid-column:span 8;margin:0 0 0 -.04em;font-size:clamp(40px,6vw,88px);font-weight:800;line-height:.92}.mag-intro{color:var(--mut-d);margin:0;font-size:18px;line-height:1.4}.tabs{flex-wrap:wrap;grid-column:span 4;justify-content:flex-end;gap:8px;display:flex}.tab{border:1px solid var(--stone);height:44px;padding:0 16px;transition:background-color .2s,color .2s}.tab:hover{background:#e8e7e31f}.tab.on{background:var(--stone);color:var(--ink)}.mag{margin-inline:var(--gutter);aspect-ratio:16/9;background:var(--table);max-height:88vh;color:var(--ink);outline-offset:4px;position:relative;overflow:hidden}.mag canvas{cursor:pointer;touch-action:manipulation;width:100%;height:100%;display:block;position:absolute;inset:0}.mag-wait{color:var(--mut);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.mag-wait img{width:72%;box-shadow:0 24px 60px #0000002e}.mag-wait .mono{animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.35}}.mag-ctl{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.mag-ctl span{text-align:center;min-width:64px}.mag-ctl button{border:1px solid var(--ink);width:44px;height:44px;transition:background-color .2s,color .2s}:is(.mag-ctl button:hover,.mag-ctl button:focus-visible){background:var(--ink);color:var(--table)}.mag-ctl button:disabled{opacity:.3;pointer-events:none}.dock{width:min(340px,46%);color:var(--stone);border-left:1px solid var(--stone);background:#1d1e20fb;flex-direction:column;transition:right .45s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:0;bottom:0;right:-60%}.dock.open{right:0}.dock-head{border-bottom:1px solid var(--line-d);height:44px;color:var(--mut-d);justify-content:space-between;align-items:center;padding-left:16px;display:flex}.dock-head .link{width:44px;color:var(--stone);justify-content:center}.dock-body{flex:1;min-height:0;padding:14px 16px 0;overflow:auto}.dock-body pre{white-space:pre-wrap;color:var(--mut-d);text-transform:none;margin:14px 0 0}.dock-copy{background:var(--stone);height:52px;color:var(--ink);justify-content:space-between;align-items:center;padding:0 16px;font-size:15px;font-weight:600;transition:background-color .2s;display:flex}.dock-copy.done{background:var(--c5)}.browser-foot{color:var(--mut-d);align-items:center;padding-top:20px;padding-bottom:72px}.mag-index{grid-column:span 10;justify-content:flex-end}.rc-head{color:var(--mut-d);justify-content:space-between;display:flex}.rc-name{letter-spacing:-.03em;margin:8px 0 10px;font-size:26px;font-weight:300;line-height:1.1}.rc-row{border-top:1px solid var(--line-d);font-variant-numeric:tabular-nums;grid-template-columns:84px 1fr;padding:7px 0;font-size:14px;display:grid}.rc-row .mono{color:var(--mut-d)}.rc-row:last-of-type{border-bottom:1px solid var(--line-d)}.rc-sw{gap:2px;height:20px;margin-top:12px;display:flex}.rc-sw i{box-shadow:inset 0 0 0 1px var(--line-d);flex:1}.float-card{z-index:50;width:280px;color:var(--stone);border:1px solid var(--stone);pointer-events:none;opacity:0;background:#1d1e20fb;padding:12px 16px 14px;transition:opacity .15s;position:fixed;top:0;left:0}.float-card.show{opacity:1}.float-card .coord{color:var(--mut-d);margin-top:10px;display:block}.measure{z-index:40;pointer-events:none;background:var(--c1);opacity:0;transition:opacity .2s;position:fixed}.measure.v{width:1px;top:0;bottom:0;left:0}.measure.h{height:1px;top:0;left:0;right:0}.site:has(#reader:hover,#film:hover) .measure{opacity:0!important}.tracing [data-t]:hover{outline:1.5px solid var(--c1);outline-offset:6px}.play{align-items:end;row-gap:32px;padding-top:40px;padding-bottom:64px}.play-stage{border-bottom:1px solid var(--ink);grid-column:span 8;align-items:flex-end;height:420px;padding-bottom:20px;display:flex;overflow:hidden}.play-stage>div{margin-left:-.05em;line-height:.9}.play-controls{flex-direction:column;grid-column:span 4;gap:6px;display:flex}.play-controls label{justify-content:space-between;margin-top:12px;display:flex}.play-controls label span:first-child{color:var(--mut)}.play-controls input{width:100%;height:44px;accent-color:var(--ink);margin:0}.code{background:var(--ink);color:var(--stone);text-transform:none;white-space:pre;margin:12px 0;padding:16px 20px;font-size:12px;line-height:1.7;overflow-x:auto}.reads{padding-bottom:72px}.read-row{border-top:1px solid var(--ink);align-items:baseline;padding-top:20px;padding-bottom:20px}.read-row:last-child{border-bottom:1px solid var(--ink)}.read-row p{margin:0;font-size:18px;line-height:1.4}.grow{letter-spacing:-.04em;font-size:clamp(32px,4.4vw,64px);font-weight:300;line-height:1;transition:font-weight .45s cubic-bezier(.2,.7,.2,1),letter-spacing .45s cubic-bezier(.2,.7,.2,1)}.grow:hover,.rw:hover .grow{letter-spacing:-.055em;font-weight:800}.film{padding:40px var(--gutter) 72px}.film video{aspect-ratio:16/9;background:var(--ink);border:1px solid var(--ink);width:100%}.steps{row-gap:24px;padding-top:28px;padding-bottom:72px}.step{border-top:1px solid var(--ink);grid-column:span 4;padding:16px 16px 28px}.step h3{letter-spacing:-.03em;margin:48px 0 10px;font-size:32px;font-weight:800;line-height:1}.step p{max-width:34ch;margin:0;font-size:16px;line-height:1.4}.plans{row-gap:24px;padding-top:28px;padding-bottom:72px}.plan{background:var(--plan);color:var(--ink);flex-direction:column;grid-column:span 6;padding:20px 24px 72px;display:flex;position:relative}.price{letter-spacing:-.045em;margin:40px 0 32px -.05em;font-size:clamp(72px,10.2vw,148px);font-weight:800;line-height:.9}.price.light{font-weight:300}.price .mono{letter-spacing:.02em;margin-left:14px}.plan ul{border-bottom:1px solid #1d1e2066;margin:0 0 32px;padding:0;list-style:none}.plan li{border-top:1px solid #1d1e2066;padding:11px 0;font-size:16px}.plan .btn{margin-top:auto}.plan .btn:not(.ghost){border:1px solid var(--ink)}.plan .note{margin:0;position:absolute;bottom:24px;left:24px;right:24px}.faq{grid-column:4/-1;min-width:0;padding-top:28px;padding-bottom:72px}.faq details{border-top:1px solid var(--ink)}.faq details:last-child{border-bottom:1px solid var(--ink)}.faq summary{cursor:pointer;letter-spacing:-.02em;justify-content:space-between;gap:16px;padding:18px 0;font-size:22px;font-weight:600;list-style:none;display:flex}.faq summary:after{content:"+";font-weight:300;transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq p{max-width:64ch;margin:0 0 22px;font-size:17px;line-height:1.45}.closing{padding:56px var(--gutter) 72px;letter-spacing:-.045em;font-size:clamp(48px,10.2vw,148px);line-height:.92}.closing .grow{font-size:inherit}.closing-cta{align-items:center;row-gap:16px;padding-bottom:56px}.closing-cta p{margin:0;font-size:18px;line-height:1.4}.footer{background:var(--ink);color:var(--stone)}.footer .label{color:var(--mut-d)}.giant{padding:48px var(--gutter) 40px;letter-spacing:-.045em;white-space:nowrap;cursor:default;align-items:flex-end;margin-left:-.04em;font-size:18.4vw;line-height:.9;display:flex;overflow:hidden}.giant span{color:var(--stone);font-weight:300;transition:font-weight .28s cubic-bezier(.2,.7,.2,1),color .35s}.giant span:hover{color:var(--c)}.footbar{border-top:1px solid var(--line-d);align-items:center;height:56px}.footbar nav{color:var(--mut-d);gap:24px;display:flex}.footbar a:hover{color:var(--stone)}.site-header{height:64px;padding-inline:var(--gutter);border-bottom:1px solid var(--ink);grid-template-columns:1fr auto auto;align-items:center;gap:24px;display:grid}.site-header nav{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.02em;gap:24px;display:flex}.trace-logo{font:800 22px/1 var(--sans);letter-spacing:-.04em}.trace-logo span{font-weight:300}.header-cta{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.02em}.legal-page{min-height:calc(100vh - 120px)}.legal-hero,.legal-content{padding-inline:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;display:grid}.legal-hero{border-bottom:1px solid var(--ink);padding-block:24px 64px}.legal-index,.legal-aside{font:500 11px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--mut);grid-column:span 3}.legal-title{grid-column:span 9;padding-top:96px}.legal-title h1{letter-spacing:-.045em;margin:0 0 0 -.05em;font-size:clamp(52px,8vw,120px);font-weight:800;line-height:.9}.legal-title h1 em{font-style:normal;font-weight:300}.legal-title p{max-width:52ch;margin:32px 0 0;font-size:19px;line-height:1.45}.legal-content{padding-block:40px 72px}.legal-aside{padding-top:8px}.legal-copy{grid-column:span 9;max-width:72ch}.legal-copy section{margin-bottom:48px}.legal-copy h2{letter-spacing:-.03em;margin:0 0 14px;font-size:32px;font-weight:800;line-height:1}.legal-copy p,.legal-copy li{font-size:17px;line-height:1.55}.legal-copy a{border-bottom:1px solid var(--ink)}.legal-copy code{font:13px var(--mono)}.support-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.support-actions a{background:var(--ink);height:54px;color:var(--stone);align-items:center;padding:0 20px;font-size:15px;font-weight:600;display:inline-flex}.site-footer{min-height:64px;padding-inline:var(--gutter);background:var(--ink);color:var(--stone);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;display:grid}.site-footer>div{font:500 11px/1 var(--mono);text-transform:uppercase;color:var(--mut-d);gap:24px;display:flex}.site-footer>span{font:500 11px/1 var(--mono);text-transform:uppercase;color:var(--mut-d);justify-self:end}@media (max-width:900px){:root{--gutter:20px}.g{column-gap:12px}.s2,.s3,.s4,.s5,.s6,.s9,.h2,.tabs,.play-stage,.play-controls,.step,.plan,.faq,.legal-index,.legal-aside,.legal-title,.legal-copy{grid-column:1/-1}.hero{row-gap:12px}.hero h1{margin:56px 0 40px -.05em}.right{text-align:left;justify-self:start}.hide-s{display:none}.topbar{grid-template-columns:1fr auto}.topbar>*,.topbar .wordmark,.topbar .trace-toggle{grid-column:auto}.topbar .trace-toggle{display:none}.tabs{justify-content:flex-start;margin-top:20px}.mag{aspect-ratio:1;margin-inline:0}.mag-ctl{bottom:12px;right:12px}.mag-intro{margin-top:20px;font-size:16px}.browser-foot .s2,.mag-index{grid-column:1/-1}.mag-index{scroll-snap-type:x mandatory;scrollbar-width:none;margin:12px calc(-1 * var(--gutter)) 0;padding-inline:var(--gutter);flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.mag-index::-webkit-scrollbar{display:none}.mag-index .tab{scroll-snap-align:start;flex:none;height:40px;padding:0 12px}.dock{width:100%;right:-101%}.play-stage{height:280px}.read-row .s1{grid-column:span 2}.read-row .grow{grid-column:span 10}.read-row p{grid-column:1/-1;margin-top:8px}.legal-title{padding-top:40px}.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.site-footer{grid-template-columns:1fr;padding-block:16px}.site-footer>span{justify-self:start}}@media (hover:none){.measure,.float-card{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
