:root{--row:28px;--paper:#f3efe4;--paper-dark:#0d0a03;--on-paper-dark:#fefaed;--paper-red:#de5331;--paper-yellow:#dab43d;--paper-green:#479549;--on-paper-green:#0d0a03;--on-paper-yellow:#1a170e;--on-paper-red:#fefaed;--ink-0:#1f1d1a;--green:#3f8f72;--red:#c24a3c;--blue:#4a68ad;--green-rule:color-mix(in oklch, var(--green) 38%, transparent);--red-rule:color-mix(in oklch, var(--red) 55%, transparent);--blue-rule:color-mix(in oklch, var(--blue) 35%, transparent);--ground:#eee9dc;--ink:#22201c;--accent:#3f8f72;--rule:#777;--highlight:#172c4f;--on-highlight:#eee9dc;--hair:color-mix(in oklch, var(--ink) 70%, transparent);--rail:calc(var(--row) * 2);--serif:"Libertinus Serif", ui-serif, Georgia, serif;--display:"Valley Sans", "Libertinus Serif", ui-serif, Georgia, serif;--sans:"Valley Sans", "Libertinus Sans", ui-sans-serif, system-ui, sans-serif;--mono:"Obel Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--measure:1176px;--gutter:var(--row)}::selection{background:var(--highlight);color:var(--on-highlight)}html{overflow-x:clip}html,html:has(body>.rail-left){scrollbar-color:var(--ground) var(--highlight)}.folder-sheet,.sheet,.start-code{--pp:var(--highlight);--pp-text:var(--on-highlight);--ink-0:var(--pp-text);--green:color-mix(in oklch, var(--pp-text) 72%, var(--pp));--red:var(--pp-text);--blue:color-mix(in oklch, var(--pp-text) 80%, var(--pp));--green-rule:color-mix(in oklch, var(--pp-text) 28%, transparent);--red-rule:color-mix(in oklch, var(--pp-text) 60%, transparent);--blue-rule:color-mix(in oklch, var(--pp-text) 28%, transparent);--hair:color-mix(in oklch, var(--pp-text) 60%, transparent);--sh-identifier:var(--pp-text);--sh-keyword:var(--pp-text);--sh-class:var(--pp-text);--sh-entity:var(--pp-text);--sh-jsxliterals:var(--pp-text);--sh-property:color-mix(in oklch, var(--pp-text) 85%, var(--pp));--sh-string:color-mix(in oklch, var(--pp-text) 72%, var(--pp));--sh-sign:color-mix(in oklch, var(--pp-text) 55%, var(--pp));--sh-comment:color-mix(in oklch, var(--pp-text) 50%, var(--pp));background-color:var(--pp)}.sheet-cream,.start-code,.sheet-palette{--pp:var(--paper-dark);--pp-text:var(--on-paper-dark)}.sheet-lilac{--pp:var(--paper-red);--pp-text:var(--on-paper-red)}.sh__token--keyword{font-weight:700}.out,.call,.ledger td.no{font-variant-numeric:lining-nums}.brand,.claim,.section-head h2,.sheet h3,.principles dt{font-family:var(--display);font-weight:600}*,:before,:after{box-sizing:border-box}html{background:var(--ground);color:var(--ink);transition:background-color .5s,color .5s}body{padding:0 var(--rail);font-family:var(--sans);font-size:var(--size-body,19px);line-height:var(--row);-webkit-font-smoothing:antialiased;font-kerning:normal;font-variant-numeric:oldstyle-nums;margin:0;container-type:inline-size}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}code,pre{font-family:var(--mono);font-variant-numeric:lining-nums}.rail{width:var(--rail);z-index:10;font-family:var(--mono);font-variant-numeric:lining-nums;pointer-events:none;color:var(--on-highlight);background:var(--highlight);font-size:9px;line-height:1;position:fixed;top:0;bottom:0}.rail-left{left:0}.rail-right{right:0}.rail-scale{top:calc(var(--row) * 2);bottom:calc(var(--row) * 6);position:absolute;left:0;right:0}.tick{background:currentColor;height:1px;position:absolute}.tick.minor{opacity:.6;width:4px}.tick.major{width:9px}.rail-left .tick{right:0}.rail-right .tick{left:0}.rail .num{opacity:.8;position:absolute;transform:translateY(-50%)}.rail-left .num{right:13px}.rail-right .num{left:13px}.rail-legend{bottom:var(--row);writing-mode:vertical-rl;font-family:var(--mono);white-space:nowrap;opacity:.75;font-size:10px;position:absolute;left:50%;transform:translate(-50%)rotate(180deg)}.marks{position:absolute;inset:0}.rail .mark{transition:top .5s;position:absolute;transform:translateY(-50%)}.rail-left .mark.pool{box-sizing:border-box;border:1px solid color-mix(in oklch, currentColor 60%, transparent);border-radius:0;width:6px;height:6px;left:6px;transform:translateY(-50%)rotate(45deg)}.rail-left .mark.ground,.rail-left .mark.ink,.rail-right .mark.ratio{background:currentColor;height:1px}.rail-left .mark.ground,.rail-left .mark.ink{left:4px;right:0}.rail-left .mark.ground:before,.rail-left .mark.ink:before{content:"";background:var(--c);border:1px solid;width:9px;height:9px;position:absolute;top:-5px;left:0}.rail-left .mark[data-label]:after,.rail-right .mark[data-label]:after{left:11px}@keyframes roll{0%{opacity:0;transform:translateY(-.35em)}}.sheet-graph{--tab-left:calc(var(--row) * 14);--pp:var(--paper-yellow);--pp-text:var(--on-paper-yellow)}:root{--page:var(--ground);--page-ink:var(--ink)}.section.start{--ground:var(--highlight);--ink:var(--on-highlight);--hair:color-mix(in oklch, var(--on-highlight) 70%, transparent);color:var(--ink);padding-bottom:calc(var(--row) * 4);margin-bottom:0;position:relative}.section.start .rule-title{--rule-color:color-mix(in oklch, var(--page-ink) 70%, transparent)}.section.start:before{content:"";z-index:-1;background:var(--ground);border-inline:1px solid var(--hair);box-sizing:border-box;width:100cqw;position:absolute;top:0;bottom:0;left:calc(50% - 50cqw)}@media (width<=860px){.section-head,.principles>div,.start-grid{gap:var(--row);grid-template-columns:1fr}.sheets,.palette-body{grid-template-columns:1fr}.poline-panel{max-width:320px;position:static}.sheet+.sheet{margin-left:calc(var(--row) / 2);margin-top:calc(var(--row) * -.5)}}@media (width<=640px){body{font-size:17px}:root{--rail:0px}.rail{display:none}.hero{padding-top:calc(var(--row) * 4)}.claim .call,.claim .out{white-space:normal}.claim{font-size:28px}.folder-tab{padding:0 10px 0 18px;font-size:13px}.folder-tab:after{left:7px}.sheet-palette{--tab-left:0px}.ledger thead{display:none}.ledger,.ledger tbody{width:100%;display:block}.ledger tbody tr{grid-template-columns:calc(var(--row) * 1.5) minmax(0, 1fr) auto;box-shadow:inset 0 -1px 0 var(--lg-rule);display:grid}.ledger tbody tr>*{height:auto;min-height:var(--row);box-shadow:none;border-left:0;display:block}.ledger td.no{grid-row:span 2;padding:0 6px 0 0}.ledger td.key{grid-column:2}.ledger td.val{grid-column:3;min-width:7.5em}.ledger td.rule,.ledger td:nth-child(3):not(.val){white-space:normal;overflow-wrap:anywhere;grid-area:2/2/auto/-1;padding-bottom:6px}.ledger tr.group th,.ledger tbody tr>[colspan]{grid-column:1/-1}.sheet+.sheet{margin:var(--row) 0 0}.sheet-rules{--tab-left:92px}.sheet-sizes{--tab-left:160px}.sheet-graph{--tab-left:228px}.ledger tbody tr{border-bottom:1px solid var(--lg-rule)}}@media (prefers-reduced-motion:reduce){html,.chip,.pill,.mark{transition:none!important}}.palette-body{grid-template-rows:auto 1fr}.palette-body>figure{grid-row:1/span 2}.palette-body>.ledger-fill{table-layout:fixed;grid-column:2;height:100%}.ledger-fill td{height:auto;box-shadow:none;background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--row) - 1px), var(--lg-rule) calc(var(--row) - 1px) var(--row));padding:0}@media (width<=860px){.palette-body>figure{grid-row:auto}.palette-body>.ledger-fill{display:none}}.rail .mark[data-label]:after{content:attr(data-label);background:var(--highlight);font-family:var(--mono);color:var(--on-highlight);white-space:nowrap;padding:1px 2px;font-size:9px;line-height:1;position:absolute;top:0;transform:translateY(-50%)}.rail-left .mark[data-label]:after,.rail-right .mark[data-label]:after{left:11px}.rail-right .mark.ratio{left:0;right:4px}.rail-right .mark.ratio:before{content:"";border:4px solid #0000;border-left-width:0;border-right-color:currentColor;position:absolute;top:-4px;right:-4px}.chip{border-radius:50%}.rail-left .mark.ground:before,.rail-left .mark.ink:before{border-radius:0;transform:rotate(45deg)}.hero{min-height:100dvh;max-width:var(--measure);margin:0 auto calc(var(--row) * 2);padding:calc(var(--row) * 3) var(--gutter) calc(var(--row) * 3);text-align:left;flex-direction:column;justify-content:flex-end;align-items:flex-start;display:flex;position:relative}.claim{letter-spacing:-.02em;text-wrap:pretty;max-width:min(29em,100%);margin:0;font-size:clamp(30px,4vw,54px);font-weight:600;line-height:1.2}.out{white-space:nowrap;font-family:inherit}.out.missing .hex{font-style:normal}.chip{vertical-align:.02em;border:1px solid color-mix(in oklch, var(--ink) 70%, transparent);width:.62em;height:.62em;margin-right:.18em;transition:background-color .5s;display:inline-block}.call{white-space:nowrap;color:inherit;background:0 0;margin:0 0 0 -.22em;padding:0 .22em;font-family:inherit}.call:has(.pill:hover),.call:has(.pill:focus-visible){color:var(--on-highlight);background:var(--highlight)}.call .pill{background:0 0;margin:0;padding:0}.paren,.arg{opacity:.75}.pill{font:inherit;color:inherit;cursor:pointer;text-underline-offset:.16em;background:0 0;border:0;margin:0 -.32em;padding:0 .32em;text-decoration:underline 1px;display:inline-block}.pill.words{text-align:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;margin:0 -.28em;padding:.02em .28em;display:inline}.pill:hover,.pill:focus-visible{color:var(--on-highlight);background:var(--highlight);outline:none}.call .pill:hover,.call .pill:focus-visible{background:0 0}.pill.rolled{animation:.32s cubic-bezier(.2,.8,.2,1) roll}.fn-icon{vertical-align:.04em;fill:none;stroke:currentColor;stroke-width:1px;width:.62em;height:.62em;margin-right:.22em;display:inline-block;overflow:visible}.fn-icon *,.fn-icon .fill{fill:currentColor}.brand{margin:calc(var(--row) * 2) 0 0;font-size:clamp(22px,2.2vw,30px);line-height:var(--row);color:var(--highlight)}.hero-foot{align-items:center;gap:var(--row);flex-direction:column;margin-top:0;display:flex}.install{z-index:11;--on-install:var(--on-highlight);width:max-content;color:var(--on-install);background:var(--highlight);box-shadow:none;border:0;align-items:stretch;margin-left:auto;font-size:14px;display:flex;position:sticky;bottom:0}.install code{padding:0 var(--row) 0 12px;line-height:calc(var(--row) * 1.5)}.prompt{opacity:.5;margin-right:.4em}.copy{font:15px var(--sans);color:inherit;border:0;border-left:1px solid color-mix(in oklch, var(--on-install) 45%, transparent);cursor:pointer;background:0 0;padding:0 14px}.copy:hover{background:color-mix(in oklch, var(--on-install) 16%, transparent)}.section{max-width:var(--measure);margin:0 auto calc(var(--row) * 6);padding:0 var(--gutter)}.section-head{margin-bottom:calc(var(--row) * 2)}.section-head h2{text-wrap:balance}.section-head p{max-width:34em;margin-top:0;margin-bottom:0}:root{--rule-color:var(--hair)}.folder{padding-top:calc(var(--row) * 1.5)}.sheet-palette{--tab-left:0px}.sheet-rules{--tab-left:calc(var(--row) * 5)}.sheet-sizes{--tab-left:calc(var(--row) * 9.5)}.sheet-graph{--tab-left:calc(var(--row) * 14);--pp:var(--paper-yellow);--pp-text:var(--on-paper-yellow)}.sheet-sizes{--pp:var(--paper-green);--pp-text:var(--on-paper-green)}.graph-body{padding:var(--row);--c-surface:var(--pp);--c-surface-on:var(--pp-text);--c-surface-on-alt:color-mix(in oklch, var(--pp-text) 55%, var(--pp));--font-mono:var(--mono);--active-outline:var(--highlight)}.graph svg{width:100%;height:auto;max-height:calc(var(--row) * 26);display:block}.graph-note{margin:var(--row) 0 0 var(--inset);font-family:var(--mono);font-size:var(--size-small,11px);opacity:.7}.source-view[hidden]{display:none}.hand-swatches{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:calc(var(--row) * 2);gap:0;display:grid}.hand-swatches>.hand-swatch{--hand-line:color-mix(in oklch, var(--pp-text) 35%, transparent);height:100%;display:block}.hand-swatch::part(trigger){width:100%;height:100%}.hand-swatch::part(chip){box-shadow:none}.hand-swatch::part(input){display:none}.hand-swatches>:not(:nth-child(4n+1))::part(chip){box-shadow:inset 1px 0 0 var(--hand-line)}.hand-swatches>:nth-child(n+5)::part(chip){box-shadow:inset 0 1px 0 var(--hand-line)}.hand-swatches>:nth-child(n+5):not(:nth-child(4n+1))::part(chip){box-shadow:inset 1px 1px 0 var(--hand-line)}.ramp-strip{height:calc(var(--row) * 5);display:flex}.ramp-strip i{flex:1}.ramp-hue{height:var(--row);margin-top:var(--row);font-family:var(--mono);font-size:var(--size-small,11px);align-items:center;gap:10px;display:flex}.ramp-hue input{accent-color:var(--pp-text);flex:1}.source-switch{margin:0}.source-switch button{height:var(--row);min-height:0;padding-block:0}.poline-panel figcaption span#source-hint{margin-top:var(--row);display:block}.source-pill{padding:0 .25em}.curve-panel{margin:0}.curve-panel svg{touch-action:none;width:100%;display:block;overflow:visible}.poline-panel figcaption,.curve-panel figcaption{margin-top:var(--row);font-family:var(--mono);font-style:normal;font-size:var(--size-small,11px);line-height:var(--row)}.poline-panel figcaption b,.curve-panel figcaption b{font-weight:700;font-size:inherit}.ledger tr.group th{padding:0 14px 0 calc(var(--row) * 2 + 14px);text-align:left;border-right:0}.ledger .size-bar{vertical-align:middle;background:currentColor;height:6px;margin-right:10px;display:inline-block}.ledger td.val:has(.size-bar){padding-left:14px}.size-note{font-size:.75em}.palette-body{grid-template-columns:minmax(0,4fr) minmax(0,11fr);align-items:stretch;display:grid}.palette-body>figure{padding:var(--row)}.sheet-palette .palette-body{padding:0 calc(var(--row) * 1.25)}.palette-body>.ledger{border-left:1px solid var(--green-rule)}.sheet-palette{background-color:#0000}.poline-panel{margin:0}.poline-panel poline-picker{cursor:grab;touch-action:none;--poline-picker-line-color:var(--pp-text);--poline-picker-bg-color:var(--pp);--poline-picker-line-width:.5;width:100%;display:block}.ledger{font-size:16px}.ledger col.c-no{width:calc(var(--row) * 2)}.ledger col.c-key{width:22%}.ledger col.c-val{width:220px}.ledger th:first-child,.ledger td.no,.ledger code{font-size:var(--size-small,12px)}.ledger td.rule code{white-space:normal;overflow-wrap:anywhere}.ledger .chosen{font-family:var(--mono);font-size:var(--size-small,11px);color:color-mix(in oklch, var(--ink-0) 55%, transparent)}.ledger tr.is-value+tr.is-rule td{border-top:1px solid var(--red-rule)}.ledger .err{color:var(--red);cursor:help;font-style:normal}.ledger color-input{cursor:pointer;font-size:13px;display:inline-flex}.ledger tr.changed td.no{color:var(--pp);background:var(--pp-text)}.sheets{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.sheet{color:var(--ink-0);min-width:0;padding:0 var(--row) var(--row);background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--row) - 1px), var(--sheet-line) calc(var(--row) - 1px) var(--row));background-position:0 calc(var(--row) * 3);background-repeat:repeat-y;position:relative}.sheet.is-cut:not(.is-open){--tooth:10px;max-height:calc(var(--row) * 19);cursor:pointer;-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / calc(var(--tooth) * 2) var(--tooth) repeat-x;mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / calc(var(--tooth) * 2) var(--tooth) repeat-x;overflow:hidden}.sheet.is-cut.is-open header{cursor:pointer}.sheet.is-cut:focus-visible{outline:1px solid var(--ink);outline-offset:3px}.sheet+.sheet{margin-left:calc(var(--row) * -1)}.sheet-mint{--sheet-line:var(--green-rule);z-index:1;margin-top:0}.sheet-cream{--sheet-line:var(--green-rule);margin-top:var(--row);z-index:2}.sheet-lilac{--sheet-line:var(--blue-rule);margin-top:calc(var(--row) * 2);z-index:3}.sheet:before{content:"";top:0;bottom:0;left:calc(var(--row) / 2);border-left:3px double var(--red-rule);position:absolute}.sheet.holes-left:before{content:none}.sheet header{height:calc(var(--row) * 3);border-bottom:3px double var(--sheet-line);margin:0 calc(var(--row) * -1);padding-bottom:6px;padding-left:var(--row);padding-right:var(--row);background-color:inherit;flex-direction:column;justify-content:flex-end;display:flex;position:relative}.sheet h3{font-size:var(--size-subhead,22px);line-height:max(var(--row), 1.2em);margin:0}.sheet header span{opacity:.7;font-size:14px;font-style:normal;line-height:20px}.sheet pre{font-size:var(--size-small,11.5px);line-height:var(--row);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.prose-rules{margin:0;padding:0;font-size:17px;list-style:none}.prose-rules li{line-height:var(--row);margin-bottom:var(--row)}.prose-rules .chip{border-color:var(--hair);width:12px;height:12px;margin:0 0 0 4px}.sheets-note{max-width:40em;margin:calc(var(--row) * 2) 0 0;font-size:17px}.sheets-note code,.principles code{font-size:.72em}.principles{margin:0}.ruled-list>*+*{border-top:1px solid var(--green-rule)}.principles>div{gap:calc(var(--row) * 2);padding:calc(var(--row) / 2) 0;grid-template-columns:minmax(0,5fr) minmax(0,6fr);display:grid}.principles dt{font-size:var(--size-subhead,22px)}.principles dd{max-width:34em;margin:0}.start-grid{gap:calc(var(--row) * 2);grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:start;display:grid}.sheet.holes-left{padding-left:calc(var(--row) * 1.75)}.start-code{color:var(--ink-0);padding:var(--row) var(--row) var(--row) calc(var(--row) * 2);background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--row) - 1px), var(--green-rule) calc(var(--row) - 1px) var(--row));background-position:0 var(--row);font-size:var(--size-small,12px);line-height:var(--row);margin:0;overflow-x:auto}.start-links{margin:0;padding:0;list-style:none}.start-links li{padding:calc(var(--row) / 2) 0}.start-links a{font-size:22px;display:block}.start-links span{opacity:.75;font-size:15px;font-style:normal;display:block}.imprint{--imprint-bg:var(--highlight);--imprint-ink:var(--on-highlight)}@media (width<=860px){.section-head,.principles>div,.start-grid{gap:var(--row);grid-template-columns:1fr}.sheets,.palette-body{grid-template-columns:1fr}.poline-panel{max-width:320px;position:static}.sheet+.sheet{margin-left:calc(var(--row) / 2);margin-top:calc(var(--row) * -.5)}}@media (width<=640px){body{font-size:17px}:root{--rail:0px}.rail{display:none}.hero{padding-top:calc(var(--row) * 4)}.claim .call,.claim .out{white-space:normal}.claim{font-size:28px}.folder-tab{padding:0 10px 0 18px;font-size:13px}.folder-tab:after{left:7px}.sheet-palette{--tab-left:0px}.ledger thead{display:none}.ledger,.ledger tbody{width:100%;display:block}.ledger tbody tr{grid-template-columns:calc(var(--row) * 1.5) minmax(0, 1fr) auto;box-shadow:inset 0 -1px 0 var(--lg-rule);display:grid}.ledger tbody tr>*{height:auto;min-height:var(--row);box-shadow:none;border-left:0;display:block}.ledger td.no{grid-row:span 2;padding:0 6px 0 0}.ledger td.key{grid-column:2}.ledger td.val{grid-column:3;min-width:7.5em}.ledger td.rule,.ledger td:nth-child(3):not(.val){white-space:normal;overflow-wrap:anywhere;grid-area:2/2/auto/-1;padding-bottom:6px}.ledger tr.group th,.ledger tbody tr>[colspan]{grid-column:1/-1}.sheet+.sheet{margin:var(--row) 0 0}.sheet-rules{--tab-left:92px}.sheet-sizes{--tab-left:160px}.sheet-graph{--tab-left:228px}.ledger tbody tr{border-bottom:1px solid var(--lg-rule)}}@media (prefers-reduced-motion:reduce){html,.chip,.pill,.mark{transition:none!important}}.ledger tr.group th:first-child{font-size:inherit;font-family:inherit}.palette-body>table{align-self:start}.palette-body>table:has(.ledger-fill){align-self:stretch}.ledger .ledger-fill{height:100%}.ledger .ledger-fill td{height:auto;box-shadow:none;background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--row) - 1px), var(--lg-rule) calc(var(--row) - 1px) var(--row));padding:0}.rail .mark[data-label]:after{font-style:normal}.claim .hash{vertical-align:baseline;margin-right:.05em;font-size:.6em;font-weight:700;transition:color .5s}.install-bar{--install-bg:var(--highlight);--install-ink:var(--on-highlight);box-shadow:inset 0 1px 0 color-mix(in oklch, var(--on-highlight) 70%, transparent)}.hero{--first-inset:calc(max(0px, (100% - var(--measure)) / 2) + var(--gutter))}
