@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-vietnamese-800-normal-CpjukuLw.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-800-normal-BZxKbt5V.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-ext-800-normal-DGNyg4u8.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-800-normal-gY_0Gifi.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-normal-BKzMuPgK.woff2)format("woff2"),url(/assets/barlow-condensed-latin-800-normal-e9GbPXiK.woff)format("woff");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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.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(/assets/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(/assets/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(/assets/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(/assets/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(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f4f0e6;--paper-deep:#eae5d7;--sheet:#fffefb;--ink:#14110f;--ink-soft:#3d3933;--muted:#6b665e;--rule:#d6d0c1;--rule-soft:#e3ded0;--spot:#2238ff;--spot-deep:#1528c9;--spot-tint:#e3e6ff;--code-bg:#14110f;--code-ink:#ede8dc;--cyan:#00aeef;--magenta:#ec008c;--yellow:#ffec00;--display:"Barlow Condensed", "Arial Narrow", "Helvetica Neue", sans-serif;--body:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", system-ui, sans-serif;--mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--page:1240px;--gutter:clamp(20px, 4vw, 48px);--shadow-sheet:0 0 0 1px #14110f0f, 0 2px 4px #14110f0f, 0 24px 48px -24px #14110f61}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}body:before{content:"";z-index:-1;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .08 0 0 0 0 .07 0 0 0 0 .06 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:.22em;text-decoration-thickness:1px;transition:text-decoration-color .15s,color .15s}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--spot);outline-offset:3px;border-radius:2px}::selection{background:var(--spot);color:#fff}img{max-width:100%;display:block}code,pre{font-family:var(--mono);font-variant-ligatures:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:20;background:var(--ink);color:var(--paper);padding:10px 14px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.icon{flex:none;width:1em;height:1em}.colorbar{height:5px;display:flex}.colorbar i{flex:1}.ink-c{background:var(--cyan)}.ink-m{background:var(--magenta)}.ink-y{background:var(--yellow)}.ink-k{background:var(--ink)}.ink-c50{background:#8fd6f6}.ink-m50{background:#f58fc8}.ink-y50{background:#fff58f}.ink-k50{background:#8a8782}.ink-r{background:#ed1c24}.ink-g{background:#00a651}.ink-b{background:#2e3192}.ink-k25{background:#c8c4bc}.top{z-index:10;height:64px;padding:0 var(--gutter);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px)saturate(1.2);backdrop-filter:blur(10px)saturate(1.2);border-bottom:1px solid var(--rule);align-items:center;gap:14px;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:9px;text-decoration:none;display:inline-flex}.mark{width:30px;height:30px}.mark-sheet{fill:var(--spot)}.mark-fold{fill:var(--paper);opacity:.55}.mark-crop{fill:none;stroke:currentColor;stroke-width:1.5px}.wordmark{font-family:var(--display);letter-spacing:.01em;font-size:25px;font-weight:700;line-height:1}.wordmark b{color:var(--spot);font-weight:700}.version{border:1px solid var(--rule);font-family:var(--mono);color:var(--muted);border-radius:999px;padding:2px 7px;font-size:11px}.nav{gap:clamp(14px,2.4vw,30px);margin-left:auto;font-size:14.5px;font-weight:500;display:flex}.nav a{color:var(--ink-soft);padding:6px 0;text-decoration:none;position:relative}.nav a:hover,.nav a[aria-current]{color:var(--ink)}.nav a[aria-current]:after{content:"";background:var(--spot);height:2px;position:absolute;bottom:-1px;left:0;right:0}.label,.eyebrow{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:500}.eyebrow{flex-wrap:wrap;gap:8px;display:flex}.eyebrow span{border:1px solid var(--rule);background:color-mix(in srgb, var(--sheet) 60%, transparent);border-radius:999px;padding:3px 9px}h1,h2,h3{text-wrap:balance;margin:0;font-weight:700}.home h1,.missing h1{font-family:var(--display);letter-spacing:-.012em;text-transform:uppercase;font-size:clamp(60px,8.7vw,138px);font-weight:800;line-height:.85}.dot{color:var(--spot)}.section-head h2{font-family:var(--display);letter-spacing:-.005em;font-size:clamp(38px,5.2vw,68px);font-weight:700;line-height:.95}.section-head p:not(.label){max-width:62ch;color:var(--ink-soft);margin:18px 0 0;font-size:17px}.section-head .label{margin-bottom:14px}.lead{max-width:34em;color:var(--ink-soft);margin:26px 0 0;font-size:clamp(17px,1.5vw,20px);line-height:1.55}.install{border:1px solid var(--ink);background:var(--sheet);max-width:100%;font-family:var(--mono);box-shadow:4px 4px 0 var(--ink);border-radius:8px;align-items:center;gap:10px;padding:6px 6px 6px 16px;font-size:14.5px;display:inline-flex}.install .prompt{color:var(--spot);-webkit-user-select:none;user-select:none;font-weight:600}.install code{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.copy{background:var(--paper-deep);color:var(--ink);font:600 12.5px var(--body);cursor:pointer;border:0;border-radius:5px;align-items:center;gap:6px;padding:7px 10px;transition:background .15s,color .15s;display:inline-flex}.copy:hover{background:var(--ink);color:var(--paper)}.copy[data-done]{background:var(--spot);color:#fff}.actions{flex-wrap:wrap;align-items:center;gap:22px;margin:26px 0 0;display:flex}.button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:600 15.5px var(--body);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:13px 20px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.button:hover{background:var(--spot);border-color:var(--spot)}.button .icon{transition:transform .2s}.button:hover .icon{transform:translate(3px)}.button-small{border-radius:6px;padding:8px 14px;font-size:13.5px}.link{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink);font-weight:600}.sheet{aspect-ratio:var(--ratio,.707);background:var(--sheet);box-shadow:var(--shadow-sheet);display:block;overflow:hidden}.sheet img{width:100%;height:100%}.hero{max-width:calc(var(--page) + var(--gutter) * 2);padding:clamp(44px, 7vw, 96px) var(--gutter) clamp(56px, 8vw, 112px);grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(28px,5vw,72px);margin:0 auto;display:grid}.hero h1{margin-top:22px}.hero .install{margin-top:34px}.hero-art{min-width:0}.hero-stack{aspect-ratio:1/.9;position:relative}.hero-stack .sheet{transition:transform .45s cubic-bezier(.2,.7,.2,1);position:absolute}.sheet-front{z-index:3;bottom:3%;left:0;right:0;transform:rotate(-2deg)}.sheet-back-left{z-index:1;width:43%;top:0;left:3%;transform:rotate(-7deg)}.sheet-back-right{z-index:2;width:55%;top:5%;right:1%;transform:rotate(5deg)}.hero-stack:hover .sheet-front{transform:rotate(-1deg)translateY(6px)}.hero-stack:hover .sheet-back-left{transform:rotate(-10deg)translate(-10px,-10px)}.hero-stack:hover .sheet-back-right{transform:rotate(8deg)translate(10px,-10px)}.plate{border-top:1px solid var(--ink);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;gap:6px 18px;margin:26px 0 0;padding-top:10px;font-size:11.5px;display:flex}.plate span:last-child{color:var(--spot-deep);margin-left:auto;font-weight:600}.figures{max-width:calc(var(--page) + var(--gutter) * 2);padding:0 var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;display:grid}.figures div{border-top:1px solid var(--ink);border-left:1px solid var(--rule);padding:26px clamp(14px,2vw,28px) 30px}.figures div:first-child{border-left:0;padding-left:0}.figures b{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(60px,7.6vw,112px);font-weight:700;line-height:.86;display:block}.figures small{color:var(--spot);margin-left:.08em;font-size:.42em;font-weight:600}.figures .to{margin:0 .12em;font-size:.6em;display:inline-block;transform:translateY(-.18em)}.figures p{color:var(--ink-soft);margin:14px 0 0;font-size:14.5px;line-height:1.5}.split,.features,.gallery,.numbers,.start{max-width:calc(var(--page) + var(--gutter) * 2);padding:clamp(72px, 10vw, 136px) var(--gutter) 0;margin:0 auto}.demo{border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink);border-radius:10px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);margin-top:44px;display:grid;overflow:hidden}.demo-code{min-width:0}.demo-result{background:linear-gradient(var(--rule-soft) 1px, transparent 1px) 0 0 / 100% 24px, linear-gradient(90deg, var(--rule-soft) 1px, transparent 1px) 0 0 / 24px 100%, var(--paper-deep);border-left:1px solid var(--ink);place-items:center;padding:clamp(20px,4vw,44px);display:grid}.demo-result .sheet{width:min(100%,270px);transform:rotate(1.6deg)}.code pre{color:var(--code-ink);tab-size:2;margin:0;padding:22px 24px;font-size:13.5px;line-height:1.7;overflow-x:auto;background:var(--code-bg)!important}.code code{font-size:inherit}.feature-grid{border-top:1px solid var(--ink);border-left:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));margin:48px 0 0;padding:0;list-style:none;display:grid}.feature-grid li{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-direction:column;padding:24px 22px 22px;transition:background .2s;display:flex}.feature-grid li:hover{background:color-mix(in srgb, var(--sheet) 70%, transparent)}.feature-grid .index{font-family:var(--mono);color:var(--spot);font-size:12px;font-weight:600}.feature-grid h3{font-family:var(--display);margin-top:30px;font-size:27px;font-weight:700;line-height:1.02}.feature-grid p{color:var(--ink-soft);margin:12px 0 22px;font-size:14.5px;line-height:1.55}.feature-grid code{color:var(--muted);margin-top:auto;font-size:11.5px;line-height:1.6}.pieces{gap:clamp(36px,5vw,64px);margin-top:52px;display:grid}.piece-row{gap:clamp(18px,3vw,40px);display:flex}.piece{flex:var(--ratio) 1 0;min-width:0;margin:0}.piece .sheet{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}.piece .sheet:hover{transform:translateY(-6px)rotate(-.6deg);box-shadow:0 0 0 1px #14110f14,0 34px 60px -28px #14110f80}.piece figcaption{border-top:1px solid var(--ink);color:var(--ink-soft);gap:2px;margin-top:16px;padding-top:12px;font-size:14.5px;display:grid}.piece strong{font-family:var(--display);color:var(--ink);font-size:24px;line-height:1.1}.piece .spec{font-family:var(--mono);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:11.5px}.piece .links{color:var(--ink);gap:18px;margin-top:8px;font-size:14px;font-weight:600;display:flex}.piece .links a{align-items:center;gap:6px;display:inline-flex}.bench-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:48px;display:grid}.bench h3{border-bottom:1px solid var(--ink);font-family:var(--display);padding-bottom:12px;font-size:28px;line-height:1.05}.bench h3 span{font:400 13px / 1.4 var(--body);color:var(--muted);margin-top:4px;display:block}.bench table{border-collapse:collapse;width:100%;font-size:13.5px}.bench thead th{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--muted);padding:10px 0 4px}.bench tbody th{text-align:left;white-space:nowrap;padding:9px 10px 9px 0;font-weight:500}.bench td{padding:9px 0}.bench tbody tr{border-top:1px solid var(--rule-soft)}.bench .num{font-family:var(--mono);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:10px;font-size:12.5px}.bench .size{color:var(--muted)}.bench .bar{width:34%}.bench .bar i{background:#c9c3b5;height:8px;display:block}.bench .ours th,.bench .ours .num:not(.size){color:var(--spot-deep);font-weight:700}.bench .ours .bar i{background:var(--spot)}.footnote{color:var(--muted);margin:26px 0 0;font-size:13px}.packages{border:1px solid var(--ink);background:var(--sheet);border-radius:10px;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:0;margin-top:44px;display:grid;overflow:hidden}.package{border-left:1px solid var(--rule);color:var(--ink);flex-direction:column;padding:26px 24px;text-decoration:none;transition:background .2s;display:flex}.package:first-child{border-left:0}a.package:hover{background:var(--spot-tint)}.package h3 a{text-decoration:none}.package h3 a:hover{color:var(--spot-deep)}.package h3{font-family:var(--mono);font-size:15px;font-weight:600}.package-main h3{font-family:var(--display);font-size:40px;line-height:1}.package p{color:var(--ink-soft);margin:10px 0 20px;font-size:14.5px}.package>span{align-items:center;gap:6px;margin-top:auto;font-size:14px;font-weight:600;display:inline-flex}.package .install{box-shadow:none;background:var(--paper);align-self:flex-start;margin-top:auto}.runtimes{font-family:var(--display);flex-wrap:wrap;align-items:baseline;gap:8px 26px;margin:34px 0 0;font-size:clamp(24px,3vw,38px);line-height:1.1;display:flex}.runtimes span{font:500 12px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.runtimes b{font-weight:700}.runtimes b+b:before{content:"/";color:var(--rule);margin-right:26px;font-weight:400}.foot{max-width:calc(var(--page) + var(--gutter) * 2);padding:0 var(--gutter) 36px;margin:clamp(88px,12vw,160px) auto 0}.foot-marks{color:var(--ink);align-items:center;gap:16px;display:flex}.foot-marks .colorbar{flex:1;height:14px}.target{stroke-width:1px;flex:none;width:26px;height:26px}.foot-grid{grid-template-columns:1.6fr repeat(3,minmax(0,1fr));gap:32px;padding:44px 0 40px;display:grid}.foot-grid p{color:var(--ink-soft);margin:14px 0 0;font-size:14.5px}.foot-grid h2{font:500 11.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.foot-grid nav a{padding:4px 0;font-size:14.5px;text-decoration:none;display:block}.foot-grid nav a:hover{color:var(--spot-deep)}.foot-line{border-top:1px solid var(--rule);font:12px var(--mono);letter-spacing:.04em;color:var(--muted);justify-content:space-between;gap:16px;margin:0;padding-top:18px;display:flex}.missing{max-width:calc(var(--page) + var(--gutter) * 2);padding:clamp(64px, 12vw, 160px) var(--gutter) 0;margin:0 auto}.missing h1{margin-top:18px}.docs{max-width:calc(var(--page) + var(--gutter) * 2);padding:44px var(--gutter) 0;grid-template-columns:232px minmax(0,1fr) 200px;gap:clamp(28px,4vw,64px);margin:0 auto;display:grid}.docs-nav,.docs-toc nav{align-self:start;max-height:calc(100vh - 120px);position:sticky;top:96px;overflow-y:auto}.docs-nav summary{display:none}.docs-nav h2,.docs-toc h2{font:500 11.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px}.docs-nav h2:first-child,.docs-toc h2{margin-top:0}.docs-nav a,.docs-toc a{border-left:1px solid var(--rule);color:var(--ink-soft);padding:5px 0 5px 12px;font-size:14.5px;text-decoration:none;display:block}.docs-toc a{padding-top:4px;padding-bottom:4px;font-size:13.5px;line-height:1.4}.docs-nav a:hover,.docs-toc a:hover{color:var(--ink);border-left-color:var(--ink)}.docs-nav a[aria-current]{border-left:2px solid var(--spot);color:var(--ink);padding-left:11px;font-weight:600}.prose{min-width:0;max-width:760px;font-size:16.5px;line-height:1.7}.prose h1{font-family:var(--display);margin:10px 0 30px;font-size:clamp(46px,6vw,72px);font-weight:700;line-height:.95}.prose h2{border-top:1px solid var(--ink);font-family:var(--display);margin:56px 0 14px;padding-top:22px;font-size:34px;line-height:1.05}.prose h3{margin:36px 0 10px;font-size:19px;line-height:1.3}.prose h2,.prose h3{position:relative}.prose .anchor{color:var(--rule);opacity:0;padding-right:.3em;font-weight:400;text-decoration:none;transition:opacity .15s,color .15s;position:absolute;left:-1.1em}.prose h2:hover .anchor,.prose h3:hover .anchor,.prose .anchor:focus{opacity:1;color:var(--spot)}.prose p,.prose ul,.prose ol{margin:0 0 18px}.prose li{margin:6px 0}.prose li::marker{color:var(--muted)}.prose a{color:var(--spot-deep);-webkit-text-decoration-color:color-mix(in srgb, var(--spot) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--spot) 35%, transparent);font-weight:500}.prose a:hover{-webkit-text-decoration-color:var(--spot);text-decoration-color:var(--spot)}.prose :not(pre)>code{border:1px solid var(--rule-soft);background:color-mix(in srgb, var(--sheet) 75%, transparent);overflow-wrap:anywhere;border-radius:4px;padding:.12em .36em;font-size:.86em}.prose a>code{color:inherit}.prose td code{overflow-wrap:normal}.prose blockquote{border-left:3px solid var(--spot);color:var(--ink-soft);margin:0 0 18px;padding:2px 0 2px 18px}.prose .code{border-radius:8px;margin:0 0 22px;position:relative;overflow:hidden}.prose .code .copy{color:var(--code-ink);opacity:0;background:#ffffff17;position:absolute;top:8px;right:8px}.prose .code:hover .copy,.prose .code .copy:focus-visible,.prose .code .copy[data-done]{opacity:1}.prose .code .copy:hover{background:#fff3}.prose .table{border-top:1px solid var(--ink);margin:0 0 24px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.5}.prose th{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--muted);white-space:nowrap;padding:10px 14px 10px 0}.prose td{border-top:1px solid var(--rule);vertical-align:top;padding:10px 14px 10px 0}.prose td:first-child{min-width:9em}.prose td:last-child,.prose th:last-child{padding-right:0}.pager{border-top:1px solid var(--ink);justify-content:space-between;gap:20px;margin-top:64px;padding-top:22px;display:flex}.prose .pager a{font-family:var(--display);color:var(--ink);gap:2px;font-size:26px;font-weight:700;line-height:1.1;text-decoration:none;display:grid}.pager a:hover{color:var(--spot-deep)}.pager span{font:500 11.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.pager-next{text-align:right}.edit{margin-top:26px;font-size:13.5px}.prose .edit a{color:var(--muted);font-weight:400}body.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}body.app .top{flex:none;height:56px;position:static}.play{flex-direction:column;flex:1;min-height:0;display:flex}.play-bar{padding:0 var(--gutter);border-bottom:1px solid var(--rule);background:var(--paper);flex:none;align-items:center;gap:16px;display:flex}.play-tabs{scrollbar-width:none;gap:2px;min-width:0;display:flex;overflow-x:auto}.play-tabs button{color:var(--muted);font:600 14px var(--body);cursor:pointer;background:0 0;border:0;flex:none;padding:14px 13px 13px;position:relative}.play-tabs button:hover,.play-tabs button[aria-selected=true]{color:var(--ink)}.play-tabs button[aria-selected=true]:after{content:"";background:var(--spot);height:2px;position:absolute;bottom:-1px;left:13px;right:13px}.play-tools{flex:none;align-items:center;gap:18px;margin-left:auto;display:flex}.plain{color:var(--ink-soft);font:500 13.5px var(--body);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:.22em;cursor:pointer;background:0 0;border:0;padding:4px 2px}.plain:hover{color:var(--ink);text-decoration-color:currentColor}.toggle{color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:inline-flex}.toggle input{appearance:none;border:1px solid var(--ink);background:var(--sheet);cursor:pointer;border-radius:999px;width:30px;height:18px;margin:0;transition:background .15s;position:relative}.toggle input:after{content:"";background:var(--ink);border-radius:50%;width:12px;height:12px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.toggle input:checked{background:var(--spot);border-color:var(--spot)}.toggle input:checked:after{background:#fff;transform:translate(12px)}.play-panes{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid}.play-editor{background:var(--code-bg);flex-direction:column;min-height:0;display:flex;position:relative}#editor{flex:1;min-height:0;overflow:hidden}#editor .cm-editor{height:100%}.play-error{color:#ffb4a8;white-space:pre-wrap;background:#2a1512;border-top:2px solid #ff6b57;flex:none;max-height:34%;margin:0;padding:12px 18px;font-size:12.5px;line-height:1.55;overflow:auto}.play-preview{background:linear-gradient(var(--rule-soft) 1px, transparent 1px) 0 0 / 100% 24px, linear-gradient(90deg, var(--rule-soft) 1px, transparent 1px) 0 0 / 24px 100%, var(--paper-deep);min-height:0;overflow:auto}.play-pages{justify-items:center;gap:28px;padding:clamp(20px,3vw,40px);display:grid}.play-pages .sheet{width:min(100%, calc(var(--points) * 1.25px))}.play-pages .sheet[data-stale]{opacity:.55}.play-loading{font:13px var(--mono);color:var(--muted);margin:40px 0}.play-status{padding:8px var(--gutter);border-top:1px solid var(--rule);background:var(--paper);color:var(--muted);flex:none;align-items:baseline;gap:24px;margin:0;font-size:12.5px;display:flex}#status{font-family:var(--mono);color:var(--ink);flex:none}.play-hint{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.play-hint code{color:var(--ink-soft);font-size:.92em}@media (width<=1100px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.docs{grid-template-columns:210px minmax(0,1fr)}.docs-toc{display:none}.packages{grid-template-columns:repeat(3,minmax(0,1fr))}.package-main{border-bottom:1px solid var(--rule);grid-column:1/-1}.package-main+.package{border-left:0}}@media (width<=900px){.hero{grid-template-columns:minmax(0,1fr)}.hero-art{width:100%;max-width:620px;margin:12px auto 0}.figures{grid-template-columns:repeat(2,minmax(0,1fr))}.figures div:nth-child(odd){border-left:0;padding-left:0}.demo{grid-template-columns:minmax(0,1fr)}.demo-result{border-left:0;border-top:1px solid var(--ink)}.bench-grid{grid-template-columns:minmax(0,1fr)}.piece-row{flex-wrap:wrap}.piece{flex-basis:calc(var(--ratio) * 240px)}.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.play-panes{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.play-hint{display:none}}@media (width<=760px){.version,.nav a[rel]{display:none}.docs{grid-template-columns:minmax(0,1fr);padding-top:20px}.docs-nav{max-height:none;position:static}.docs-nav summary{border:1px solid var(--ink);background:var(--sheet);cursor:pointer;border-radius:8px;padding:12px 14px;font-weight:600;display:block}.docs-nav details:not([open]) nav{display:none}.docs-nav nav{padding:16px 4px 0}.prose .anchor{display:none}.prose table{min-width:600px}}@media (width<=560px){.nav{gap:16px;font-size:14px}.nav a:nth-child(3){display:none}.feature-grid{grid-template-columns:minmax(0,1fr)}.piece{flex-basis:100%}.packages{grid-template-columns:minmax(0,1fr)}.package{border-left:0;border-top:1px solid var(--rule)}.package-main{border-top:0}.foot-line{flex-direction:column;gap:4px}.play-tools .toggle span{display:none}.install{font-size:13px}.bench .bar{width:22%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{.top,.foot,.colorbar,.docs-nav,.docs-toc,.skip{display:none!important}body{background:#fff}body:before{display:none}}
