@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ab624315db63c58d-s.1uwhc7jrbo4mx.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e94b8ab81811a983-s.2my4drvc0bavc.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c795a286deabae8-s.p.25jyahqycoolj.woff2)format("woff2");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:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/ab624315db63c58d-s.1uwhc7jrbo4mx.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e94b8ab81811a983-s.2my4drvc0bavc.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0c795a286deabae8-s.p.25jyahqycoolj.woff2)format("woff2");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:Syne Fallback;src:local(Arial);ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.0%;size-adjust:98.47%}.kOjakW_className{font-family:Syne,Syne Fallback;font-style:normal}.kOjakW_variable{--font-syne:"Syne", "Syne Fallback"}
@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc6c75d91fb27f62-s.3vy-_l9ztcxef.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ed5f1f9bced69653-s.p.2v4ibmotuyxuz.woff2)format("woff2");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:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/574e5b2a8fe8e45b-s.1zpm-mgw3w1fq.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/89ea96820aa96980-s.p.3pskbmi5y11f5.woff2)format("woff2");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:Atkinson Hyperlegible Fallback;src:local(Arial);ascent-override:95.6%;descent-override:29.18%;line-gap-override:0.0%;size-adjust:99.37%}.uJwZvG_className{font-family:Atkinson Hyperlegible,Atkinson Hyperlegible Fallback;font-style:normal}.uJwZvG_variable{--font-atkinson:"Atkinson Hyperlegible", "Atkinson Hyperlegible Fallback"}
:root{--ink:#1c1915;--paper:#e3e6e0;--rule:#c5c9c0;--reg:#d63a2f;--quiet:#3f433e;--warn:#8c241c;--white:#fff}*,:before,:after{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font-atkinson), "Avenir Next", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;margin:0;font-size:1.125rem;line-height:1.5}a{color:inherit}.skip{background:var(--ink);color:var(--white);padding:.6rem .8rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}.nav-wrap,.sheet{max-width:1080px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}.sheet{padding-top:1.5rem;padding-bottom:4.5rem}.nav,.foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem 1.5rem;display:flex}.nav{padding-top:1.25rem}.nav nav,.foot nav{gap:1.1rem;display:flex}.brand{font-family:var(--font-syne), "Avenir Next", sans-serif;letter-spacing:-.03em;font-size:1.2rem;font-weight:700;text-decoration:none}.foot{color:var(--quiet);padding-bottom:2.5rem;font-size:1rem}.foot p{max-width:46ch;margin:0}h1{max-width:18ch;font-family:var(--font-syne), "Avenir Next", sans-serif;letter-spacing:-.045em;margin:0 0 1rem;font-size:clamp(2.4rem,5vw,3.5rem);font-weight:800;line-height:.95}.work h1{max-width:10ch;font-size:clamp(3rem,7vw,5.1rem);line-height:.9}.lede{max-width:38rem;margin:0;font-size:1.15rem;line-height:1.45}.work{grid-template-columns:minmax(0,1.05fr) minmax(280px,.9fr);align-items:start;gap:3.5rem;display:grid}.field,.row label,legend,h3{font-weight:700}.field{margin:2rem 0 .35rem;display:block}textarea,select,input[type=color]{font:inherit;color:inherit;background:0 0}textarea{border:none;border-bottom:1.5px solid var(--ink);resize:vertical;width:100%;min-height:5.5rem;padding:.35rem 0 .6rem;line-height:1.45;display:block}select,input[type=color]{border:1.5px solid var(--ink);background:var(--white);height:44px}select{padding:0 .6rem}input[type=color]{width:64px;padding:4px}.hint,.crumbs{max-width:62ch;color:var(--quiet);margin:.45rem 0 0}.hint.warn,.status.warn{color:var(--warn)}.text,.crumbs a,.prose a,.guide-list a,.foot a,.nav a{text-underline-offset:.18em}.text{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;margin-top:.8rem;padding:0;text-decoration:underline}fieldset{border:none;margin:1.6rem 0 0;padding:0}legend{margin-bottom:.45rem;padding:0}.options{flex-wrap:wrap;gap:.25rem 1.1rem;display:flex}.options label{align-items:center;gap:.4rem;min-height:44px;font-weight:400;display:flex}input[type=radio]{accent-color:var(--ink);width:1.05rem;height:1.05rem}.row{flex-wrap:wrap;align-items:end;gap:1rem 1.5rem;margin-top:1.4rem;display:flex}.row label{gap:.4rem;display:grid}.proof{padding:2.4rem 2.4rem 2rem 2.2rem}.solo-proof{max-width:460px;padding-left:2.2rem}.proof-frame{background:var(--white);border:1px solid var(--rule);margin-bottom:2.4rem;padding:1.2rem 1.2rem 1rem;animation:.45s both settle;position:relative}.crop{pointer-events:none;position:absolute}.crop:before,.crop:after{content:"";background:var(--reg);position:absolute}.tl{top:0;left:0}.tl:before{width:18px;height:2px;top:-1px;left:-30px}.tl:after{width:2px;height:18px;top:-30px;left:-1px}.tr{top:0;right:0}.tr:before{width:18px;height:2px;top:-1px;right:-30px}.tr:after{width:2px;height:18px;top:-30px;right:-1px}.bl{bottom:0;left:0}.bl:before{width:18px;height:2px;bottom:-1px;left:-30px}.bl:after{width:2px;height:18px;bottom:-30px;left:-1px}.br{bottom:0;right:0}.br:before{width:18px;height:2px;bottom:-1px;right:-30px}.br:after{width:2px;height:18px;bottom:-30px;right:-1px}.stage{justify-content:center;align-items:center;width:100%;min-width:0;min-height:220px;display:flex}.stage canvas,.stage img{aspect-ratio:1;width:100%;min-width:0;height:auto;image-rendering:pixelated;display:block}.grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:1rem .8rem;width:100%;min-width:0;display:grid}.grid figure{margin:0}.grid canvas{width:100%}.grid figcaption,.caption{color:var(--quiet);overflow-wrap:anywhere;margin:.45rem 0 0;font-size:.95rem}.grid figcaption{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty{max-width:22ch;color:var(--quiet);margin:0}.stage .empty{text-align:center}.actions{flex-wrap:wrap;gap:.6rem;display:flex}.actions button,.button{border:1.5px solid var(--ink);background:var(--ink);min-height:44px;color:var(--white);font:inherit;cursor:pointer;align-items:center;padding:.55rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.actions button.secondary,.button.secondary{color:var(--ink);background:0 0}.actions button:hover,.button:hover{color:var(--white);background:#000}.actions button:disabled{cursor:progress;opacity:.55}.status{max-width:42ch;color:var(--quiet);margin:.8rem 0 0}.status:empty{margin:0}.kind{margin-top:1.5rem}.choices{gap:.75rem;display:grid}.choice{border:1.5px solid var(--ink);background:var(--white);cursor:pointer;grid-template-columns:1.25rem 1fr;align-items:start;gap:.25rem .75rem;padding:.85rem .95rem .9rem;display:grid;position:relative}.choice input{width:1.15rem;height:1.15rem;accent-color:var(--ink);grid-area:1/1;margin-top:.2rem}.choice-title{font-family:var(--font-syne), "Avenir Next", sans-serif;letter-spacing:-.03em;grid-column:2;font-size:1.2rem;font-weight:700;line-height:1.15}.choice-copy{color:var(--quiet);grid-column:2;font-size:1rem;line-height:1.4}.choice:has(input:checked):before{content:"";background:var(--reg);width:3px;position:absolute;top:-1.5px;bottom:-1.5px;left:-1.5px}.choice:has(input:focus-visible){outline:2px solid var(--warn);outline-offset:3px}.text-input,.hex-input{border:none;border-bottom:1.5px solid var(--ink);width:100%;min-height:44px;font:inherit;color:inherit;background:0 0;padding:.4rem 0;display:block}.hex-input{width:7.5rem}.optional{color:var(--quiet);font-weight:400}.button.create{margin-top:1rem}.color-field{gap:.4rem;display:grid}.color-label{font-weight:700}.color-controls{align-items:center;gap:.6rem;display:flex}.preview-title{max-width:none;font-family:var(--font-syne), "Avenir Next", sans-serif;letter-spacing:-.04em;margin:0 0 2.4rem;font-size:1.35rem;font-weight:700;line-height:1}.preview-title:focus{outline:none}.preview-title:focus-visible{outline:2px solid var(--warn);outline-offset:3px}.edit-box{gap:.35rem;max-width:42rem;margin-top:1rem;display:grid}.edit-box label,.edit-form .field{font-weight:700}.edit-form{max-width:38rem;margin-top:1.5rem}.code-list{margin:1.5rem 0 0;padding:0;list-style:none}.code-list li+li{margin-top:1.6rem}.code-list h2{max-width:22ch;font-family:var(--font-syne), "Avenir Next", sans-serif;letter-spacing:-.04em;margin:0 0 .35rem;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;line-height:1.05}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.prose{max-width:42rem;margin-top:3rem}.prose h2{max-width:22ch}.prose h2,.guide-list h2{font-family:var(--font-syne), "Avenir Next", sans-serif;letter-spacing:-.04em;margin:2rem 0 .55rem;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;line-height:1.05}.prose h3{margin:1.4rem 0 .3rem;font-size:1.15rem}.prose p,.prose li,.guide-list p{max-width:62ch}.guide-list{margin:1.5rem 0 0;padding:0;list-style:none}.guide-list li+li{margin-top:1.3rem}:focus-visible{outline:2px solid var(--reg);outline-offset:3px}@media (min-width:801px){.proof{position:sticky;top:1.25rem}.solo-proof{position:static}}@media (max-width:800px){.work{grid-template-columns:1fr;gap:.5rem}.proof{padding:2.1rem 2.1rem 0 2rem}h1{max-width:12ch}}@media (prefers-reduced-motion:reduce){.proof-frame{animation:none}}@media (prefers-contrast:more){:root{--quiet:#1c1915;--rule:#1c1915}.choice,.proof-frame,textarea,select,input[type=color]{border-width:2px;border-color:#1c1915}}@keyframes settle{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
