@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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}:root{--paper:#f3f3ef;--card:#fff;--ink:#1d1b18;--mute:#5a564f;--rule:#d9d7d0;--contour:#5b3a26;--sans:"Bricolage Grotesque Variable", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--panel:17.5rem;--danger:#9b1c1c;--map-bg:#e9e8e2;--seg-bg:#ecebe6;--sun:#e2a72e;--white:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 var(--sans);font-variation-settings:"opsz" 14;margin:0}h1,h2,h3{text-wrap:balance;font-variation-settings:"opsz" 96}p{text-wrap:pretty}a{color:inherit;text-underline-offset:.2em}button,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--contour);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--ink);color:var(--paper);z-index:5;padding:.5rem .75rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}sup{font:500 .65em var(--mono);line-height:0}sup a{text-decoration:none}.bar{justify-content:space-between;align-items:center;padding:.9rem clamp(1rem,3vw,2rem);display:flex}.word{letter-spacing:-.02em;color:var(--contour);font-variation-settings:"opsz" 48;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.bar nav{gap:1.5rem;font-size:.95rem;display:flex}.bar nav a{text-decoration:none}.bar nav a:hover{text-decoration:underline}.hero{gap:1.5rem;padding:.5rem clamp(1rem,3vw,2rem) 3.5rem;display:grid}.hero-copy{max-width:40rem}h1{letter-spacing:-.035em;margin:.25rem 0 0;font-size:clamp(2rem,3.6vw,3.1rem);font-weight:700;line-height:1}.sub{color:var(--mute);margin:1rem 0 0;font-size:1.08rem}.sub.small{font-size:.95rem}@media (width>=72rem){.hero{grid-template-columns:minmax(15rem,19rem) auto;justify-content:center;align-items:start;gap:2rem}.hero-copy{padding-top:1.5rem}h1{font-size:clamp(2rem,2.5vw,2.5rem)}}.demo-static{max-width:45rem;margin:0}.demo-static img{border:1px solid var(--rule);border-radius:10px;width:100%;height:auto;display:block}.demo-static figcaption{color:var(--mute);margin-top:.5rem;font-size:.9rem}.js-ready .static-fig{display:none}.map-fallback{position:absolute;inset:0}.map-fallback img{object-fit:cover;width:100%;height:100%;display:block}.map-fallback-msg{background:var(--card);border:1px solid var(--rule);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .8rem;font-size:.88rem;display:flex;position:absolute;bottom:.75rem;left:.75rem;right:.75rem}.map-fallback-msg p{margin:0}.export-error{color:var(--danger);font-size:.8rem}.demo{background:var(--card);border:1px solid var(--rule);border-radius:10px;display:grid;overflow:clip;box-shadow:0 1px #00000008,0 24px 48px -28px #281e1459}@media (width>=52rem){.demo{grid-template-columns:auto var(--panel)}}.map-wrap{background:var(--card);flex-direction:column;min-width:0;display:flex}.map-box{aspect-ratio:1;background:var(--map-bg);outline-offset:-3px;width:min(100%,72svh);margin-inline:auto;position:relative}@media (width<=51.99rem){.map-wrap{z-index:2;box-shadow:0 1px 0 var(--rule);position:sticky;top:0}.map-box{width:min(100%,44svh)}}@media (width>=52rem){.map-box{width:min(calc(100svh - 8.5rem), calc(100vw - var(--panel) - 4rem), 52rem)}}@media (width>=72rem){.map-box{width:min(calc(100svh - 8.5rem), calc(100vw - var(--panel) - 19rem - 6rem), 52rem)}}.map,.map-overlay{width:100%;height:100%;display:block;position:absolute;inset:0}.map{cursor:crosshair}.map-box:not(.sculpting) .map{cursor:default}.map-overlay{pointer-events:none}.map-state{text-align:center;color:var(--mute);place-items:center;margin:0;padding:2rem;display:grid;position:absolute;inset:0}.map-meta{font:500 .78rem/1.3 var(--mono);justify-content:space-between;gap:1rem;padding:.5rem .9rem 0;display:flex}.map-hint{color:var(--mute);max-width:52rem;margin:0;padding:.35rem .9rem .7rem;font-size:.85rem}.panel{border:0;border-top:1px solid var(--rule);align-content:start;gap:1.1rem;min-width:0;margin:0;padding:1.1rem;display:grid}@media (width>=52rem){.panel{border-top:0;border-left:1px solid var(--rule);max-height:calc(100svh - 4rem);overflow:auto}}.panel:disabled{opacity:.55}.field{gap:.45rem;display:grid}.field-label{color:var(--mute);justify-content:space-between;font-size:.8rem;font-weight:600;display:flex}.readout{font:500 .95rem/1 var(--mono);font-variant-numeric:tabular-nums}.readout small{color:var(--mute);margin-left:.25em;font-size:.8em}.readout.small{color:var(--ink);font-size:.8rem}.edit-row{flex-wrap:wrap;gap:.4rem;display:flex}.toggle,.plain{border:1px solid var(--rule);background:var(--card);cursor:pointer;border-radius:6px;padding:.42rem .8rem;font-size:.88rem}.toggle[aria-pressed=true]{background:var(--contour);color:var(--white);border-color:var(--contour)}.plain:hover:not(:disabled),.toggle:hover{border-color:var(--ink)}button:disabled{cursor:default;opacity:.5}select{border:1px solid var(--rule);background:var(--card);border-radius:6px;flex:1;min-width:0;padding:.4rem .5rem;font-size:.85rem}.seg{background:var(--seg-bg);border-radius:7px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.seg-opt{cursor:pointer;background:0 0;border:0;border-radius:5px;padding:.42rem .25rem;font-size:.85rem;position:relative}.seg-pill{background:var(--card);border-radius:5px;position:absolute;inset:0;box-shadow:0 1px 2px #0000001f}.seg-text{position:relative}.seg-opt[aria-checked=true]{font-weight:600}.dial-row{align-items:center;gap:1rem;display:flex}.dial{border:1px solid var(--rule);background:repeating-conic-gradient(from -1deg, var(--rule) 0 2deg, transparent 2deg 22.5deg);cursor:grab;touch-action:none;border-radius:50%;flex:none;width:4.5rem;height:4.5rem;position:relative}.dial:after{content:"";background:var(--card);border-radius:50%;position:absolute;inset:.5rem}.dial-n{z-index:2;font:600 .62rem/1 var(--mono);color:var(--mute);position:absolute;top:.65rem;left:50%;translate:-50%}.dial-hand{z-index:1;position:absolute;inset:0}.dial-hand i{background:var(--sun);width:.9rem;height:.9rem;box-shadow:0 0 0 3px color-mix(in srgb, var(--sun) 25%, transparent);border-radius:50%;margin-left:-.45rem;position:absolute;top:.1rem;left:50%}.more{border-top:1px solid var(--rule);padding-top:.8rem}.more summary{cursor:pointer;font-size:.85rem;font-weight:600}.more-body{gap:1.1rem;padding-top:.9rem;display:grid}input[type=range]{width:100%;accent-color:var(--contour)}.ramps{gap:.3rem;display:grid}.ramp{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:4.5rem 1fr;align-items:center;gap:.6rem;padding:.28rem .4rem;font-size:.88rem;display:grid}.ramp[aria-pressed=true]{border-color:var(--ink);font-weight:600}.ramp-bar{border:1px solid #00000014;border-radius:2px;height:.75rem}.key{gap:.2rem;margin-top:.3rem;display:grid}.key-bar{border:1px solid #0000001f;height:.55rem}.key-ticks{height:.8rem;font:400 .7rem/1 var(--mono);color:var(--mute);position:relative}.key-ticks span{white-space:nowrap;position:absolute;top:0}.layers{gap:.3rem;display:grid}.check{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.check input{accent-color:var(--contour);width:1rem;height:1rem}.sect{border-top:1px solid var(--rule);max-width:80rem;margin-inline:auto;padding:4.5rem clamp(1rem,3vw,2rem)}.sect h2{letter-spacing:-.03em;max-width:24ch;margin:0 0 .8rem;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.04}.sect-lede{color:var(--mute);max-width:36rem;margin:0 0 2rem}.layer-figs{grid-template-areas:"lines""lines-t""shade""shade-t""tint""tint-t";gap:.9rem 1.5rem;display:grid}@media (width>=52rem){.layer-figs{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"lines shade tint""lines-t shade-t tint-t"}}.fig-img img,.fig-ph,.light-fig img{aspect-ratio:1;border:1px solid var(--rule);background:var(--map-bg);border-radius:6px;width:100%;display:block}.fig-text h3{letter-spacing:-.015em;margin:.2rem 0 .3rem;font-size:1.15rem}.fig-text p{margin:0 0 1.5rem;font-size:.98rem}.light-text p{max-width:40rem}.light-figs{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:52rem;margin-top:2rem;display:grid}@media (width>=64rem){#light{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:3rem;display:grid}#light .light-figs{margin-top:0}}.light-fig{margin:0}.light-fig figcaption{font:400 .85rem/1.4 var(--mono);margin-top:.5rem}.presets{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.5rem;display:flex}.presets .field-label{width:100%}.presets button{background:var(--card);border:1px solid var(--rule);cursor:pointer;font:500 .85rem/1.2 var(--mono);border-radius:7px;padding:.55rem .9rem}.presets button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--contour)}.colophon p{max-width:38rem}.foot{border-top:1px solid var(--rule);color:var(--mute);max-width:80rem;margin-inline:auto;padding:2.5rem clamp(1rem,3vw,2rem) 4rem;font-size:.9rem}.foot ol{max-width:50rem;padding-left:1.2rem}.foot li{margin-bottom:.5rem}@media (width<=40rem){.bar nav a:not(:last-child){display:none}}.export-note{color:var(--mute);font-size:.78rem}.demo-slot{min-height:calc(min(100vw - 2rem - 2px,44svh) + 33rem + max(0px,6.24rem - 13vw))}@media (width>=52rem){.demo-slot{min-height:calc(min(100svh - 8.5rem, 100vw - var(--panel) - 4rem, 52rem) + 4.5rem)}}@media (width>=72rem){.demo-slot{min-height:calc(min(100svh - 8.5rem, 100vw - var(--panel) - 19rem - 6rem, 52rem) + 4.5rem)}}
